Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
3 years ago

SQL a DAX

¿Cómo convierto esto de SQL a formato DAX?

CASO
CUANDO dp.payment_status IN ('Aprobado', 'PaidInFull') THEN 0
ELSE fp.revenue_amount_{{currency}}
TERMINAR COMO booking_amount,
CASO
CUANDO dp.payment_status EN ('Aprobado', 'PaidInFull') ENTONCES fp.revenue_amount_{{currency}}
ELSE 0
TERMINAR COMO payment_amount,

3 Replies

  • @Ghazaleh ¿Cuál es la cláusula FROM de la instrucción SQL y cómo se relacionan las tablas fp y dp en Power BI?

    Una instrucción CASE es básicamente una función SWITCH en DAX o una columna condicional en Power Query.

    Uso

    Booking_amount =

    SWITCH ( TRUE(),

    dp.payment_status EN {«Aprobado», 'PaidInFull'} , 0,

    fp.revenue_amount_{{moneda}}

    )

    Pero tendrá que limpiar la sintaxis y los nombres de tabla.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      El estado del pago proviene de una tabla diferente (DP) y el monto de los ingresos proviene de (FP). Aprobado y PagadoInfull son valores en las columnas Estado de pago. ¿Cómo puedo usar la función "relacionada" en esta declaración de caso para extraer estas variables de ambas tablas?

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Administrator

        @Ghazaleh

        La función RELATED requiere que exista una relación entre la tabla actual y la tabla con información relacionada. Si no existe una relación entre "fp" y "dp", debe crear una relación. Puede crear una relación en su columna común, por ejemplo, ID de pedido, ID de pago...

        Luego, si desea agregar dos columnas en "fp", puede probar el siguiente DAX. Es posible que deba corregir los nombres de tabla y columna.

        booking_amount =
        IF (
            RELATED ( 'dp'[payment_status] ) IN { "Approved", "PaidInFull" },
            0,
            'fp'[revenue_amount_]
        )
        
        payment_amount =
        IF (
            RELATED ( 'dp'[payment_status] ) IN { "Approved", "PaidInFull" },
            'fp'[revenue_amount_],
            0
        )
        

        Saludos
        Equipo de Apoyo a la Comunidad _ Jing
        Si esta publicación ayuda, por favor acéptela como Solución para ayudar a otros miembros a encontrarla.