我在PowerBI中有一个如下所示的表:
Date StoreID Car Sales <Row Num (for explanation only)>
1/1/2017 1 0 1
1/2/2017 1 0 2
1/3/2017 1 0 3
1/4/2017 1 20 4
1/5/2017 1 13 5
1/6/2017 1 0 6
1/7/2017 1 31 7
1/4/2017 2 0 8
1/5/2017 2 0 9
1/6/2017 2 7 10
1/7/2017 2 0 11
1/8/2017 2 10 12
我要做的是创建一个度量来计算每天的汽车销售量(所以在带有日期的X轴线图上),但是消除行/记录为0,直到第一个具有销售价值。换句话说,我想要消除第1,2和3行,但不要消除第6行,因为这是没有卖车的合法日子。我也希望为每个StoreID执行此操作,因此我想要消除第8行和第9行,但不是第11行。是否有任何方法可以提出在PowerBI中完成此操作的度量/列(或其他方法)?
答案 0 :(得分:1)
您可以按StoreID进行分组,然后使用以下内容对每列进行转换:按[Date]排序,然后使用Table.Skip
删除[Car Sales]为0的行。(按[Date]排序可能不太必要,但group by可以改变排序。)然后展开分组表。
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type datetime}, {"StoreID", Int64.Type}, {"Car Sales", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"StoreID"}, {{"Grouped", (grouped) => let
#"Sorted Rows" = Table.Sort(grouped,{{"Date", Order.Ascending}}),
SkipNoCarSales = Table.Skip(#"Sorted Rows", each [Car Sales] = 0)
in
SkipNoCarSales, type table}}),
#"Expanded Grouped" = Table.ExpandTableColumn(#"Grouped Rows", "Grouped", {"Car Sales", "Date"}, {"Car Sales", "Date"}),
#"Reordered Columns" = Table.ReorderColumns(#"Expanded Grouped",{"Car Sales", "StoreID", "Date"})
in
#"Reordered Columns"