背景: 現有文件數據,Test Data下有三個文件夾CN,EN,JP,每個文件夾下面有兩個Excel文件命名為Actual,Plan
讀取數據步驟:
Step1 - 打開PBI並連接到文件夾,點擊【轉換數據】進入Power Query界面
(可選) Step2 - 選擇路徑列,點擊添加列>提取>選范圍>提取路徑中的Country信息
Step3 - 添加自定義列,提取數據 = Excel.Workbook([Content],true)
Step4 - 展開【提取數據】列后,選擇Data列和文本范圍(Country),刪除其他列
Step5 - 展開Data列,然后將文本范圍重命名為Country。
完。
附 Issue#1 - Plan Data 包含了今年一年的數據,Actual目前只有1-5 月的數據。 想用PowerBI 把Plan和Actual 放在一張表,並用Actual的數據替換Plan 的數據。(如果Actual 有6月的數據,刷新PBI后自動用Actual 6月的數據替換Plan的數據。。)
實現:
1 - 在Plan表查詢Actual表,並添加自定義列將plan表Value 替換為Actual.Value ( each if [actual.Value1]=null then [Value1] else [actual.Value1] )
2 - 若表內有多個Value,用 and 連接多個條件
let 源 = Table.NestedJoin(plan, {"Year", "Month"}, actual, {"Year", "Month"}, "actual", JoinKind.LeftOuter), #"展開的“actual”" = Table.ExpandTableColumn(源, "actual", {"Value1"}, {"actual.Value1"}), 已添加自定義 = Table.AddColumn(#"展開的“actual”", "自定義", each if [actual.Value1]=null then [Value1] else [actual.Value1]), 刪除的列 = Table.RemoveColumns(已添加自定義,{"Value1", "actual.Value1"}), 重命名的列 = Table.RenameColumns(刪除的列,{{"自定義", "Value"}}) in 重命名的列