- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Cómo sumar por mes por un promedio por persona
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.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

@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
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:
- ¿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.
- ¿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.
- ¿Está en el ámbito de una sola persona? --> entonces dar el mínimo del tipo de licencia diferencia entre available y total.
- 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/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

IsInScope era demasiado difícil de usar y, al parecer, muy intensivo en computación. Usé Summerize en su lugar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

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/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

@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
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:
- ¿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.
- ¿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.
- ¿Está en el ámbito de una sola persona? --> entonces dar el mínimo del tipo de licencia diferencia entre available y total.
- 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/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Helpful resources
Join us at the Microsoft Fabric Community Conference
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Power BI Monthly Update - February 2025
Check out the February 2025 Power BI update to learn about new features.

Subject | Author | Posted | |
---|---|---|---|
09-15-2020 07:49 AM | |||
12-21-2023 12:11 AM | |||
09-01-2020 08:04 AM | |||
07-05-2024 05:07 PM | |||
01-24-2024 11:05 PM |
User | Count |
---|---|
1 | |
1 | |
1 | |
1 |