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!
Soy nuevo en Dax y espero que alguien pueda ayudarme.
Importé 2 archivos de Excel a Power BI. Uno tiene datos de ventas de 2021 del 1 de enero al 1 de octubre. Uno tiene datos de ventas de 2020 del 1 de enero al 31 de diciembre. Quería crear una tabla y mostrar la siguiente información en power bi:
Columna A = Nombres de comerciantes, Columna B = 2021 Enero 1- Oct 1 Ventas, Columna C = 2020 Ene 1 - Oct 1 Ventas, Columna D = Columna B-C
Lo que hice:
Creé un calendario con fechas de 2020/1/1-2021/12/31 e intenté usarlo como rebanadora y filtrar el período 2020/1/1-2021/10/31. Sin embargo, de esta manera no podría excluir los datos del 2 de octubre al 31 de diciembre de 2020 de la Columna C.
Aprendí sobre 'sameperiodlastyear', pero los videos de youtube mostraban cómo usar esta función para encontrar los datos del año pasado cuando los datos de los dos años están en la misma tabla / columna.
Mis preguntas son:
1. Si los datos de 2020 y 2021 están en dos tablas diferentes, ¿cómo crear una tabla en Power BI similar a la tabla siguiente para mostrar los datos de ventas en el mismo período de 2021 y 2020 (columnas B y C)?
2. ¿Cómo crear un cálculo para mostrar las diferencias en las ventas entre el mismo período en dos años diferentes (columna C)?
¡Muchas gracias por su ayuda de antemano!
Solved! Go to Solution.
Recomendaría transformar cada tabla a partir de este formato
En este formato
para cada año separado y luego anexándolos todos juntos.
Aquí hay una consulta de ejemplo que puede pegar en el Editor avanzado y luego hacer clic en los pasos para ver cómo funciona:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTIyMDAAUqYgwhDCNgIRxhC2oalSrE60khNCxNgAoQvMNjaFsCEqnUGyEBFDAwQbYr4pTBdIpQuSiCnCdjMkXSZAlbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Company = _t, #"Jan Total ($)" = _t, #"Jan Total Units" = _t, #"Feb Total ($)" = _t, #"Feb Total Units" = _t, #"Mar Total ($)" = _t, #"Mar Total Units" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Company", type text}, {"Jan Total ($)", Int64.Type}, {"Jan Total Units", Int64.Type}, {"Feb Total ($)", Int64.Type}, {"Feb Total Units", Int64.Type}, {"Mar Total ($)", Int64.Type}, {"Mar Total Units", Int64.Type}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Company"}, "Attribute", "Value"),
#"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Columns", "Attribute", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Month", "Metric"}),
#"Pivoted Column" = Table.Pivot(#"Split Column by Delimiter", List.Distinct(#"Split Column by Delimiter"[Metric]), "Metric", "Value"),
#"Added Custom" = Table.AddColumn(#"Pivoted Column", "Year", each 2020, Int64.Type),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Date", each Date.FromText([Month] & " " & Number.ToText([Year])), type date)
in
#"Added Custom1"
Hay @cathyyue ,
1. Si los datos de 2020 y 2021 están en dos tablas diferentes, puede crear una tabla de calendario y una nueva tabla de comerciante, establecer relaciones con las dos tablas de origen
Calendar = CALENDAR("2020/1/1","2021/12/31")
Merchant table = DISTINCT('2021 Sales Table'[Merchant])
Cree dos medidas para calcular las ventas:
2021 Jan1 - Oct1 Sales = SUM('2021 Sales Table'[Sales])
2020 Jan1 - Oct1 Sales =
CALCULATE (
SUM ( '2020 Sales Table'[Sales] ),
DATEADD ( 'Calendar'[Date], -1, YEAR )
)
2. Crea otra medida para calcular la diferencia:
Difference in Sales = [2021 Jan1 - Oct1 Sales] - [2020 Jan1 - Oct1 Sales]
Saludos
Equipo de apoyo a la comunidad _ Yingjie Li
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
¿Hay alguna razón por la que no pueda combinar ambas mesas en una sola? Por lo general, no es una buena idea tener mesas separadas durante años separados.
Será más fácil trabajar con ellos si sus datos están formateados en una sola tabla como esta:
Comerciante | Año | Ventas |
A |
2020 | 4000 |
B | 2020 | 7000 |
C | 2020 | 1500 |
D | 2020 | 4200 |
A | 2021 | 5000 |
B | 2021 | 3000 |
C | 2021 | 1200 |
D | 2021 | 3200 |
Hola Alexis,
Gracias por su mensaje.
Los archivos originales que recibí se ven así:
1er archivo - Ventas mensuales por empresa. En lugar de colocarse horizontalmente, toda la información se organiza verticalmente.
2º archivo - Ventas totales por empresa (no se muestra la columna 'año')
Además de organizar los datos de diferentes años en una sola tabla, ¿hay alguna otra cosa que sugiera que deba tener en cuenta al formatear los datos antes de usarlos en Power BI (según mis capturas de pantalla de los archivos originales)?
¡Gracias!
Cathy
Recomendaría transformar cada tabla a partir de este formato
En este formato
para cada año separado y luego anexándolos todos juntos.
Aquí hay una consulta de ejemplo que puede pegar en el Editor avanzado y luego hacer clic en los pasos para ver cómo funciona:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTIyMDAAUqYgwhDCNgIRxhC2oalSrE60khNCxNgAoQvMNjaFsCEqnUGyEBFDAwQbYr4pTBdIpQuSiCnCdjMkXSZAlbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Company = _t, #"Jan Total ($)" = _t, #"Jan Total Units" = _t, #"Feb Total ($)" = _t, #"Feb Total Units" = _t, #"Mar Total ($)" = _t, #"Mar Total Units" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Company", type text}, {"Jan Total ($)", Int64.Type}, {"Jan Total Units", Int64.Type}, {"Feb Total ($)", Int64.Type}, {"Feb Total Units", Int64.Type}, {"Mar Total ($)", Int64.Type}, {"Mar Total Units", Int64.Type}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Company"}, "Attribute", "Value"),
#"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Columns", "Attribute", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Month", "Metric"}),
#"Pivoted Column" = Table.Pivot(#"Split Column by Delimiter", List.Distinct(#"Split Column by Delimiter"[Metric]), "Metric", "Value"),
#"Added Custom" = Table.AddColumn(#"Pivoted Column", "Year", each 2020, Int64.Type),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Date", each Date.FromText([Month] & " " & Number.ToText([Year])), type date)
in
#"Added Custom1"
¡Gracias Alexis por pasar tu precioso tiempo para ayudarme! ¡Estoy realmente más que agradecido por toda su ayuda! ! ¡Realmente aprendí mucho de ti! Lo intentaré y te haré saber cómo funciona!!! 🙂
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 |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |