Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Tengo cirugías #, promedio de cirugías de los últimos 12 meses, # de varianza, costo promedio por caso del mes actual, promedio del costo por caso de los últimos 12 meses. Estoy tratando de calcular el impacto $Amount de los volúmenes de cirugía y resumirlo por unidad operativa, luego por línea de servicio y seguí mis procedimientos. Ahora, hay dos escenarios aquí en los que uso la instrucción IF.
1. SI Cirugías # <> 0 y el promedio de cirugías de los últimos 12 meses <> 0, entonces Varianza# * Costo promedio por caso del mes actual
2. SI Cirugías # = 0 y el promedio de cirugías de los últimos 12 meses <> 0, entonces Varianza# * Promedio del costo por caso de los últimos 12 meses.
Cuando defino esto en el DAX, solo funciona el primer criterio. El segundo criterio no parece estar funcionando. Adjuntando el DAX a continuación,
$ Amt Impact due to Volumes =
var AvgCPC12months = SUMX(
SUMMARIZE(Surgeries,'Surgeries'[Operating Unit], 'Surgeries'[PrimaryService], 'Surgeries'[PrimaryProcedureDescription]), 'Surgeries'[Variances#] * 'CPC'[Last 12 months Avg CPC])
var AvgCPCCurrentMonth = SUMX(
SUMMARIZE(Surgeries,'Surgeries'[Operating Unit], 'Surgeries'[PrimaryService], 'Surgeries'[PrimaryProcedureDescription]), 'Surgeries'[Variances#] * 'CPC'[Avg Cost per Case])
RETURN
IF('Surgeries'[Surgeries#] = 0 && 'Surgeries'[Last 12 Months Avg#] <> 0, AvgCPC12months, AvgCPCCurrentMonth)
Cualquier ayuda será muy apreciada.
Solved! Go to Solution.
Encontré una solución. Creé una medida simple con la instrucción IF.
$ Amt Impact Criteria = IF('Surgeries'[Surgeries#] = 0 && 'Surgeries'[Last 12 Months Avg#] <> 0, 'Surgeries'[Variance#] * 'CPC'[Last 12 months Avg CPC], 'Surgeries'[Variance#] * 'CPC'[Avg Cost per Case])
Y luego modifiqué el DAX existente de la siguiente manera
$ Amt Impact due to Volumes = SUMX(SUMMARIZE(CALCULATETABLE(CALCULATETABLE('Surgeries', ALL(DimDate)), DATESINPERIOD('DimDate'[Date], MAX('DimDate'[Date]), -12, MONTH)), 'Surgeries'[DepartmentCenter], 'Surgeries'[PrimaryService], 'Surgeries'[PrimaryProcedureDescription]),'Surgeries'[$ Amt Impact Criteria])
¡Gracias a todos por su ayuda!
Probar:
Surgeries# = CALCULATE(DISTINCTCOUNT('Surgeries'[LogID]),'Surgeries'[LogID]<> "")
Si eso no replica el resultado, una alternativa es:
Surgeries# = CALCULATE(DISTINCTCOUNT('Surgeries'[LogID]),FILTER('Surgeries',NOT ISBLANK('Surgeries'[LogID]))
Esto debería ser capaz de resolver su problema de formato (y también acelerará los cálculos en comparación con la instrucción IF)
Las medidas que usted sugirió básicamente excluirán todas las cirugías NULAS. De hecho, los necesito en los datos para calcular el impacto negativo de la cantidad en dólares (Condición 2 como se menciona en la descripción anterior)
¿Cuál es el formato de su columna de cirugías? ¿Es texto? ¿Números?
Considere la posibilidad de agregar una función de cálculo + filtro. Así, por ejemplo,
CALCULATE([your measure], FILTER(Table, Table[Surgeries] <>""))
Probé CALCULATE('Cirugías'[$ Impacto total debido a los volúmenes], FILTER('Cirugías', 'Cirugías'[Cirugías#] <> ""))
Y recibí el siguiente mensaje de error,
Considere la posibilidad de poner su
'Surgeries'[Variances#] * 'CPC'[Avg Cost per Case]
como primera variable.
¿Podría mostrarnos cuál es el resultado que le está dando ahora, y cuál debería ser el resultado esperado?
Intenté agregar eso como primera variable. Este es el resultado que obtengo.
Y a continuación se muestra el resultado que necesito,
Hola @Thamizh_hfhs
DAX se ve bien, marque 'Cirugías' [Cirugías #] y 'Cirugías' [Promedio de los últimos 12 meses #] ambos son campos de tipo de datos numéricos.
Pruebe a continuación dax
$ Amt Impact due to Volumes =
VAR AvgCPC12months =
SUMX (
SUMMARIZE (
Surgeries,
'Surgeries'[Operating Unit],
'Surgeries'[PrimaryService],
'Surgeries'[PrimaryProcedureDescription]
),
'Surgeries'[Variances#] * 'CPC'[Last 12 months Avg CPC]
)
VAR AvgCPCCurrentMonth =
SUMX (
SUMMARIZE (
Surgeries,
'Surgeries'[Operating Unit],
'Surgeries'[PrimaryService],
'Surgeries'[PrimaryProcedureDescription]
),
'Surgeries'[Variances#] * 'CPC'[Avg Cost per Case]
)
RETURN
SWITCH(
TRUE(),
'Surgeries'[Surgeries#] = 0 && 'Surgeries'[Last 12 Months Avg#] <> 0,
AvgCPC12months,
AvgCPCCurrentMonth
)
Hazme saber si eso funciona para ti
Si su requerimiento está resuelto, marque ESTA RESPUESTA como SOLUCIÓN ✔️ y ayude a otros usuarios a encontrar la solución rápidamente. Por favor, pulsa el botón de pulgar hacia arriba 👍 si este comentario te ayuda.
Gracias
Piyush
Linkedin
Encontré una solución. Creé una medida simple con la instrucción IF.
$ Amt Impact Criteria = IF('Surgeries'[Surgeries#] = 0 && 'Surgeries'[Last 12 Months Avg#] <> 0, 'Surgeries'[Variance#] * 'CPC'[Last 12 months Avg CPC], 'Surgeries'[Variance#] * 'CPC'[Avg Cost per Case])
Y luego modifiqué el DAX existente de la siguiente manera
$ Amt Impact due to Volumes = SUMX(SUMMARIZE(CALCULATETABLE(CALCULATETABLE('Surgeries', ALL(DimDate)), DATESINPERIOD('DimDate'[Date], MAX('DimDate'[Date]), -12, MONTH)), 'Surgeries'[DepartmentCenter], 'Surgeries'[PrimaryService], 'Surgeries'[PrimaryProcedureDescription]),'Surgeries'[$ Amt Impact Criteria])
¡Gracias a todos por su ayuda!
Tengo BLANKS( ) o NULL en las cirugías# que afectan al DAX. Intenté reemplazar las cirugías # = 0 con BLANK o " " o "0" en el DAX. Ninguno de ellos funcionó.
Tanto 'Cirugías' [Cirugías#] como 'Cirugías' [Promedio de los últimos 12 meses#] son números decimales y ambos son medidas.
El DAX que sugirió no funcionó. De nuevo el mismo problema. No veo ningún resultado para los procedimientos con la siguiente condición
'Surgeries'[Surgeries#] = 0 && 'Surgeries'[Last 12 Months Avg#] <> 0
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
3 | |
1 | |
1 | |
1 | |
1 |