Forum Discussion
¿Se puede convertir este SQL a DAX?
Hola @Bokazoit - Sí, es posible pero con ligeras modificaciones en su código sql
ya que no admitirá DECLARE En su lugar, definimos directamente las variables usando VAR.
Emulamos la funcionalidad de la cláusula WITH mediante el uso de DEFINE para definir tablas y medidas calculadas. para realizar group by usaremos la función SUMMARIZE para agrupar los datos y calcular agregados en función de las medidas definidas.
Puede definir una tabla calculada para FirstSubscription utilizando los mismos parámetros de fecha.
DEFINIR
VAR StartingDate = DATE(2020, 10, 01)
VAR FechaFinalización = HOY()
EVALUAR
FILTRO (
ADDCOLUMNS (
SUMMARIZECOLUMNS (
'Datos del miembro'[DonorNumber],
'Datos de miembro'[DateKeyStoettePeriod]
),
"@BetalingsNr", CALCULATE(COUNTROWS('Datos del miembro'), 'Datos del miembro'[PayNumber] = 1),
"@AbonnementsNr", CALCULATE(COUNTROWS('Datos de miembro'), 'Datos de miembro'[Nº de suscripción] = 1),
"@BetalingsmetodeKey", VALUES('Datos del miembro'[Método de pago]),
"@St øttetypeKey", VALUES('Member Data'[Support TypeKey])
),
[@BetalingsNr] = 1
&& [@AbonnementsNr] = 1
&& NOT ( [@BetalingsmetodeKey] IN { -1, -24 } )
&& [@St øttetypeKey] IN { 24, 25, 26 }
&& 'Datos del miembro'[DateKeyStoettePeriod] >= StartingDate
&& 'Datos de miembro'[DateKeyStoettePeriod] <= FechaFinalización
)
Defina una medida para calcular pcs:
DEFINIR
MEDIDA 'Medlemsdata'[pcs] =
COUNTROWS(
FILTRO(
«Medlemsdata»,
'Medlemsdata'[DonorNummer] IN VALUES('Medlemsdata'[DonorNummer])
)
)
calcule una medida para calcular la cantidad de la siguiente manera:
DEFINIR
MEDIDA 'Medlemsdata'[Cantidad] =
SUMX(
«Medlemsdata»,
'Medlemsdata'[#Bogført betalt beløb]
)
EVALUAR
RESUMIR(
«Datos de los miembros»,
'Datos del miembro'[DonorNumber],
'Datos de los miembros' [Tipo de soporte],
"pcs", [pcs],
"Cantidad", [Cantidad]
)
ORDENAR POR
'Datos de los miembros'[DonorNumber]
verifique el código Dax anterior y hágaselo saber
¿He respondido a tu pregunta? ¡Marca mi publicación como una solución! ¡Esto ayudará a otros en el foro!
¡Agradezco sus felicitaciones!
Cuando introduzco su código, dice que la sintaxis de DEFINE es incorrecta.