簡體   English   中英

基於日期列將 Power BI 中的單行轉換為多行

[英]Convert single row to multiple rows in Power BI based a date column

我需要在 Power BI 中按照以下要求轉換數據:

獲取源文件如下:

在此處輸入圖片說明

需要根據每個月的預測月數(第 4 列)將每一行轉換為多行。 下面的費用月份是每個月的 1 號。 然后將每個月計划費用的費用除以預測月份。

在此處輸入圖片說明

如何在 Power BI 中實現這一點?

您可以在電源查詢編輯器中執行此轉換。 下面是轉換代碼-

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUXJ0cgaSRgZGhroGlrpGBkCOGQgbKMXqRCsZAZkurm5wFWa6BiBNpkBsDFFhDGRGREbBVVhAVFiAVBgpxcYCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, Title = _t, #"Project Start Date" = _t, #"Project Months" = _t, Expense = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Title", type text}, {"Project Start Date", type date}, {"Project Months", Int64.Type}, {"Expense", Int64.Type}}),
    #"Calculated Start of Month" = Table.TransformColumns(#"Changed Type",{{"Project Start Date", Date.StartOfMonth, type date}}),
    #"Added Custom" = Table.AddColumn(#"Calculated Start of Month", "Custom", each List.Range({1..[Project Months]},0)),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each [Expense]/[Project Months]),
    #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom1", "Custom"),
    #"Added Custom2" = Table.AddColumn(#"Expanded Custom", "Custom.2", each Date.AddMonths([Project Start Date],[Custom]-1)),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom2",{"Project Start Date", "Project Months", "Expense", "Custom"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Custom.2", "Expense Month"}, {"Custom.1", "Planned Expense"}})
in
    #"Renamed Columns"

這是最終的輸出 -

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM