rrhutch
Estoy haciendo la transición de Tablau a PowerBI y tengo problemas para escribir una nueva declaración de columna en DAX. Mi declaración en Tableau funciona de manera similar a Excel y dice lo siguiente:
SI ([App Status]=»CA» O [App Status]=»AR» O [App Status]=»AM» O [App Status]=»ACOM») ENTONCES «Y» ELSEIF ([App Status] = «Puede» O [App Status] = «Def» O [App Status] = «No Con» O [App Status] = «W») Y [App Status Date]<=[SumDate] ENTONCES "N" MÁS "Y" FIN
Probé la sintaxis, incluida la declaración OR en el exterior, pero dio un error. Además, no estaba claro sobre las capacidades de ElseIf.
Cualquier ayuda sería muy apreciada.
konstantinos
@rrhutch Como @Dan80 mencionó que la sintaxis DAX es diferente O es || y AND es && para más de dos condiciones, además debe agregar un punto y coma o una coma según la configuración del delimitador de región como Excel.
IFDAX = IF ( [App Status] = "AC" || [App Status] = "AR" || [App Status] = "AM" || [App Status] = "ACOM"; "Y"; IF ( [App Status] = "Can" || [App Status] = "Def" || [App Status] = "NoCon" || [App Status] = "W" && [App Status Date] <= [SumDate]; "N"; "Y" ) )
O una fórmula mejor para IF anidado es SWITCH
SWITCHDAX = SWITCH ( TRUE; [App Status] = "AC" || [App Status] = "AR" || [App Status] = "AM" || [App Status] = "ACOM"; "Y"; [App Status] = "Can" || [App Status] = "Def" || [App Status] = "NoCon" || [App Status] = "W" && [App Status Date] <= [SumDate]; "N"; "Y" )
Le sugiero que verifique las definiciones del lenguaje de fórmulas DAX, al menos al principio
konstantinos
@rrhutch Como @Dan80 mencionó que la sintaxis DAX es diferente O es || y AND es && para más de dos condiciones, además debe agregar un punto y coma o una coma según la configuración del delimitador de región como Excel.
IFDAX = IF ( [App Status] = "AC" || [App Status] = "AR" || [App Status] = "AM" || [App Status] = "ACOM"; "Y"; IF ( [App Status] = "Can" || [App Status] = "Def" || [App Status] = "NoCon" || [App Status] = "W" && [App Status Date] <= [SumDate]; "N"; "Y" ) )
O una fórmula mejor para IF anidado es SWITCH
SWITCHDAX = SWITCH ( TRUE; [App Status] = "AC" || [App Status] = "AR" || [App Status] = "AM" || [App Status] = "ACOM"; "Y"; [App Status] = "Can" || [App Status] = "Def" || [App Status] = "NoCon" || [App Status] = "W" && [App Status Date] <= [SumDate]; "N"; "Y" )
Le sugiero que verifique las definiciones del lenguaje de fórmulas DAX, al menos al principio
rrhutch
En respuesta a konstantinos
Gracias. Eso fue útil.
Dan80
Las funciones OR y AND en DAX tienen un límite de solo 2 condiciones, por lo que para evitar el problema, en lugar de usar OR, use | carácter y AND usa &&. Estos le permiten utilizar más de 2 condiciones. ¿Espero que esto ayude?