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.
Tengo un conjunto de datos que tiene el siguiente aspecto:
Fecha | Nombre | Categoría | Total |
4/10 | Bob | A | 5 |
4/10 | Alice | A | 10 |
4/10 | Joe | B | 10 |
4/10 | Nick | A | 15 |
4/11 | Bob | A | 14 |
4/11 | Alice | A | 6 |
4/11 | Joe | B | 11 |
4/11 | Nick | A | 10 |
.
.
.
Tenga en cuenta que un nombre solo se emparejará con 1 categoría.
¿Es posible obtener por cada nombre y fecha, el tiempo invertido en el 15% inferior (para Total) de su categoría en los últimos 7 días.
Hola @t-dahen - ¿Conseguiste la respuesta que estabas buscando? ¿Se marcó la respuesta correcta como solución?
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reporting@t-dahen , No está claro para mí.
Vea si estos pueden ayudar
https://blog.enterprisedna.co/implementing-80-20-logic-in-your-power-bi-analysis/
https://forum.enterprisedna.co/t/testing-the-pareto-principle-80-20-rule-in-power-bi-w-dax/459
https://finance-bi.com/power-bi-pareto-analysis/
https://community.powerbi.com/t5/DAX-Commands-and-Tips/Calculate-the-sum-of-the-top-80/td-p/763156
No estoy seguro de entender completamente sus requisitos, pero estas dos medidas devolverán los totales durante 7 días, luego devolverán un 1 si el total actual está por debajo del 15% del total de 7 días. Si necesita más ayuda, publique la salida de la muestra y, posiblemente, más de 2 días de datos para una prueba de 7 días.
Seven Day Total =
VAR varCurrentDay = MAX( 'Date'[Date] )
VAR varCurrentName =
MAX( 'Table'[Name] )
VAR varSevenDayTotal =
SUMX(
FILTER(
ALL( 'Table' ),
'Table'[Date]
IN DATESBETWEEN(
'Date'[Date],
varCurrentDay - 7,
varCurrentDay
)
&& 'Table'[Name] = varCurrentName
),
'Table'[Total]
)
RETURN
varSevenDayTotal
---------------------------------------------------------------------------------
Less than 15 Percent =
VAR varCurrentTotal =
MAX( 'Table'[Total] )
RETURN
IF(
varCurrentTotal=BLANK(),
BLANK(),
IF(
DIVIDE(
varCurrentTotal,
[Seven Day Total],
0
) < .15,
1,
0
)
)
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingEn lugar de los últimos 7 días, para el intervalo de fechas seleccionado (a través de la segmentación de datos), es posible ver cómo el porcentaje de días que cada persona estaba en el 15% inferior de la categoría. (Utilicé el 33% para un ejemplo más fácil. Esto no debe cambiar nada en la lógica.) Para abajo, Alice era la persona más baja en su categoría en 4/10 y 4/14 por lo que su porcentaje sería de 2/7 a 28,57%.
Fecha | Nombre | Categoría | Total |
10-Abr | Alice | A | 2 |
10-Abr | Bob | A | 5 |
10-Abr | Joe | B | 4 |
10-Abr | Nick | A | 8 |
11-Abr | Alice | A | 10 |
11-Abr | Bob | A | 6 |
11-Abr | Joe | B | 7 |
11-Abr | Nick | A | 4 |
12-Abr | Alice | A | 5 |
12-Abr | Bob | A | 3 |
12-Abr | Joe | B | 9 |
12-Abr | Nick | A | 4 |
13-Abr | Alice | A | 5 |
13-Abr | Bob | A | 7 |
13-Abr | Joe | B | 6 |
13-Abr | Nick | A | 1 |
14-Abr | Alice | A | 2 |
14-Abr | Bob | A | 8 |
14-Abr | Joe | B | 5 |
14-Abr | Nick | A | 3 |
15-Abr | Alice | A | 7 |
15-Abr | Bob | A | 4 |
15-Abr | Joe | B | 8 |
15-Abr | Nick | A | 9 |
16-Abr | Alice | A | 6 |
16-Abr | Bob | A | 5 |
16-Abr | Joe | B | 2 |
16-Abr | Nick | A | 3 |
Me gustaría una mesa como:
Nombre | Porcentaje de días pasados por debajo del 33% inferior de la categoría para el rango de fechas seleccionado | ||
Alice | 28.57% | Alice estuvo en el fondo 33% durante 2 días de los 7 | |
Bob | 28.57% | Bob estaba en el fondo 33% durante 2 días de los 7 | |
Joe | 100% | La única persona en la Categoría B | |
Nick | 42.86% | Nick estaba en el fondo 33% durante 3 días de los 7 |
Hola @t-Dahen ,
Puede crear una tabla calculada y una medida para obtenerla como se indica a continuación:
Table 2 =
SUMMARIZE (
'Table',
'Table'[Date],
'Table'[Category],
"minsname", CALCULATE (
MAX ( 'Table'[Name] ),
FILTER ( 'Table', 'Table'[Total] = MIN ( 'Table'[Total] ) )
)
)
Percent2 =
VAR _tdays =
CALCULATE (
COUNTROWS ( 'Date' ),
DATESBETWEEN (
'Date'[Date],
CALCULATE ( MIN ( 'Table 2'[Date] ), ALL ( 'Table 2' ) ),
CALCULATE ( MAX ( 'Table 2'[Date] ), ALL ( 'Table 2' ) )
)
)
RETURN
DIVIDE ( COUNT ( 'Table 2'[minsname] ), _tdays )
He creado un archivo pbix de ejemplo con los pasos anteriores, puede obtenerlo de este enlace.
Saludos
Rena
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 |