Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola
Agradezco cualquier ayuda de antemano en esto. Estoy tratando de crear un gráfico de Pareto que pueda filtrar dinámicamente. He creado un gráfico de Pareto usando la fórmula siguiente, pero crea algunas partes irregulares en la línea porque algunas categorías tienen los mismos recuentos exactos. Estoy usando una tabla resumida basada en el conjunto de datos subyacente de esa manera puede filtrar dinámicamente (si hay una mejor opción soy todo oídos).
¿Cómo manejo los valores exactos para el pareto? En Excel calcularía un total en ejecución después de haber ordenado los valores de alto a bajo, a continuación, puede crear el porcentaje acumulado. Lo único que podría pensar es tal vez hacer una columna de índice usando dax, pero he golpeado un bloque de carretera allí ya que no hay ninguna columna de referencia y tendría que forzar la ordenación de alguna manera en la tabla resumida.
var totalComplaints = CALCULATE(COUNT(CUSTOMER_FEEDBACK[FEEDBACK#]),ALLSELECTED(CUSTOMER_FEEDBACK))
var currentComplaints = COUNT(CUSTOMER_FEEDBACK[FEEDBACK#])
var summarizedTable =
SUMMARIZE(
ALLSELECTED(CUSTOMER_FEEDBACK),
CUSTOMER_FEEDBACK[DEFECTCODE],
"Complaint Count", COUNT(CUSTOMER_FEEDBACK[FEEDBACK#])
)
var cumulativeSum =
SUMX(
FILTER(summarizedTable, [Complaint Count] >= currentComplaints),
[Complaint Count]
)
return
cumulativeSum/totalComplaints
Este es el resultado de la tabla resumida. Cada categoría es una sola fila de la tabla subyacente.
Categoría | Contar |
Números de identificación | 126 |
No cumple con los requisitos | 105 |
Otro | 79 |
Longitud | 70 |
Forma de rosca | 68 |
Id | 58 |
Burr/Chip | 56 |
Rasguños/Dents | 43 |
Información faltante | 39 |
Hex/Square | 36 |
Falta | 30 |
Diámetro mayor OD/Major | 30 |
Diámetro menor | 29 |
Perfil | 27 |
Cantidad | 27 |
Hola @allegiantBI ,
¿Alguna posibilidad de compartir un archivo PBIX con datos ficticios? (servicio en la nube como onedrive para la empresa)
Enmascarar cualquier dato confidencial antes de cargar.
Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola Liang,
Estoy teniendo exactamente el mismo problema, cuando no se aplican filtros externos, todo funciona
luego, cuando filtro fechas o cualquier otra columna, aparecen algunos duplicados aleatorios
Aquí está la medida DAX utilizada:
Pareto Sales % =
VAR total_rev =
CALCULATE(
SUM( sales[revenue_after_commission] ),
ALLSELECTED( sales )
)
VAR grouped_table =
FILTER(
SUMMARIZE(
ALLSELECTED( sales ),
products[uid],
"grouped_revenue",
SUM( sales[revenue_after_commission] )
),
[grouped_revenue] > 0
)
VAR cummu_rev =
SUMX(
FILTER( grouped_table, SUM( sales[revenue_after_commission] ) <= [grouped_revenue] ) ,
[grouped_revenue]
)
RETURN
DIVIDE( cummu_rev, total_rev )
Es como si ALLSELECTED estuviera fallando, ¿es esto un error?
Por favor, avise, gracias!
Actualizar:
La publicación del informe en línea crea duplicados aleatorios aunque no se seleccione ningún filtro.
Después de jugar en el estudio DAX, descubrí grouped_table y los resultados de SUMMURAZE son realmente consistentes.
Sin embargo, SUMXing una tabla de expresiones da un resultado diferente, desplazando duplicados aleatoriamente cada cálculo, que es kinf de tbh aterrador
El tema es reproducible en cualquier tabla de hechos.
¿Es este un comportamiento normal?
Cualquier ayuda sería muy apreciada, ¡gracias!
Hola Amine,
Gracias por su respuesta
La fuente del problema fue que SUMX no puede iterar sobre valores duplicados para 2 categorías diferentes, cada categoría debe tener cifras de ventas únicas para que la suma acumulada funcione ...
Encontré una forma extraña de hacer que el cálculo acumulativo de SUMX funcione en valores duplicados al restar el ID de categoría dividido por 1000 a los valores para que todos los valores (ventas) se vuelvan únicos:
Pareto Sales % =
VAR total_rev =
CALCULATE(
SUM( sales[revenue_after_commission] ),
ALLSELECTED( sales )
)
VAR grouped_table =
FILTER(
SUMMARIZE(
ALLSELECTED( sales ),
products[uid],
"grouped_revenue",
SUM( sales[revenue_after_commission] )
),
[grouped_revenue] > 0
)
VAR cummu_rev =
SUMX(
FILTER( grouped_table, SUM( sales[revenue_after_commission] ) - MAX( products[uid] ) / 1000 <= [grouped_revenue] ),
[grouped_revenue]
)
RETURN
DIVIDE( cummu_rev, total_rev )
donde los productos y las tablas de ventas están vinculados de la siguiente manera:
¡No es bonito pero funciona!
Intenté cargar un pbix de muestra para ilustrar el problema, pero parece que este tipo de archivo no es compatible
Gracias de nuevo
Hay @aaaaaaaaaaaaaa
Utilice un servicio en línea para cargar su archivo, como Onedrive, Google dirve,.... y comparte el enlace
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.