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

¿Cómo mostrar datos en el mismo período pero diferente año en una tabla?

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:

Screenshot 2021-10-26 130548.png

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)?

Screenshot 2021-10-26 130548.png

¡Muchas gracias por su ayuda de antemano!

1 ACCEPTED SOLUTION

Recomendaría transformar cada tabla a partir de este formato

AlexisOlson_0-1635805598309.png

En este formato

AlexisOlson_1-1635805653787.png

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"

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

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])

vyingjl_0-1635475670753.png

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]

vyingjl_1-1635475739449.png

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.

Syndicate_Admin
Administrator
Administrator

¿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.

Screenshot 2021-11-01 175855.png

2º archivo - Ventas totales por empresa (no se muestra la columna 'año')

Screenshot 2021-11-01 175526.png

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

AlexisOlson_0-1635805598309.png

En este formato

AlexisOlson_1-1635805653787.png

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!!! 🙂

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.