Forum Discussion
Convertir consulta SQL en expresión DAX
- 6 years ago
@pshetty05 , Pruebe una nueva columna como
QUALITY_CHECK de la casa de los
interruptor ( true(),
(([CLIENT_STATUS] á "SH" á not(isblank([PARTICIPANT_STATUS]))) && ([LAD_EMAIL_OPEN].date > today() -371))
([CLIENT_STATUS] <> "SH" && isblank([PARTICIPANT_STATUS]) && ([LAD_EMAIL_OPEN].date > today() -186)) ,
'PASS' , 'FAIL' )
Como ya ha sugerido @Greg_Deckler, podría obtener mejores respuestas si describe lo que está tratando de lograr, ya que no todos en este foro están bien versados en SQL y DAX, por lo que los expertos de DAX pueden incluso ser capaces de encontrar una manera más eficiente de resolver que sólo una traducción directa.
No soy fuerte en Oracle, pero siempre dispuesto a estirar mi cerebro, así que aquí está mi mejor intento de una traducción directa.
Esto parece una sola instrucción case, por lo que podría usar una función IF() aquí en lugar de SWITCH, pero no conozco sus requisitos completos y SWITCH es el equivalente DAX más cercano a CASE, IF() sería el DAX para IIF en SQL, así que me he mantenido fiel a su código SQL aquí.
¿Tampoco entiendo completamente sus requisitos de fecha y por qué necesita truncar? ¿Puede utilizar el valor de fecha y hora completo y cambiar el número de días que resta de él? También puede querer/necesitar utilizar la función NOW() en su lugar o incluso puede ser capaz de simplificar esto aún más, por lo que si puede explicar el razonamiento podemos proporcionar un mejor soporte.
COMPROBACIÓN DE LA CALIDAD DE LA CALIDAD DE LA CALIDAD
Interruptor (
Verdad (),
(
(
tabla[CLIENT_STATUS] "SH"
|| No ( ISBLANK ( tabla[PARTICIPANT_STATUS] ) )
)
&& (
Fecha ( año ( tabla[LAD_EMAIL_OPEN] ), Mes ( tabla[LAD_EMAIL_OPEN] ), Día ( tabla[LAD_EMAIL_OPEN] ) )
> Hoy () - 371
)
)
|| (
tabla[CLIENT_STATUS] <> "SH"
&& ISBLANK ( tabla[PARTICIPANT_STATUS] )
&& (
Fecha ( año ( tabla[LAD_EMAIL_OPEN] ), Mes ( tabla[LAD_EMAIL_OPEN] ), Día ( tabla[LAD_EMAIL_OPEN] ) )
> Hoy () - 186
)
), "PASO",
"FALLO"
)
@AllisonKennedy ¡Gracias! Esta lógica también sirve a mi propósito. Tendré presente que es más preciso al publicar una nueva pregunta 🙂