Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon'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.
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.
@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:
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/
IsInScope era demasiado difícil de usar y, al parecer, muy intensivo en computación. Usé Summerize en su lugar.
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/
@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:
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/
@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.