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 a todos
Estoy trabajando en un escenario de presupuesto frente a real.
En la "Tabla de presupuesto" tengo un presupuesto detallado para algunos clientes importantes, y una gran cantidad de pequeños clientes agrupados como "Otros".
En la "Tabla de reales" tengo a todos estos pequeños clientes uno por uno
También tengo dos tablas de dimensiones denominadas "Clientes" con todos los datos maestros y "Clientes de presupuesto", con solo nuestros principales clientes y el artículo "otros"
Estas son las tablas de dimensiones:
Ambos están relacionados por "Cust ID" y "Budget Cust ID"
Las tablas de hechos:
Y el resultado deseado:
No puedo agrupar las ventas reales a los pequeños clientes en el otro grupo
Gracias de antemano
Pablo.
Solved! Go to Solution.
Haría esto en Power Query antes de incorporar los datos a su modelo DAX. THat es para lo que está diseñado Power Query.
Se convierte en esto:
en esto:
Ponga este código M en una consulta en blanco para ver lo que hice. No tenía datos reales ni sabía cuál era su punto de decisión sobre lo que era un cliente real y lo que se resumió en "Otros clientes", así que arbitrariamente elegí mirar los primeros 5 caracteres de los nombres de clientes falsos que estaba usando. Podría hacerlo fuera del valor de ventas, o de algún otro campo que quizás no haya mostrado, como clase de cliente, categoría, etc.
Tenga en cuenta también antes de traerlo a DAX, incluso podría hacer un grupo en los primeros 2 columsn y resumir las ventas y sólo traer una línea "Otro cliente" con un total de sus ventas en una línea si lo desea.
1) En Power Query, seleccione Nuevo origen y, a continuación, Consulta en blanco
2) En la cinta inicio, seleccione el botón "Editor avanzado"
3) Retire todo lo que ve, luego pegue el código M que le he dado en ese cuadro.
4) Pulse Hecho
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUXIuLS7Jz00tArENDQwMlGJ1opWMgBz/kozUouTSYpCEiSlY2BhJGKTEEqg6FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, Column1 = _t, Column2 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Column1", type text}, {"Column2", Int64.Type}}),
#"Added NewID" = Table.AddColumn(#"Changed Type", "NewID", each if Text.Start([Column1], 5) = "Other" then 999 else [ID], Int64.Type),
#"Added New Name" = Table.AddColumn(#"Added NewID", "New Name", each if [NewID] = 999 then "Other Customers" else [Column1], type text),
#"Removed Other Columns" = Table.SelectColumns(#"Added New Name",{"NewID", "New Name", "Column2"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns",{{"NewID", "ID"}, {"New Name", "Name"}, {"Column2", "Sales"}})
in
#"Renamed Columns"
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reporting@paliman, preferiría una tabla de dimensiones de cliente la que aparece en la 2a y añadir una nueva fila en esa
Otros, Otros clientes
O
-1, Otro cliente
Esto se puede hacer si tiene una nueva tabla con esa fila y combinarlas en el modo de consulta Editar.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reporting@paliman, preferiría una tabla de dimensiones de cliente la que aparece en la 2a y añadir una nueva fila en esa
Otros, Otros clientes
O
-1, Otro cliente
Esto se puede hacer si tiene una nueva tabla con esa fila y combinarlas en el modo de consulta Editar.
Haría esto en Power Query antes de incorporar los datos a su modelo DAX. THat es para lo que está diseñado Power Query.
Se convierte en esto:
en esto:
Ponga este código M en una consulta en blanco para ver lo que hice. No tenía datos reales ni sabía cuál era su punto de decisión sobre lo que era un cliente real y lo que se resumió en "Otros clientes", así que arbitrariamente elegí mirar los primeros 5 caracteres de los nombres de clientes falsos que estaba usando. Podría hacerlo fuera del valor de ventas, o de algún otro campo que quizás no haya mostrado, como clase de cliente, categoría, etc.
Tenga en cuenta también antes de traerlo a DAX, incluso podría hacer un grupo en los primeros 2 columsn y resumir las ventas y sólo traer una línea "Otro cliente" con un total de sus ventas en una línea si lo desea.
1) En Power Query, seleccione Nuevo origen y, a continuación, Consulta en blanco
2) En la cinta inicio, seleccione el botón "Editor avanzado"
3) Retire todo lo que ve, luego pegue el código M que le he dado en ese cuadro.
4) Pulse Hecho
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUXIuLS7Jz00tArENDQwMlGJ1opWMgBz/kozUouTSYpCEiSlY2BhJGKTEEqg6FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, Column1 = _t, Column2 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Column1", type text}, {"Column2", Int64.Type}}),
#"Added NewID" = Table.AddColumn(#"Changed Type", "NewID", each if Text.Start([Column1], 5) = "Other" then 999 else [ID], Int64.Type),
#"Added New Name" = Table.AddColumn(#"Added NewID", "New Name", each if [NewID] = 999 then "Other Customers" else [Column1], type text),
#"Removed Other Columns" = Table.SelectColumns(#"Added New Name",{"NewID", "New Name", "Column2"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns",{{"NewID", "ID"}, {"New Name", "Name"}, {"Column2", "Sales"}})
in
#"Renamed Columns"
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingCovering 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 |