Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola Comunidad,
Tengo una lista de personas y sus ingresos durante algún período. Necesito calcular los ingresos para el trimestre actual y el próximo en función de hoy por cada persona, pero no debe cambiar cuando selecciono el período en la segmentación. Traté de usar Todo, pero calcula toda la cantidad para cada persona.
Usé el cálculo a continuación y con "Todos" cantidad total está bien, pero por persona está mal. Sin todos los ingresos por persona está bien, pero es setsitive a punto en la segmentación de datos y cambia al seleccionar el período.
Curr Q and curr Q+1 revenue =
CALCULATE(Revenue],
FILTER(ALL('dwh FactOpportunity'),
'dwh FactOpportunity'[closedate] >= STARTOFQUARTER('dwh DimDate'[Curr Q start]) &&
'dwh FactOpportunityt'[closedate] <= EOMONTH(TODAY(),3+MOD(3-MONTH(TODAY()),3))))
Necesito tener ingresos calculados por persona, pero no cambiar al seleccionar el período.
Solved! Go to Solution.
No @bsas
Para calcular los ingresos de cada persona puede probar esta medida.
Curr Q and curr Q+1 revenue =
CALCULATE (
[Revenue],
FILTER (
ALL ( 'dwh FactOpportunity' ),
'dwh FactOpportunity'[closedate]
>= STARTOFQUARTER ( 'dwh DimDate'[Curr Q start] )
&& 'dwh FactOpportunityt'[closedate]
<= EOMONTH ( TODAY (), 3 + MOD ( 3 - MONTH ( TODAY () ), 3 ) )
&& 'dwh FactOpportunity'[People] = MAX ( 'dwh FactOpportunity'[People] )
)
)
Si esta medida no funciona, puedes probar mi camino.
Debido a que no sé acerca de su modelo de datos, construyo una muestra para realizar una prueba.
Mi tabla de muestra:
Agrego una columna YearQtr en esta tabla para distinguir currenr qtr y next qtr.
Mi medida:
Measure =
VAR _CurQtr = YEAR(TODAY())*100+QUARTER(TODAY())
VAR _NextQtr = MINX(FILTER(ALL('dwh FactOpportunity'),'dwh FactOpportunity'[YearQtr]>_CurQtr),'dwh FactOpportunity'[YearQtr])
Return
SUMX(FILTER(ALL('dwh FactOpportunity'),'dwh FactOpportunity'[YearQtr] in {_CurQtr,_NextQtr}&&'dwh FactOpportunity'[People]=MAX('dwh FactOpportunity'[People])),'dwh FactOpportunity'[Revenue])
El resultado es el siguiente.
La segmentación de datos no afectará al resultado.
Puede descargar el archivo pbix desde este enlace: Archivo
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
No @bsas
Para calcular los ingresos de cada persona puede probar esta medida.
Curr Q and curr Q+1 revenue =
CALCULATE (
[Revenue],
FILTER (
ALL ( 'dwh FactOpportunity' ),
'dwh FactOpportunity'[closedate]
>= STARTOFQUARTER ( 'dwh DimDate'[Curr Q start] )
&& 'dwh FactOpportunityt'[closedate]
<= EOMONTH ( TODAY (), 3 + MOD ( 3 - MONTH ( TODAY () ), 3 ) )
&& 'dwh FactOpportunity'[People] = MAX ( 'dwh FactOpportunity'[People] )
)
)
Si esta medida no funciona, puedes probar mi camino.
Debido a que no sé acerca de su modelo de datos, construyo una muestra para realizar una prueba.
Mi tabla de muestra:
Agrego una columna YearQtr en esta tabla para distinguir currenr qtr y next qtr.
Mi medida:
Measure =
VAR _CurQtr = YEAR(TODAY())*100+QUARTER(TODAY())
VAR _NextQtr = MINX(FILTER(ALL('dwh FactOpportunity'),'dwh FactOpportunity'[YearQtr]>_CurQtr),'dwh FactOpportunity'[YearQtr])
Return
SUMX(FILTER(ALL('dwh FactOpportunity'),'dwh FactOpportunity'[YearQtr] in {_CurQtr,_NextQtr}&&'dwh FactOpportunity'[People]=MAX('dwh FactOpportunity'[People])),'dwh FactOpportunity'[Revenue])
El resultado es el siguiente.
La segmentación de datos no afectará al resultado.
Puede descargar el archivo pbix desde este enlace: Archivo
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @bsas , una mejor práctica es aplicar ALL() a columnas específicas con el fin de mantener otros filtros en la misma tabla eficaz; es posible que desee ajustar su medida de esta manera,
Curr Q and curr Q+1 revenue =
CALCULATE (
[Revenue],
FILTER (
ALL ( 'dwh FactOpportunity[closedate]' ),
'dwh FactOpportunity'[closedate]
>= STARTOFQUARTER ( 'dwh DimDate'[Curr Q start] )
&& 'dwh FactOpportunityt'[closedate]
<= EOMONTH ( TODAY (), 3 + MOD ( 3 - MONTH ( TODAY () ), 3 ) )
)
)
Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |
Gracias, pero esto no funciona para mi caso