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.
EL PROBLEMA: Estoy tratando de resolver un problema con la agregación de mis datos de origen limpiamente por mes.
Fondo:
Mis filas de datos de origen tienen un total y una fecha de inicio de la semana, no es en días. Lo que quiero hacer es convertir los datos de la fuente en días, dividiendo el total de cada semana por 5 y asignando ese valor a los días de lunes a viernes en la semana para que pueda crear limpiamente objetos visuales totales mensuales.
Ejemplo de datos de origen: 11/1/2020, 7.500, 11/8/2020, 25.000, 11/15/2020, 70.000......
Solución:
Espero que haya una manera de usar DAX o Power Query para seleccionar mis datos de origen en una tabla que tenga este aspecto (usando el ejemplo de datos de origen anterior):
11/1/2020, 7.500o en este: 11/2/2020, 1,500o, 11/3/2020, 1.500o, 11/4/2020.
Estoy pensando que debe haber una manera de hacer esto, pero no me he encontrado con este escenario exacto en mi búsqueda hasta ahora. Cualquier ayuda sería muy apreciada!!!
¡Gracias!
Solved! Go to Solution.
Si está realizando análisis a nivel de mes, no estoy seguro de por qué se necesita esta transformación. En cualquier caso, aquí hay una manera de hacerlo en el editor de consultas. Para ver cómo funciona, simplemente cree una consulta en blanco, vaya a Editor avanzado y reemplace el texto allí con el código M a continuación.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjTUN9Q3MjAyUNJRMjc1MFCK1QELWsAEjYCCcFFDU5gwSBQoHAsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [WeekStart = _t, Total = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"WeekStart", type date}, {"Total", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "DayList", each let start = [WeekStart] in List.Transform({1..5}, each Date.AddDays(start,_))),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "DayTotal", each [Total]/5),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom1",{"DayList", "DayTotal"}),
#"Expanded DayList" = Table.ExpandListColumn(#"Removed Other Columns", "DayList"),
#"Renamed Columns" = Table.RenameColumns(#"Expanded DayList",{{"DayList", "Date"}}),
#"Changed Type1" = Table.TransformColumnTypes(#"Renamed Columns",{{"Date", type date}, {"DayTotal", type number}})
in
#"Changed Type1"
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Si está realizando análisis a nivel de mes, no estoy seguro de por qué se necesita esta transformación. En cualquier caso, aquí hay una manera de hacerlo en el editor de consultas. Para ver cómo funciona, simplemente cree una consulta en blanco, vaya a Editor avanzado y reemplace el texto allí con el código M a continuación.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjTUN9Q3MjAyUNJRMjc1MFCK1QELWsAEjYCCcFFDU5gwSBQoHAsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [WeekStart = _t, Total = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"WeekStart", type date}, {"Total", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "DayList", each let start = [WeekStart] in List.Transform({1..5}, each Date.AddDays(start,_))),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "DayTotal", each [Total]/5),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom1",{"DayList", "DayTotal"}),
#"Expanded DayList" = Table.ExpandListColumn(#"Removed Other Columns", "DayList"),
#"Renamed Columns" = Table.RenameColumns(#"Expanded DayList",{{"DayList", "Date"}}),
#"Changed Type1" = Table.TransformColumnTypes(#"Renamed Columns",{{"Date", type date}, {"DayTotal", type number}})
in
#"Changed Type1"
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
¡Gracias, Pat! ¡Lo intentaré! Quiero una agregación CLEAN del total por mes (suponiendo una distribución uniforme del total durante los 5 días laborables en la semana) que no se puede hacer cuando los datos de origen no se dividen en días - a menos que me esté perdiendo algo (ciertamente posible, simplemente viniendo en esto con lo que sé)?
En este momento, estoy usando una herramienta ETL para crear otra tabla SQL de origen que hace esta conversión por mí, pero pensé que había una mejor manera de hacerlo con las herramientas dentro de Power BI para poder deshacerme de la creación de esa segunda tabla.
¡Aprecia la respuesta!
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 | |
2 | |
2 | |
2 | |
1 |