2017-07-17 81 views
0

我有公司的請假數據。 這裏是樣本數據:Power Bi:在其他表中計算明月的總和

STAFF PL CL ML SP LWP TL Month 
A  1 2 0 0 6 9 April 
B  14 0 4 0 0 18 April 
A  1 2 0 0 1 4 May 
B  1 0 4 0 0 5 May 
A  1 2 0 0 2 5 June 
B  2 0 4 0 0 6 June 

我想這個數據轉換成表結構像這個 -

這裏是樣本數據:

Types of Leave Count Month 
ML    89 4 
CL    114 4 
LWP    17 4 
PL    135 4 
SP    89 4 
ML    89 5 
CL    114 5 
LWP    17 5 
PL    135 5 
SP    89 5 
ML    89 6 
CL    114 6 
LWP    17 6 
PL    135 6 
SP    89 6 

可以用SelectColumns纔有可能,Summarizecolumn dax函數?

我試過 -

SUMMARIZE(Table1, Table1[CL],Table1[LWP],Table1[ML],Table1[PL],"CL2", SUM(Table1[CL]), "ML2", SUM(Table1[ML]), "LW2P",SUM(Table1[LWP]), "P2L", SUM(Table1[PL])) 

它只是給了我奇怪的結果。

+0

如果頂部的數據源,在我看來,你需要刪除TL和名稱列,然後取消轉發數據。將月份名稱轉換爲月份編號,然後您可以使用數據透視表 – teylyn

回答

0

刪除名稱和員工列後刪除數據。然後將月份名稱轉換爲月份編號並構建一個數據透視表。

該屏幕截圖顯示了Excel中的結果,但在Power BI中也可以做到這一點。

enter image description here

下面是用於查詢的M代碼,因爲它當我點擊色帶圖標記錄:

let 
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], 
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"STAFF", type text}, {"PL", Int64.Type}, {"CL", Int64.Type}, {"ML", Int64.Type}, {"SP", Int64.Type}, {"LWP", Int64.Type}, {"TL", Int64.Type}, {"Month", type text}}), 
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"STAFF", "TL"}), 
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Removed Columns", {"Month"}, "Attribute", "Value"), 
    #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Type of Leave"}, {"Value", "Count"}}), 
    #"Added Custom" = Table.AddColumn(#"Renamed Columns", "Custom", each Date.FromText([Month]&"1 2017")), 
    #"Extracted Month" = Table.TransformColumns(#"Added Custom",{{"Custom", Date.Month}}), 
    #"Removed Columns1" = Table.RemoveColumns(#"Extracted Month",{"Month"}), 
    #"Renamed Columns1" = Table.RenameColumns(#"Removed Columns1",{{"Custom", "Month"}}) 
in 
    #"Renamed Columns1"