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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
slewis
Helper I
Helper I

Cómo sumar por mes por un promedio por persona

slewis_1-1600289705246.png

Tengo tipos de hojas enumeradas en filas. Una fila por mes, por persona por tipo de licencia. El cálculo se basa en la disponibilidad de una persona. La disponibilidad por persona se establece en la diferencia entre el número de tiempo en un mes (173) menos la cantidad de vacaciones que pasaron en ese mes (por ejemplo, 173 - 6 días de vacaciones sería 167 de disponibilidad para ese mes).
La disponibilidad mensual debe ser el SUM(of the invididual's availability) - la suma de sus tipos de licencia no vacaciones.

Por ejemplo, en febrero, James tomó 4 días de vacaciones, lo que lo lleva a una posible disponibilidad de 169.

Necesito una forma de sumar la disponibilidad de todas las personas en un mes mientras tengo 2 registros por persona, con cada registro tiene el mismo valor (por ejemplo, 173, 169, etc.). No puedo usar el promedio porque entonces el mes terminará como un promedio de todos los registros; que es lo que no quiero.

1 ACCEPTED SOLUTION
DataZoe
Microsoft Employee
Microsoft Employee

@slewis Creo que el problema es que desea agregarlo de manera diferente dependiendo del ámbito. Puede hacerlo mediante la instrucción dax de ISINSCOPE:

https://docs.microsoft.com/en-us/dax/isinscope-function-dax#syntax

DataZoe_0-1600305397111.png

Difference = sumx('Table','Table'[Availability]-'Table'[Total])


Difference ISINSCOPE =
switch(
    true(),
    isblank( SELECTEDVALUE( 'Table'[Month] ) ),
    sumx(
        values( 'Table'[Month] ),
        sumx(
            values( 'Table'[Person] ),
            CALCULATE( minx( values( 'Table'[Leave Type] ), [Difference] ) )
        )
    ),
    isinscope( 'Table'[Month] ),
    sumx(
        values( 'Table'[Person] ),
        CALCULATE( minx( values( 'Table'[Leave Type] ), [Difference] ) )
    ),
    ISINSCOPE( 'Table'[Person] ),
    minx( values( 'Table'[Leave Type] ), [Difference] ),
    [Difference]
)

Lo que esto hace es una serie de comprobaciones y, a continuación, proporcionar una agregación diferente:

  1. ¿Hay varios meses? --> a continuación, se agregaron valores para cada mes,que son los valores añadidos para cada persona,que es el mínimo de la diferencia de tipo de licencia entre disponible y total.
  2. ¿Está en el ámbito de un solo mes? --> a continuación, se han añadido valores para cada persona,que es el mínimo de la diferencia de tipo de licencia entre disponible y total.
  3. ¿Está en el ámbito de una sola persona? --> entonces dar el mínimo del tipo de licencia diferencia entre available y total.
  4. De lo contrario, dé la diferencia entre el archivo disponible y el total.

Respectfully,
Zoe Douglas (DataZoe)



Follow me on LinkedIn at https://www.linkedin.com/in/zoedouglas-data
See my reports and blog at https://www.datazoepowerbi.com/

View solution in original post

4 REPLIES 4
slewis
Helper I
Helper I

IsInScope era demasiado difícil de usar y, al parecer, muy intensivo en computación. Usé Summerize en su lugar.

DataZoe
Microsoft Employee
Microsoft Employee

Eso es impresionante @slewis ! ¿Puedes compartir lo que hiciste para que pueda ayudar a otra persona que también tiene este problema?

Respectfully,
Zoe Douglas (DataZoe)



Follow me on LinkedIn at https://www.linkedin.com/in/zoedouglas-data
See my reports and blog at https://www.datazoepowerbi.com/

DataZoe
Microsoft Employee
Microsoft Employee

@slewis Creo que el problema es que desea agregarlo de manera diferente dependiendo del ámbito. Puede hacerlo mediante la instrucción dax de ISINSCOPE:

https://docs.microsoft.com/en-us/dax/isinscope-function-dax#syntax

DataZoe_0-1600305397111.png

Difference = sumx('Table','Table'[Availability]-'Table'[Total])


Difference ISINSCOPE =
switch(
    true(),
    isblank( SELECTEDVALUE( 'Table'[Month] ) ),
    sumx(
        values( 'Table'[Month] ),
        sumx(
            values( 'Table'[Person] ),
            CALCULATE( minx( values( 'Table'[Leave Type] ), [Difference] ) )
        )
    ),
    isinscope( 'Table'[Month] ),
    sumx(
        values( 'Table'[Person] ),
        CALCULATE( minx( values( 'Table'[Leave Type] ), [Difference] ) )
    ),
    ISINSCOPE( 'Table'[Person] ),
    minx( values( 'Table'[Leave Type] ), [Difference] ),
    [Difference]
)

Lo que esto hace es una serie de comprobaciones y, a continuación, proporcionar una agregación diferente:

  1. ¿Hay varios meses? --> a continuación, se agregaron valores para cada mes,que son los valores añadidos para cada persona,que es el mínimo de la diferencia de tipo de licencia entre disponible y total.
  2. ¿Está en el ámbito de un solo mes? --> a continuación, se han añadido valores para cada persona,que es el mínimo de la diferencia de tipo de licencia entre disponible y total.
  3. ¿Está en el ámbito de una sola persona? --> entonces dar el mínimo del tipo de licencia diferencia entre available y total.
  4. De lo contrario, dé la diferencia entre el archivo disponible y el total.

Respectfully,
Zoe Douglas (DataZoe)



Follow me on LinkedIn at https://www.linkedin.com/in/zoedouglas-data
See my reports and blog at https://www.datazoepowerbi.com/

amitchandak
Super User
Super User

@slewis ,¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.

Join us as experts from around the world come together to shape the future of data and AI!
At the Microsoft Analytics Community Conference, global leaders and influential voices are stepping up to share their knowledge and help you master the latest in Microsoft Fabric, Copilot, and Purview.
️ November 12th-14th, 2024
 Online Event
Register Here

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors