Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
bsas
Post Patron
Post Patron

calcular los ingresos para el trimestre actual y el próximo para que se congele al seleccionar el período

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.

1 ACCEPTED SOLUTION
v-rzhou-msft
Community Support
Community Support

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:

1.png

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.

2.png

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.

View solution in original post

3 REPLIES 3
v-rzhou-msft
Community Support
Community Support

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:

1.png

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.

2.png

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.

CNENFRNL
Community Champion
Community Champion

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

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors