Percentile.inc aplicado a todas las filas visibles en la columna de medida

Un usuario Pregunto ✅

Vandergledison

Hola tios,

tengo una tabla de búsqueda a continuación relacionada con la tabla de datos de ventas netas:

Proyecto No. Nombre del producto
1 A
2 B
3 C
4 D
5 mi
6 F
7 GRAMO
8 H
9 I
10 J

Datos de ventas netas:

No de proyecto Año Ventas netas

1 2020 2,63
1 2021 4.5
1 2022 5.27
1 2023 6.16
1 2024 6,77
1 2025 6,77
1 2026 6,77
1 2027 6,77
1 2028 6,77
1 2029 6,77
2 2020 1,49
2 2021 3,56
2 2022 6.14
2 2023 6,37
2 2024 6,62
2 2025 6,78
2 2026 6,95
2 2027 7.12
2 2028 7.3
3 2023 6
3 2024 10,8
3 2025 10,8
3 2026 10,8
3 2027 10,8
3 2028 10,8
3 2029 10,8
3 2030 10,8
3 2031 10,8
3 2032 10,8
4 2021 0,45
4 2022 1,35
4 2023 2,25
4 2024 2,32
4 2025 2,39
4 2026 2,46
4 2027 2.53
4 2028 2,61
4 2029 2,69
4 2030 2,77
5 2022 0,45
5 2023 1.12
5 2024 2,25
5 2025 2,32
5 2026 2,39
5 2027 2,46
5 2028 2.53
5 2029 2,61
5 2030 2,69
5 2031 2,77
6 2023 0
6 2024 0
6 2025 1
6 2026 1
6 2027 1
6 2028 1
6 2029 1
6 2030 1
6 2031 1
6 2032 1
7 2020 0,64
7 2021 1,35
7 2022 1,64
7 2023 2,06
7 2024 2,76
7 2025 2,89
7 2026 3,02
7 2027 3,16
7 2028 3.32
7 2029 3,48
8 2020 1,26
8 2021 2,7
8 2022 2,76
8 2023 2,81
8 2024 2,87
8 2025 2,93
8 2026 2,99
8 2027 3,05
8 2028 3.11
8 2029 3,17
9 2021 -2,4
9 2022 3.9
9 2023 6,35
9 2024 7.51
9 2025 10.22
9 2026 11,92
9 2027 15.22
9 2028 14,4
9 2029 13,61
9 2030 12,77
10 2020 6.58
10 2021 7.58
10 2022 7.1
10 2023 7.1
10 2024 7.1
10 2025 7.1
10 2026 7.1
10 2027 7.1

Me gustaría construir una tabla como la de abajo. La columna de Ventas Netas muestra las Ventas Totales del Producto A con respecto a todos sus años de ventas (datos largos arriba).

Usé la siguiente medida para obtener el percentil 0.8:

Percentil Ventas netas 0.8 = PERCENTILE.INC (‘datos para el percentil de Power BI'[Net Sales], 0,8)
Proyecto No. Nombre del producto Las ventas netas Ventas netas percentil 0.8
1 A 59,18 6,77
2 B 52,33 7.018
3 C 103,2 10,8
4 D 21,82 2.626
5 mi 21,59 2.626
6 F 8 1
7 GRAMO 24,32 3.192
8 H 27,65 3.062
9 I 93,5 13.768
10 J 56,76 7.1

El problema es que me gustaría tener el percentil de las filas visibles de esta Tabla basado en el total que se muestra en la columna de Ventas netas. ¿Algunas ideas? muchas gracias

Datos de Excel

Archivo pbix

zaza

En respuesta a Vandergledison

Erm … el filtro de spam marcó mi mensaje como spam, intentándolo de nuevo, ¡espero que funcione!

Crea una TABLA calculada:

Table = 
    SUMMARIZE ( 
        'data for power BI porcentile',
        'data for power BI porcentile'[Project No.],
        "Net Sales", SUM ( 'data for power BI porcentile'[Net Sales] )
    )

Luego agregue una columna calculada:

Net Sales % = 
    DIVIDE ( 
        'Table'[Net Sales], 
        CALCULATE ( 
            SUM ( 'Table'[Net Sales] ), 
            ALL ( 'Table' ) 
        ), 
        0 
    )

Finalmente crea la medida:

80th Percentile = 
    IF ( 
        ISBLANK ( MAX( 'Project Nr'[Project No.] ) ), 
        BLANK(),
        CALCULATE (
            PERCENTILE.INC ( 'Table'[Net Sales %], 0.8 ),
            ALL ( 'Table' )
        )
    )

Conéctelo en la vista de relación para obtener el nombre del producto y listo:

Captura de pantalla 26/04/2020 a las 11.51.13 PM.png

Archivo aquí: .pbix

harshnathani

En respuesta a Vandergledison

Hola @Vandergledison,

Perdón por haberme perdido explicar NetSales1 =

Ventas netas1 = SUMA (‘datos para el percentil de Power BI'[Net Sales])
Lo que simplemente he hecho es agregar una tabla y calcular la suma de todos los productos y luego calcular un percentil sobre NetSales.
Encuentre el pbix adjunto.
https://we.tl/t-9WPKRZSWPi
Saludos,
Áspero Nathani
¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

harshnathani

En respuesta a Vandergledison

Hola @Vandergledison,

Encuentre el pbix adjunto.

https://we.tl/t-gP09fMN6WE

Esto ayuda a filtrar y clasificar sus productos.

Saludos,

Áspero Nathani

¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

harshnathani

En respuesta a Vandergledison

Hola @Vandergledison,

Aquí tienes. Espero que este sea su requisito.

Encuentre el archivo pbix adjunto.

https://we.tl/t-SZhdC34XRf

123.JPG

Tu no necesita la tabla recién calculada. Hay una función en DAX para el cálculo de% de las expresiones.

Saludos,

Áspero Nathani

¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

harshnathani

En respuesta a Vandergledison

Estimado @Vandergledison,

La idea no es confundirte. Estamos aquí para ayudarte.

Tu requisito era

1. Calcule el% ile basado en Ventas Totales (o% de Venta) para todos los proyectos.

2. Según el% ile calculado, deseaba clasificarlos, es decir, si el% ile es el que deseaba. rango 5 (superior a 80p), 4 (superior a 60p), 3 (superior a 40p), 2 (superior a 20p) y 1 para el resto.

3. También quería que la fórmula calcule los nuevos% archivos de forma dinámica, es decir, si se seleccionan 50 proyectos, solo debería calcular los% archivos de esos 50 productos y luego clasificarlos según los mismos criterios.

Espero que mi comprensión sea correcta, ya que su requisito ha cambiado cada vez que proporcionamos una solución.

1. Confusión en PERCENTILE.EXC y PERCENTILEX.EXC

Anteriormente estábamos calculando% iles en función de una tabla de resumen que tenía una fila para Percentile.EXC. Esto mismo se puede calcular usando PercentilEX.EX donde puede pasar una medida en lugar de una Columna. Vea lo que hace la fórmula.

PERCENTILE.EXC

Devuelve el percentil k-ésimo (exclusivo) de valores en una columna.

Sintaxis

PERCENTILE.EXC ( , )

DESCRIPCIÓN DE LOS ATRIBUTOS DE LOS PARÁMETROS

Columna

Una columna que contiene los valores.

K

Valor percentil deseado en el intervalo [1/(n+1),1-1/(n+1)], donde n es un número de puntos de datos válidos.

Valores devueltos ESCALAR Un solo variante valor.

PERCENTILEX.EXC

Sintaxis

PERCENTILEX.EXC ( , , )

DESCRIPCIÓN DE LOS ATRIBUTOS DE LOS PARÁMETROS

Tabla
ITERADOR

Tabla sobre la que se evaluará la Expresión.

Expresión
CONTEXTO DE FILA

Expresión a evaluar para cada fila de la tabla.

K

Valor percentil deseado en el intervalo [1/(n+1),1-1/(n+1)], donde n es un número de puntos de datos válidos.

Valores devueltos ESCALAR Un solo variante valor.

Entonces, ambas funciones hacen lo mismo, la única diferencia son los parámetros que le pasamos. Espero poder aclarar sus dudas al respecto.
2. Excel no muestra el mismo valor
Los% archivos que se muestran en la tarjeta anterior se basan en el proyecto filtrado no.
Déjame explicarte esto en la descripción a continuación.
A continuación se muestra una imagen adjunta que muestra los% iles basados ​​en todas las ventas de su proyecto. es decir, Ventas totales de columna. Dado que hay muchos proyectos cuyo valor de venta es cero, la mayoría de sus% iles se encuentran en la categoría cero.
1.JPG
A continuación, se muestran los nuevos% archivos calculados dinámicamente en función de los números de proyecto filtrados, es decir, la columna Total 7 que he filtrado y me da los nuevos rangos según sus criterios.
2.JPG
Espero haber podido despejar tus dudas.
Se adjunta el pbix final.
https://we.tl/t-jMiGnqU4dI
Saludos,
Áspero Nathani
¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

harshnathani

En respuesta a Vandergledison

Hola @Vandergledison,

Encuentre 2 archivos adjuntos.

v4 está usando relacionados y según su agrupación.

https://we.tl/t-hHaqM7OiLN

v2 está creando clústeres basados ​​en las ventas totales.

https://we.tl/t-MMXNCYyM7M

Espero que resuelva el problema.

Saludos,

Áspero Nathani

¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

zaza

Puede haber una mejor manera de hacer esto, pero esto debería funcionar:

Measure = 
    VAR __totals = 
        CALCULATE ( 
            SUM ( 'data for power BI porcentile'[Net Sales] ),
            ALL ( 'Project Nr' )
        )

    RETURN
    
    DIVIDE ( SUM ( 'data for power BI porcentile'[Net Sales] ), __totals, 0 )

Captura de pantalla 26/04/2020 a las 10.42.17 PM.png

Vandergledison

En respuesta a zaza

Hola,

El valor percentil que tiene por producto se refiere a los 5 o más años que se cuentan para cada producto. lo que necesito es el percentil basado en las ventas netas totales como se presenta en la tabla visual.

Gracias

zaza

En respuesta a Vandergledison

Erm … el filtro de spam marcó mi mensaje como spam, intentándolo de nuevo, ¡espero que funcione!

Crea una TABLA calculada:

Table = 
    SUMMARIZE ( 
        'data for power BI porcentile',
        'data for power BI porcentile'[Project No.],
        "Net Sales", SUM ( 'data for power BI porcentile'[Net Sales] )
    )

Luego agregue una columna calculada:

Net Sales % = 
    DIVIDE ( 
        'Table'[Net Sales], 
        CALCULATE ( 
            SUM ( 'Table'[Net Sales] ), 
            ALL ( 'Table' ) 
        ), 
        0 
    )

Finalmente crea la medida:

80th Percentile = 
    IF ( 
        ISBLANK ( MAX( 'Project Nr'[Project No.] ) ), 
        BLANK(),
        CALCULATE (
            PERCENTILE.INC ( 'Table'[Net Sales %], 0.8 ),
            ALL ( 'Table' )
        )
    )

Conéctelo en la vista de relación para obtener el nombre del producto y listo:

Captura de pantalla 26/04/2020 a las 11.51.13 PM.png

Archivo aquí: .pbix

Vandergledison

En respuesta a zaza

Muchas gracias por analizar cada DAX.

funcionó al 100%

solo para que yo entienda los principios. ¿Por qué tengo que crear una tabla y no medidas individuales asociadas a las tablas ya dadas?

otra cosa, ya tengo en mi tabla de datos original las Ventas Netas para cada producto. si simplemente agrego la columna de Ventas netas al lado de cada Producto nr. Tendría automáticamente la columna Suma de esta columna de ventas netas para cada producto. ¿Por qué tengo que crear uno nuevo («Ventas netas») en la nueva tabla ?. Mi mayor problema en este momento es que cuando creo una medida, a veces me permite llamar a otras medidas, y otras veces encuentro las columnas que ya tengo disponibles.

Ahora, estoy tratando de entender lo que hizo y hacer lo mismo con otras medidas.

Estoy intentando ahora crear una nueva medida usando «si». Quiero usar la tabla de percentiles y asignar un rango al% de ventas netas, como «si el% de ventas netas es mayor que el percentil 80%, el rango es 5». sin embargo, cuando creo una nueva medida o incluso continúo el DAX en su tabla, cuando agrego «si», abre todas las medidas que puedo seleccionar y no las columnas que necesito. Todavía no entiendo por qué no me muestra todas las columnas o medidas posibles para elegir.

muchas gracias

Vandergledison

zaza

En respuesta a Vandergledison

@Vandergledison

La razón por la que tenemos que crear una tabla separada es porque la función PERCENTIL solo toma como referencia una columna. Por lo tanto, debe tener la columna exacta de valores que desea almacenar primero en algún lugar. Puede haber una forma de hacer esto solo en una medida, pero tendría que hacerlo sin usar la función PERCENTILE.

Para responder a su segunda pregunta, en su tabla original tiene más filas múltiples de ventas netas para cada categoría. En la tabla creada solo tienes una fila para cada uno y eso es lo que queremos.

Responder a su tercera pregunta es más fundamental y así es como funcionan las medidas y las columnas calculadas. Es posible que desee ver algunos videos más detallados sobre esto, pero en esencia es esto:

No puedes decir «SI esta columna es mayor al 50%, entonces dame SÍ». ¿Qué es la columna? ¿Cómo puede una columna ser mayor al 50%? Necesita decir SI la SUMA o PROMEDIO de esta columna es mayor al 50%, entonces déme SÍ.

Entonces, esencialmente, debe envolver sus columnas en una de las funciones de agregación MIN / MAX / SUM / AVG, etc.

measure = 
    IF ( 
        AVG ( 'Table[Column] ) > 0.5,
        "YES",
        "NO"
    )

Vandergledison

En respuesta a zaza

Hola,

Me di cuenta de que el cálculo del percentil no cambia cuando aplico un filtro al proyecto Nr.

el percentil del 80% debe cambiar de acuerdo con el% de ventas netas que se muestra en la tabla, pero se mantienen

constante, siendo calculado de todos los proyectos. Debería cambiar a medida que las ventas netas y el% NEt de ventas son cambiando.

Gracias.Capture.GIF

harshnathani

En respuesta a Vandergledison

Hola @Vandergledison,

Le sugiero que mire el video a continuación para Percentiles.

¿Por qué su valor no cambia?

A continuación se muestra una imagen que muestra los diferentes percentiles para el% total. Esto funciona perfectamente en una tarjeta visual. Pero, tan pronto como lo arrastre a la tabla, obtendrá un error. Esto se explica en el video de arriba.

123.JPG

El contexto de fila actual cuando se arrastra a la tabla es Proyecto No. Ahora solo hay un valor de% total para A y, por lo tanto, cualquier valor por debajo o por encima de esto no cambiará y le dará el mismo valor.

Es necesario pensar en términos de contexto de fila y no de celdas en Power BI.

Saludos,

Áspero Nathani

¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

Vandergledison

En respuesta a harshnathani

gracias Harsh,

¿Sería tan amable de enviarme el archivo pbix? cuando uso la tarjeta para mostrar el percentil del 80%, obtengo números de diferencia …

muchas gracias

harshnathani

En respuesta a Vandergledison

Hola @Vandergledison

Busque el archivo pbix.

https://we.tl/t-erx0mbD03j

Saludos,

Áspero Nathani

¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

Vandergledison

En respuesta a harshnathani

Gracias duras,

Todavía necesito profundizar en el video y estudiar todas las medidas.

solo una pregunta rápida, al final tendré un Filtro donde seleccionaré los proyectos que quiero visualizar.

¿Necesito crear una relación con la tabla medida o no es necesario? Me di cuenta de que si no tengo la relación, no se filtrará. sin embargo, pensé que la tabla de medidas calcula los valores en función de mi tabla de datos principal, por lo tanto, esa tabla tiene una relación con los proyectos Nr. tabla y pensé que se filtraría de todos modos.

Gracias

Vandergledison

harshnathani

En respuesta a Vandergledison

Hola @Vandergledison,

Encuentre el pbix adjunto.

https://we.tl/t-gP09fMN6WE

Esto ayuda a filtrar y clasificar sus productos.

Saludos,

Áspero Nathani

¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

Vandergledison

En respuesta a harshnathani

Duro, has dado en el clavo.

ahora solo tendré que profundizar y comprender las medidas que ha escrito.

gracias de nuevo por el apoyo

VG

harshnathani

En respuesta a Vandergledison

Hola @Vandergledison,

Siempre es un placer ayudarte.

Y en el proceso, también aclaré algunos de mis conceptos y encontré algunas cosas interesantes en Power BI.

Como ejemplo al declarar variables var __.80 le dará un error, mientras que var __80 no lo hará.

Gracias por su paciencia.

Saludos,

Áspero Nathani

Vandergledison

En respuesta a harshnathani

Amigo mío, acabo de notar que si selecciono solo algunos de los productos en el filtro, la clasificación no cambiará.

la clasificación de cada producto debe cambiar cuando cambia el filtro. si se seleccionan todos, funcionará, pero si solo se seleccionan 5 proyectos, por ejemplo, la clasificación es la misma y se mantiene igual independientemente de lo que muestre el filtro …

¿alguna idea?

Gracias

harshnathani

En respuesta a Vandergledison

Hola,

¿Puede compartir cuáles son los criterios para la clasificación?

En su publicación anterior, mencionó que desea clasificar 5 en caso de que se encuentre entre el percentil .80 y el percentil 60.

Por favor, comparta todo el caso comercial para que pueda ayudar a resolver el problema.

Saludos,
Duro

Vandergledison

En respuesta a harshnathani

Hola,

Me gustaría clasificar 5 (más de 80p), 4 (más de 60p), 3 (más de 40p), 2 (más de 20p) y 1 para el resto.

La idea es que si tengo 100 productos, tendría una clasificación determinada, al cambiar el filtro a 50 productos (por ejemplo), debería mostrar la nueva clasificación basada solo en estos 50 proyectos seleccionados.

Espero que sea más claro ahora.

el enlace con el archivo a continuación

muchas gracias

Informe de priorización

harshnathani

En respuesta a Vandergledison

Hola @Vandergledison,

Aquí tienes. Espero que este sea su requisito.

Encuentre el archivo pbix adjunto.

https://we.tl/t-SZhdC34XRf

123.JPG

No necesita la tabla recién calculada. Hay una función en DAX para el cálculo de% de las expresiones.

Saludos,

Áspero Nathani

¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

Vandergledison

En respuesta a harshnathani

Hola Harsh,

que quieres decir con «Hay una función en DAX para el cálculo de% de las expresiones.«? Pensé que teníamos que crear una tabla porque el DAx requería columnas … hmm, estoy más confundido ahora.

Mira, exporté los datos de la primera tabla visual con algún proyecto seleccionado y calculé el percentilxc en Excel y no encaja.

Seguiré comprobando.

muchas gracias

harshnathani

En respuesta a Vandergledison

Estimado @Vandergledison,

La idea no es confundirte. Estamos aquí para ayudarte.

Tu requisito era

1. Calcule el% ile basado en Ventas Totales (o% de Venta) para todos los proyectos.

2. Según el% ile calculado, deseaba clasificarlos, es decir, si el% ile es el que deseaba. rango 5 (superior a 80p), 4 (superior a 60p), 3 (superior a 40p), 2 (superior a 20p) y 1 para el resto.

3. También quería que la fórmula calcule los nuevos% archivos de forma dinámica, es decir, si se seleccionan 50 proyectos, solo debería calcular los% archivos de esos 50 productos y luego clasificarlos según los mismos criterios.

Espero que mi comprensión sea correcta, ya que su requisito ha cambiado cada vez que proporcionamos una solución.

1. Confusión en PERCENTILE.EXC y PERCENTILEX.EXC

Anteriormente estábamos calculando% iles en función de una tabla de resumen que tenía una fila para Percentile.EXC. Esto mismo se puede calcular usando PercentilEX.EX donde puede pasar una medida en lugar de una Columna. Vea lo que hace la fórmula.

PERCENTILE.EXC

Devuelve el percentil k-ésimo (exclusivo) de valores en una columna.

Sintaxis

PERCENTILE.EXC ( , )

DESCRIPCIÓN DE LOS ATRIBUTOS DE LOS PARÁMETROS

Columna

Una columna que contiene los valores.

K

Valor percentil deseado en el intervalo [1/(n+1),1-1/(n+1)], donde n es un número de puntos de datos válidos.

Valores devueltos ESCALAR Un solo variante valor.

PERCENTILEX.EXC

Sintaxis

PERCENTILEX.EXC ( , , )

DESCRIPCIÓN DE LOS ATRIBUTOS DE LOS PARÁMETROS

Tabla
ITERADOR

Tabla sobre la que se evaluará la Expresión.

Expresión
CONTEXTO DE FILA

Expresión a evaluar para cada fila de la tabla.

K

Valor percentil deseado en el intervalo [1/(n+1),1-1/(n+1)], donde n es un número de puntos de datos válidos.

Regreso valores ESCALAR Un solo variante valor.

Entonces, ambas funciones hacen lo mismo, la única diferencia son los parámetros que le pasamos. Espero poder aclarar sus dudas al respecto.
2. Excel no muestra el mismo valor
Los% archivos que se muestran en la tarjeta anterior se basan en el proyecto filtrado no.
Déjame explicarte esto en la descripción a continuación.
A continuación se muestra una imagen adjunta que muestra los% iles basados ​​en todas las ventas de su proyecto. es decir, Ventas totales de columna. Dado que hay muchos proyectos cuyo valor de venta es cero, la mayoría de sus% iles se encuentran en la categoría cero.
1.JPG
A continuación, se muestran los nuevos% archivos calculados dinámicamente en función de los números de proyecto filtrados, es decir, la columna Total 7 que he filtrado y me da los nuevos rangos según sus criterios.
2.JPG
Espero haber podido despejar tus dudas.
Se adjunta el pbix final.
https://we.tl/t-jMiGnqU4dI
Saludos,
Áspero Nathani
¿Respondí tu pregunta? ¡Marque mi publicación como una solución! Apreciar con un Kudos !!

Vandergledison

En respuesta a harshnathani

Duro, solo una pregunta rápida:

en los 2 compases a continuación, ¿hizo el primero para responder al filtro (proyecto No)?

Estoy un poco confundido aquí, solo quiero entender la mecánica.

Gracias

Ventas totales por proyecto No = CALCULAR ([Total Sales], ALLEXCEPT (Ventas, Ventas[Project No.]))
veinte percentil =
CALCULAR(
PERCENTILEX.EXC (Ventas,
[Total Sales by Project No],
.2), TODOS SELECCIONADOS (Ventas[Project No.]))

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *