Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
He estado luchando con esta fórmula por algún tiempo y no puedo entender por qué esto no funcionará. Ejemplo de datos .pbix: https://drive.google.com/file/d/1xvYcUCYgIMlLDZgB8Vug_goWW6MINq6J/view?usp=sharing
El resultado final debe ser la columna Date% de la tabla Data, que primero debe calcular una tabla, que consta de valores distintos de usuario y mes de fecha:
Usuario | Fecha | Hora |
María | 2020/01 | 82 |
María | 2020/02 | 31 |
John | 2020/01 | 78 |
John | 2020/02 | 20 |
Kate | 2020/02 | 26 |
Kate | 2020/03 | 27 |
Kate | 2020/04 | 88 |
Kate | 2020/05 | 59 |
A continuación, debe calcular el porcentaje de tiempo en la fila de la tabla inicial en comparación con el tiempo total de ese mes por esa persona:
Usuario | Fecha | Hora | Fecha% |
María | 01.01.20 | 11 | 11/82-13,4% |
María | 05.01.20 | 16 | 16/82-19,5% |
María | 06.01.20 | 55 | 55/82-67,1% |
María | 20.02.20 | 31 | 31/31-100% |
John | 05.01.20 | 50 | 50/78-64,1% |
John | 05.01.20 | 28 | 28/78-35,9% |
John | 20.02.20 | 19 | 19/20-95,0% |
John | 20.02.20 | 1 | 1/20-5,0% |
Kate | 02.02.20 | 26 | 26/26-100,0% |
Kate | 03.03.20 | 27 | 27/27-100,0% |
Kate | 04.04.20 | 88 | 88/88-100,0% |
Kate | 05.05.20 | 59 | 59/59-100,0% |
Pero no puedo entender por qué la siguiente fórmula no funciona. Mi mejor conjetura hasta ahora es que puede reconocer el intervalo de fechas, pero no el usuario, pero cualquier combinación de CALCULATE o FILTER que se me ocurra tampoco parece hacer el truco.
Date% =
VAR _tbl =
GROUPBY(
Data ,
Data[User] ,
Dates[YEAR/MONTH] ,
"@times" ,
SUMX(
CURRENTGROUP() ,
Data[Time]
)
)
RETURN
DIVIDE(
Data[Time] ,
CALCULATE(
SUMX(
_tbl ,
[@times]
) ,
KEEPFILTERS(Data[User]) ,
DATESBETWEEN(Data[Date], STARTOFMONTH(Data[Date]), EOMONTH(Data[Date], 0))
) ,
0
)
¡Realmente agradecería algo de ayuda en esto si es posible! ¡Gracias!
Solved! Go to Solution.
Hola @amitchandak !
Gracias por la respuesta! Las dos fórmulas no funcionaron exactamente así, pero al cambiar la primera un poco, funcionó! La fórmula que funcionó es la siguiente:
Date% =
DIVIDE(
Data[Time],
CALCULATE(
SUM(Data[Time]),
ALLEXCEPT(
Data ,
Data[User] ,
Dates[Date].[MonthNo] ,
Dates[Date].[Year]
)
)
)
@martti , Probar como
divide(sum(Table[Time]), calculate(Sum(Table[Time]), allexcept(Table,Table[User])))
O
divide(sum(Table[Time]), calculate(Sum(Table[Time]), filter(allselected(Table),Table[User]-max(Table[User]))))
Proporcione sus comentarios y consejos para nuevos videos
Tutorial Series Dax Vs SQL Direct Query PBI Consejos
Apreciamos tus Felicitaciones.
Hola @amitchandak !
Gracias por la respuesta! Las dos fórmulas no funcionaron exactamente así, pero al cambiar la primera un poco, funcionó! La fórmula que funcionó es la siguiente:
Date% =
DIVIDE(
Data[Time],
CALCULATE(
SUM(Data[Time]),
ALLEXCEPT(
Data ,
Data[User] ,
Dates[Date].[MonthNo] ,
Dates[Date].[Year]
)
)
)
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |