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
Syndicate_Admin
Administrator
Administrator

Aplicación de un percentil en un gráfico

Hola a todos

Estoy tratando de trabajar con un conjunto de datos que tiene estas columnas:

Fecha del informeTipo de formulario

IDENTIFICACIÓN

Días reales
12/2/2021Presentación01E-XXX-00002467
12/2/2021Informe de observación de campo01C-XXX-000046
12/2/2021Informe de observación de campo01C-XXX-00004377
12/2/2021Informe de observación de campo01C-XXX-000046
12/2/2021Presentación01C-XXX-00004377
12/2/2021Presentación05BB-XXX-000018
12/2/2021RFI09AA-XXX-00001411
12/2/2021RFI09AC-XXX-00003405
12/2/2021Presentación09AS-XXX-00002392
12/2/2021Presentación15AB-XXX-00002399
12/2/2021RFI15AC-XXX-000011

He creado este gráfico de líneas con los datos -

felixthecat_nyc_0-1642600016958.png

Me pregunto cómo excluyo los valores más altos del 5% del "Día real"?

La medida que estoy usando hasta ahora para intentar filtrar =

BOTTOM 95% Latency = 
VAR __rt = CALCULATE(Sum(Data[Actual Days]), FILTER(All(Data),Data[Actual Days] <= MAX(Data[Actual Days])))
VAR __95p = CALCULATE(SUM(Data[Actual Days]), ALL(Data)) * 0.95

RETURN
IF(__rt <= __95p, 1, 0)

Estoy filtrando por 1 para el gráfico, pero no estoy seguro de los resultados. Solo clasifica 4 filas como '0' de un total de 1.045 filas y hay filas clasificadas como '1' donde el valor de Días reales es tan alto como los valores clasificados como '0'.

Cualquier aporte sobre esto es muy apreciado.

1 ACCEPTED SOLUTION

@felixthecatx ,

De acuerdo con su descripción, 1045 datos, 95 por ciento, 1045 * 0.95 = 992.75, es decir, tome los datos después de 993, si de acuerdo con mi método anterior, cuando más de un valor duplicado, pueden estar todos seleccionados.

como a continuación:

vluwangmsft_0-1643077800126.png

En mi opinión, si desea alcanzar la duplicación con solo un par aleatorio, debe crear filas de índice auxiliares para asegurarse de que el 5 por ciento sea 1.

insertar índice:

vluwangmsft_1-1643078228797.png

A continuación, ajuste la medida a lo siguiente:

test1 = 
VAR RANK1 =
    RANKX ( ALL ( 'Table' ), CALCULATE ( SUM ( 'Table'[value] )+0.0000001*SUM('Table'[Index]) ) )
VAR MIN1 =
    CALCULATE ( COUNTROWS ( 'Table' ), ALL ( 'Table' ) ) * 0.05
RETURN
    IF ( RANK1 <= MIN1, 1, 0 )

final:

vluwangmsft_2-1643078510903.png

Saludos

Lucien

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

@felixthecat_nyc ,

Como no tengo sus datos originales de 1045 filas, creé una nueva plantilla basada en lo que mencionó, de la siguiente manera.

vluwangmsft_0-1643007817023.png

La muestra tiene 1045 filas, luego uso la siguiente medida:

test1 =
VAR RANK1 =
    RANKX ( ALL ( 'Table'[Date] ), CALCULATE ( SUM ( 'Table'[value] ) ) )
VAR MIN1 =
    CALCULATE ( COUNTROWS ( 'Table' ), ALL ( 'Table' ) ) * 0.05
RETURN
    IF ( RANK1 <= MIN1, 1, 0 )

Fianal get: (cuando el valor comienza desde 994, luego devuelve 1)

vluwangmsft_1-1643007922426.png

El primer paso es obtener el primer 5 por ciento del total, el segundo paso es ordenar los valores y luego obtener los datos deseados de acuerdo con la clasificación digna y el número del 5 por ciento.

En su muestra, use lo siguiente:

BOTTOM 95% Latency = 
VAR __rt = RANKX ( ALL ( 'Data' ), CALCULATE ( SUM ( 'Data'[Actual Days] ) ) )
VAR __95p = CALCULATE ( COUNTROWS ( 'Data' ), ALL ( 'Data' ) ) * 0.05

RETURN
IF(__rt <= __95p, 1, 0)

¿Respondí a su pregunta? ¡Marca mi post como solución!


Saludos

Lucien

Hola @v-luwang-msft. Gracias por su respuesta. El problema es que tengo valores repetitivos, por lo que este método no toma el porcentaje correcto. Ahora estoy tratando de hacer algo como esto (aunque aún no he conseguido que esto funcione) -

Tengo una medida que = percentil 95 de la columna de valores. Estoy tratando de usar eso para crear un filtro. No he tenido suerte hasta ahora, pero esto es esencialmente lo que estoy intentando =

Filter = IF((Data[Days]) >= [95% Days], 1, 0)

@felixthecatx ,

De acuerdo con su descripción, 1045 datos, 95 por ciento, 1045 * 0.95 = 992.75, es decir, tome los datos después de 993, si de acuerdo con mi método anterior, cuando más de un valor duplicado, pueden estar todos seleccionados.

como a continuación:

vluwangmsft_0-1643077800126.png

En mi opinión, si desea alcanzar la duplicación con solo un par aleatorio, debe crear filas de índice auxiliares para asegurarse de que el 5 por ciento sea 1.

insertar índice:

vluwangmsft_1-1643078228797.png

A continuación, ajuste la medida a lo siguiente:

test1 = 
VAR RANK1 =
    RANKX ( ALL ( 'Table' ), CALCULATE ( SUM ( 'Table'[value] )+0.0000001*SUM('Table'[Index]) ) )
VAR MIN1 =
    CALCULATE ( COUNTROWS ( 'Table' ), ALL ( 'Table' ) ) * 0.05
RETURN
    IF ( RANK1 <= MIN1, 1, 0 )

final:

vluwangmsft_2-1643078510903.png

Saludos

Lucien

Esto es genial, ¡gracias!

Syndicate_Admin
Administrator
Administrator

Para obtener más contexto: si tengo 1.045 filas en mi conjunto de datos, estoy buscando que 993 filas se etiqueten como un 95% más bajo en términos de valores de 'Días reales'.

Syndicate_Admin
Administrator
Administrator

Para ampliar este tema, también he formulado esta medida =

95% Data = 
VAR _sum =
    SUM (Data[Actual Days])
VAR _top = 
    CALCULATE(
        COUNTROWS( ADDCOLUMNS( VALUES(Data[Form ID]), "_sum", _sum)),
        REMOVEFILTERS(Data[Form ID])
    ) * 0.95
RETURN
    CALCULATE(
        CALCULATE( AVERAGEA (Data[Actual Days])),
        KEEPFILTERS( 
            TOPN(
                _top,
                ALLSELECTED( Data[Form ID]),
                CALCULATE( AVERAGEA (Data[Actual Days]) ), ASC
            )
        )
    )

Esto parece producir un promedio de los valores del día real por ID de formulario con un 5% excluido, lo cual es genial, sin embargo, cada vez que intento usar esta medida con otras columnas (es decir, la columna Fecha de informe) se rompe y los datos ya no tienen sentido.

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