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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

¿Crear una matriz de correlación para dos variables de varios valores?

Hola, necesito orientación sobre cómo crear una matriz de correlación entre dos variables de varios valores.

Datos de ejemplo:

NewToPowerBI2_0-1697791480589.png

1. Resultado final deseado (esto se contó manualmente, incompleto y podría tener errores, solo una ilustración aproximada para mayor claridad):

NewToPowerBI2_1-1697791761764.png

Quiero tener una matriz de correlación que muestre el número de veces que aparece un valor Y (por ejemplo, Y1) cuando aparece un valor X (por ejemplo, X1).

Lo que he probado: Separé las dos columnas en dos nuevas tablas (Table_X, Table_Y) y quité la dinamización de cada una:

NewToPowerBI2_3-1697792069392.png

NewToPowerBI2_4-1697792085488.png

También creé una tabla Index_Lookup con los índices. Luego, hice una relación entre las columnas de índice de Table_X / Table_Y y la tabla Index_Lookup. Estas relaciones son de uno a muchos de Index_Lookup (uno) a Table_X / Table_Y (muchos). También hay Variable X_Lookup y Variable Y_Lookup que enumeran los posibles valores de X e Y respectivamente. De nuevo, relación de uno a muchos hecha de Variable X_Lookup / Variable Y_Lookup (uno) a Table_X / Table_Y (muchos).

NewToPowerBI2_7-1697794066834.png

Seleccioné VariableX_Name para las filas y VariableY_Name para las columnas, luego intenté poner Count of Index from Table_X o Table_Y como valor, pero no parece funcionar. Entiendo que en este sentido el "flujo" de las flechas de relación no se alinean, por lo que la matriz no funcionaría. ¿Cómo debo resolver esto? ¿Una relación de varios a varios entre las columnas de índice de Table_X y Table_Y resolvería el problema?

---

Otra forma de correlación que estoy tratando de lograr es la correlación dentro de la variable.

2. Resultado final deseado:

NewToPowerBI2_6-1697793544118.png

Lo que he intentado: Seguí este https://www.daxpatterns.com/basket-analysis/ y https://www.youtube.com/watch?v=8oJ7U0KvAI8.

El análisis de la canasta podría haber funcionado (obtuve valores porcentuales en la matriz), pero no puedo averiguar cómo modificar el código para hacer un conteo en lugar de un porcentaje. Además, no estoy muy seguro de si estoy ingresando las columnas correctas en los códigos. Generalmente, reemplacé:

Sales[ProductKey] = Table_Y[Variable_Y]
Ventas[Número de pedido] = Table_Y[Índice]
'and product'[and productKey] = 'y variable Y_Lookup'[y VariableY_Key]

El ejemplo de YouTube no funcionó, ya que no pude averiguar qué columna poner en valor.

¡Apreciamos mucho cualquier forma de direcciones!

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Estás en el camino correcto, más o menos. El primer paso es crear todas las permutaciones entre los valores x e y. La columna de índice es interesante, pero no es realmente necesaria.

Así que pasas de

lbendlin_0-1698096885131.png

Para

lbendlin_1-1698096959293.png

mediante el uso de dos divisiones simples

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("NU7LFcAwCNrFM4dG82lnycv+azQQc9AnCOicVgxWELs7AtUWpjnRrsCAiwmhLlUXU+lTEbU9kalouae2wdVP6mBG3jmu9zjkJf5ScfflyUcUun4=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Index = _t, #"Variable X" = _t, #"Variable Y" = _t]),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(Source, {{"Variable X", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Variable X"),
    #"Split Column by Delimiter1" = Table.ExpandListColumn(Table.TransformColumns(#"Split Column by Delimiter", {{"Variable Y", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Variable Y"),
    #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"Index", Int64.Type}, {"Variable X", Int64.Type}, {"Variable Y", Int64.Type}})
in
    #"Changed Type"

Luego, en DAX, puede hacer una correlación de Pearson simple a partir de una medida rápida si lo desea.

lbendlin_2-1698097178497.png

, puede modificar el código generado automáticamente o puede cambiar el suyo propio.

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors