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

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.

Reply
Syndicate_Admin
Administrator
Administrator

Los totales de filas de matriz son incorrectos

He estado tratando de mostrar alguna medida de correlación cruzada entre un factor de criticidad y una calificación de rendimiento. Esperaba usar promedios ponderados, pero la función media ponderada en PBI no parece funcionar (al menos, no para mis datos).

Por lo tanto, tengo un conjunto de datos de una encuesta de varios encuestados, con respecto a las características de un producto y cómo funcionan esas características en varios modelos diferentes del producto. Los encuestados tienen diferentes grados de familiaridad con los diferentes modelos, por lo que la mayoría sólo han entrado en las calificaciones de rendimiento en 1 o 2 productos (3 tops). He creado una columna que cruza mulitplies la clasificación de rendimiento (0-10) veces la puntuación de criticidad (1-5).

Debido a que algunos modelos han sido utilizados por más personas, quiero utilizar la puntuación media multiplicada (para controlar el número de encuestados que utilizan un modelo en particular).

Por lo tanto, junté una matriz con características en filas y modelos de productos en columnas, y esto es lo que tengo (snip):

ripstaur_0-1614531359027.png

Los "totales" de columna en la tabla superior son promedios (¿porque supongo que tienen que serlo?) y son los promedios correctos de todos los valores de la columna. Los "totales" de la fila, sin embargo, no son correctos. Esta es la versión de Excel de la misma tabla:

ripstaur_1-1614531939282.png

Estoy en una pérdida para entender por qué los números son incorrectos.

1 ACCEPTED SOLUTION

Creo que lo tengo resuelto. PBI promedia los valores reales, no los promedios de los valores de los productos. Creo que es una mejor manera de hacerlo.

View solution in original post

12 REPLIES 12
Syndicate_Admin
Administrator
Administrator

@ripstaur Vaya al Editor de consultas de energía. Cree una nueva consulta en blanco. Haga clic en Editor avanzado. Ctrl-A para seleccionar todo el código. Copie en todo el código que he proporcionado reemplazando todo lo que está actualmente en la consulta en blanco. Guarde la consulta.

Creo que lo tengo resuelto. PBI promedia los valores reales, no los promedios de los valores de los productos. Creo que es una mejor manera de hacerlo.

Syndicate_Admin
Administrator
Administrator

@ripstaur Esto parece un problema de totales de medida. Muy común. Vea mi publicación al respecto aquí: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376

Además, esta medida rápida, totales de medida, la última palabra debe obtener lo que necesita:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907

Por lo tanto, voy a admitir que soy un novato, y aunque he pasado por el entrenamiento en línea gratuito en el contexto del filtro dos veces ahora, todavía estoy perdido con todas las funciones de filtro y -X.

Por lo tanto, entiendo que cuando construí una matriz y usé las Características como filas y los Productos como columnas, estaba agrupando los resultados en una pestaña cruzada con esas dos categorías, así que obteré la suma o el promedio de todos los valores de la tabla para cada característica por producto. No tengo (o al menos, no he creado consciente o deliberadamente) ninguna medida en absoluto. Sólo tengo campos que he seleccionado para las columnas de matriz, filas y valores, y he conectado "Cross Multiplied" para Values.

Por lo tanto, no sé dónde comenzaría a agregar la función HASONEFILTER a cualquier cosa, o por qué sería útil. Los únicos filtros de mi tabla son los filtros predeterminados (Todos) que PBI pone al seleccionar los campos...

He intentado una serie de iteraciones en Excel para ver si puedo replicar los números PBI me está dando para totales de fila (en realidad promedios de fila), pero no he sido capaz de encontrar un algoritmo que me da los resultados PBI.

Traté de poner una tabla con algunos datos de ejemplo... por supuesto, no podemos tener eso.

@ripstaur Puede que haya malinterpretado la pregunta. ¿Qué no es correcto? ¿La última fila de la matriz o las dos últimas columnas?

Son los totales en la última columna - la matriz los pone allí, y los quiero, pero necesito que sean correctos. Dado que todos los números de las filas y columnas son promedios, PBI me obliga a usar promedios en los totales (en realidad sub-) en la fila más derecha y inferior. Los números de la fila de totales en la parte inferior son correctos (cada uno es un promedio de los números de la columna). Los números de THe en la columna derecha no son los promedios en todas las filas- No sé cómo se calculan. Están algo cerca, pero no correctos.

@ripstaur ¿Puede compartir los datos de origen de ejemplo o PBIX para volver a crearlos? No estoy seguro de dónde viene ese número de otra manera.

Me encantaría... De hecho, pasé una hora más o menos juntando un archivo de ejemplo, pero no veo un enlace adjunto aquí.

@ripstaur - Prueba lo siguiente:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("pdTRasIwFAbgVzl4pVBretJ21buxIBO2IVOGYEXUHV0gGknTsb79Uh3TsQ5G+180gXO+/y6dz1vwolW+J5AHeDXynUCAzOBeiFlr4V3GEzJypeAp36/JlBszl275Oa2dd4U0tLHaFKC3IAZpOqX98TJn2MOkhwwDAJYMkMP4EVzSnDG+EaPn04XgO35NVu3wy10l6HNYZZnM7Opgl/LgTqXILEvEEBN3YsR9pXeVjex3oxvAVioKoAt3+lhAGzu+/bD1PW/ow4Y+aujjhv6moU8a+n49XwdhNYoH4R9oOJvcjkeC1vnuQe+GruLfDRHzMIhh+ma0tYomVh/9rMjOD/lHAg5lczvrXOOQ9WFdWKoSgOWv4ATc+/GSOPKQo8eT8Exga4hai8Un", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"D:\Temp>dir" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"D:\Temp>dir", type text}}),
    #"Removed Bottom Rows" = Table.RemoveLastN(#"Changed Type",2),
    #"Removed Top Rows" = Table.Skip(#"Removed Bottom Rows",7),
    #"Split Column by Position" = Table.SplitColumn(#"Removed Top Rows", "D:\Temp>dir", Splitter.SplitTextByPositions({0, 32}, false), {"D:\Temp>dir.1", "D:\Temp>dir.2"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Position",{{"D:\Temp>dir.1", type datetime}, {"D:\Temp>dir.2", type text}}),
    #"Trimmed Text" = Table.TransformColumns(#"Changed Type1",{{"D:\Temp>dir.2", Text.Trim, type text}}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Trimmed Text", "D:\Temp>dir.2", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"D:\Temp>dir.2.1", "D:\Temp>dir.2.2"}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"D:\Temp>dir.2.1", Int64.Type}, {"D:\Temp>dir.2.2", type text}}),
    #"Renamed Columns" = Table.RenameColumns(#"Changed Type2",{{"D:\Temp>dir.1", "Date"}, {"D:\Temp>dir.2.1", "Size"}, {"D:\Temp>dir.2.2", "Filename"}})
in
    #"Renamed Columns"

No estoy seguro de lo que es todo eso, pero supongo que es el código M?

¿Hay algún enlace en algún lugar donde podamos publicar archivos? Si es así, pondré el archivo de ejemplo y un pbix que construí a partir de él.

Este es el resultado:

ripstaur_0-1614605185274.png

¿Qué debo hacer a continuación?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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