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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
t-dahen
Employee
Employee

Tiempo invertido como 15% inferior de la categoría en los últimos 7 días

Tengo un conjunto de datos que tiene el siguiente aspecto:

FechaNombreCategoríaTotal
4/10BobA5
4/10AliceA10
4/10JoeB10
4/10NickA15
4/11BobA14
4/11AliceA6
4/11JoeB11
4/11NickA10

.

.

.

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.

5 REPLIES 5
edhans
Super User
Super User

Hola @t-dahen - ¿Conseguiste la respuesta que estabas buscando? ¿Se marcó la respuesta correcta como solución?



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting
edhans
Super User
Super User

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
        )
    )

edhans_0-1593622537141.png



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

@edhans

En 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%.

FechaNombreCategoríaTotal
10-AbrAliceA2
10-AbrBobA5
10-AbrJoeB4
10-AbrNickA8
11-AbrAliceA10
11-AbrBobA6
11-AbrJoeB7
11-AbrNickA4
12-AbrAliceA5
12-AbrBobA3
12-AbrJoeB9
12-AbrNickA4
13-AbrAliceA5
13-AbrBobA7
13-AbrJoeB6
13-AbrNickA1
14-AbrAliceA2
14-AbrBobA8
14-AbrJoeB5
14-AbrNickA3
15-AbrAliceA7
15-AbrBobA4
15-AbrJoeB8
15-AbrNickA9
16-AbrAliceA6
16-AbrBobA5
16-AbrJoeB2
16-AbrNickA3



Me gustaría una mesa como:

NombrePorcentaje de días pasados por debajo del 33% inferior de la categoría para el rango de fechas seleccionado
Alice28.57%Alice estuvo en el fondo 33% durante 2 días de los 7
Bob28.57%Bob estaba en el fondo 33% durante 2 días de los 7
Joe100%La única persona en la Categoría B
Nick42.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 )

percent.JPG

He creado un archivo pbix de ejemplo con los pasos anteriores, puede obtenerlo de este enlace.

Saludos

Rena

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors