Forum Discussion
Convertir SQL en DAX
Para convertir el código SQL a DAX, puede probar el siguiente enfoque:
Reemplace las cláusulas FROM y JOIN con una función FILTER que filtre las filas de las tablas relevantes en función de las condiciones de la cláusula WHERE.
Reemplace las cláusulas SELECT y COUNT con una función CALCULATE que cuente los distintos valores AccountNumber mediante la función DISTINCTCOUNT.
Esta es la medida DAX resultante:
Recuento de números de cuenta distintos =
CALCULAR(
DISTINCTCOUNT(dimAccount[AccountNumber]),
FILTRO(
factTable,
factTable[DateSk] = dimDate[DateSk]
&& dimDate[IsLastDayOfMonth] = 1
&& dimDate[DateKey] > "2020-11-30"
&& dimDate[DateKey] <= "2021-11-30"
&& ISBLANK(factTable[Venta])
&& factTable[IsDeleted] = FALSE
&& dimAccount[IsDeleted] = FALSO
),
FILTRO(
dimAccount,
dimAccount[AccountKey] = factTable[AccountKey]
&& dimAccount[DateSk] = factTable[DateSk]
)
)
Esta medida debería darle el mismo resultado que la consulta SQL.
Nota: Reemplacé ISNULL(F.Sale ,0) = 0 con ISBLANK(factTable[Sale]) ya que DAX no tiene una función ISNULL. En DAX, puede usar la función ISBLANK para comprobar si un valor es NULL o una cadena vacía.
¡Espero que esto ayude! Avíseme si tiene alguna pregunta o si necesita más ayuda.
Saludos
Esteban Tao
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.