Forum Discussion

RonSwanson's avatar
RonSwanson
Frequent Visitor
6 years ago
Solved

Conversión de SQL a DAX

Hola expertos,

Buscando traducir lo siguiente en DAX, pero tengo poca experiencia. ¿Alguna idea? Gracias de antemano.

CASO CUANDO (25000 <
CASO CUANDO falta [ReSignedMembers] ENTONCES 0 ELSE [ReSignedMembers] END +
CASO CUANDO falta [ConversionMembers] ENTONCES 0 ELSE [ConversionMembers] END +
CASO CUANDO falta [NewMembers] ENTONCES 0 ELSE [NewMembers] END +
CASO CUANDO falta [MaintenanceMembers] ENTONCES 0 ELSE CASE CUANDO [MaintenanceMembers] < 0 THEN 0 ELSE [MaintenanceMembers] END END)
ENTONCES (25000) ELSE (
CASO CUANDO falta [ReSignedMembers] ENTONCES 0 ELSE [ReSignedMembers] END +
CASO CUANDO falta [ConversionMembers] ENTONCES 0 ELSE [ConversionMembers] END +
CASO CUANDO falta [NewMembers] ENTONCES 0 ELSE [NewMembers] END +
CASO CUANDO falta [MaintenanceMembers] ENTONCES 0 ELSE CASO CUANDO [MaintenanceMembers] < 0 THEN 0 ELSE [MaintenanceMembers] END END
) FIN
  • Hola @RonSwanson ,

    Todo el código dax puede gustar esto:

    A =
    IF (
        25000
            < IF ( ISBLANK ( [ReSignedMembers] ), 0, [ReSignedMembers] )
                + IF ( ISBLANK ( [ConversionMembers] ), 0, [ConversionMembers] )
                + IF ( ISBLANK ( [NewMembers] ), 0, [NewMembers] )
                + IF (
                    ISBLANK ( [MaintenanceMembers] ),
                    0,
                    IF ( [MaintenanceMembers] < 0, 0, [MaintenanceMembers] )
                ),
        25000,
        IF ( ISBLANK ( [ReSignedMembers] ), 0, [ReSignedMembers] )
            + IF ( ISBLANK ( [ConversionMembers] ), 0, [ConversionMembers] )
            + IF ( ISBLANK ( [NewMembers] ), 0, [NewMembers] )
            + IF (
                ISBLANK ( [MaintenanceMembers] ),
                0,
                IF ( [MaintenanceMembers] < 0, 0, [MaintenanceMembers] )
            )
    )

    Best Looks,
    Yingjie Li

    Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

5 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    @RonSwanson No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

    Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

    Las partes más importantes son:
    1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
    2. Salida esperada de los datos de muestra
    3. Explicación en palabras de cómo obtener de 1. a 2.

  • @RonSwanson, sería una combinación de switch true y si. Configurar un pequeño ejemplo

    Interruptor (true(),
    25000 < if(isblank( [ReSignedMembers] ) , 0 , [ReSignedMembers] ) +
    if(isblank( [ConversionMembers] ) , 0 , [ConversionMembers] ) +


    Trate de descansar
    CASO CUANDO falta [NewMembers] ENTONCES 0 ELSE [NewMembers] END +
    CASO CUANDO falta [MaintenanceMembers] ENTONCES 0 ELSE CASE CUANDO [MaintenanceMembers] < 0 THEN 0 ELSE [MaintenanceMembers] END END)
    ENTONCES (25000) ELSE (
    CASO CUANDO falta [ReSignedMembers] ENTONCES 0 ELSE [ReSignedMembers] END +
    CASO CUANDO falta [ConversionMembers] ENTONCES 0 ELSE [ConversionMembers] END +
    CASO CUANDO falta [NewMembers] ENTONCES 0 ELSE [NewMembers] END +
    CASO CUANDO falta [MaintenanceMembers] ENTONCES 0 ELSE CASO CUANDO [MaintenanceMembers] < 0 THEN 0 ELSE [MaintenanceMembers] END END
    )

  • v-yingjl's avatar
    v-yingjl
    Community Support

    Hola @RonSwanson ,

    Todo el código dax puede gustar esto:

    A =
    IF (
        25000
            < IF ( ISBLANK ( [ReSignedMembers] ), 0, [ReSignedMembers] )
                + IF ( ISBLANK ( [ConversionMembers] ), 0, [ConversionMembers] )
                + IF ( ISBLANK ( [NewMembers] ), 0, [NewMembers] )
                + IF (
                    ISBLANK ( [MaintenanceMembers] ),
                    0,
                    IF ( [MaintenanceMembers] < 0, 0, [MaintenanceMembers] )
                ),
        25000,
        IF ( ISBLANK ( [ReSignedMembers] ), 0, [ReSignedMembers] )
            + IF ( ISBLANK ( [ConversionMembers] ), 0, [ConversionMembers] )
            + IF ( ISBLANK ( [NewMembers] ), 0, [NewMembers] )
            + IF (
                ISBLANK ( [MaintenanceMembers] ),
                0,
                IF ( [MaintenanceMembers] < 0, 0, [MaintenanceMembers] )
            )
    )

    Best Looks,
    Yingjie Li

    Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.