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, tengo un enorme conjunto de datos de >1.5mil filas cargadas en Power BI. Estoy tratando de segmentar el 2% superior, el próximo 20%, quedando el 78% por valor dentro de cada categoría (A, B, C). He estado agregando columnas usando M en lugar de DAX mientras leí que el rendimiento es más rápido ya que el conjunto de datos es bastante grande. Estaba explorando la creación de tablas basadas en los valores N principales, pero eso podría ser bastante tedioso; también ordenar de alto a bajo y asignar % podría ser una opción también, pero será demasiado gravoso sobre el rendimiento. ¿Alguna sugerencia sobre formas eficientes de hacerlo?
¡Gracias!
La tabla resultante debe agregar la 4a columna con etiquetado
Persona | Categoría | Valor | Etiquetado |
Persona 1 | A | 100 | Top 2% |
Persona 2 | A | 80 | Siguiente 20% |
Persona 3 | A | 60 | Resto del 70% |
Persona 4 | A | 40 | Resto del 70% |
Persona 5 | A | 20 | Resto del 70% |
Persona 6 | A | 10 | Resto del 70% |
Persona 7 | B | 200 | ... |
Persona 8 | C | 50 | ... |
Persona 9 | C | 50 | ... |
Solved! Go to Solution.
Hola @kucci
Puede intentar crear columnas calculadas y funciona bien.
Construyo una muestra que tiene 1 millón de filas para tener una prueba.
Rank = RANKX(FILTER(Sheet2,Sheet2[Category]=EARLIER(Sheet2[Category])),Sheet2[Value],,DESC,Dense)
Tag =
Var _MaxRank = MAXX(FILTER(Sheet2,Sheet2[Category] = EARLIER(Sheet2[Category])),Sheet2[Rank])
return
SWITCH(TRUE(),Sheet2[Rank]<=_MaxRank*0.02," Top 2%",Sheet2[Rank]<=_MaxRank*0.22,"Next 20%","Remaining 70%")
Resultado:
Si esta respuesta todavía no podría ayudarle a resolver su problema, ¿podría decirme su lógica de cálculo para calcular TopN?
¿Caluste el Top N por el rango para cada categoría?
Puede descargar el archivo pbix desde este enlace: Forma eficiente de calcular el porcentaje superior dentro de una categoría
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @kucci
Puede intentar crear columnas calculadas y funciona bien.
Construyo una muestra que tiene 1 millón de filas para tener una prueba.
Rank = RANKX(FILTER(Sheet2,Sheet2[Category]=EARLIER(Sheet2[Category])),Sheet2[Value],,DESC,Dense)
Tag =
Var _MaxRank = MAXX(FILTER(Sheet2,Sheet2[Category] = EARLIER(Sheet2[Category])),Sheet2[Rank])
return
SWITCH(TRUE(),Sheet2[Rank]<=_MaxRank*0.02," Top 2%",Sheet2[Rank]<=_MaxRank*0.22,"Next 20%","Remaining 70%")
Resultado:
Si esta respuesta todavía no podría ayudarle a resolver su problema, ¿podría decirme su lógica de cálculo para calcular TopN?
¿Caluste el Top N por el rango para cada categoría?
Puede descargar el archivo pbix desde este enlace: Forma eficiente de calcular el porcentaje superior dentro de una categoría
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
¡Gracias, esto funcionó bien! No me di cuenta de que tenía que crear una columna calculada en lugar de una medida.
@kucci , ver si este blog de percentiles puede 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
Creo que hay un blog de Greg sobre el bucketing acumulativo. No tengo el enlace a mano.
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |