PowerBI 中的实际与计划
Actual Vs Plan in PowerBI
我在 PowerBi 中遇到问题,我想在其中获得实际与计划的结果。我有 3 tables、图书销售 Table、计划 table 和书名 table。我想要 Desired Output table.
中的结果
Book Sales
Titles
Plan
Desired Output
这可以通过几种不同的方式完成,但我建议在 SQL 个人中进行。这意味着您可以:
Select 从您要显示的所有 table 到相同的 table。让我们称之为产品。
然后加入你想要的值。
这样,就没有需要时间的 dax 计算,而只是在刷新数据集本身时需要时间的事情。
您可以在 Power Query M 代码中执行此操作
- 加入 Sales 和 Titles tables 以提取每种图书类型的出版单位
- 为每个销售数字添加一个代表每个月开始的列
- 如果一个月内有多个 sales/unit
,则按 BOM 和单位分组并用 Sum 聚合
- 根据单位和日期
将最后一个 table 与计划 table 合并
M码
let
//Join the Sales and Titles to get the Publishing units
Source = Table.NestedJoin(#"Book Sales", {"Book ID"}, Titles, {"Book Id"}, "Titles", JoinKind.LeftOuter),
#"Expanded Titles" = Table.ExpandTableColumn(Source, "Titles", {"Publishing Unit"}, {"Publishing Unit"}),
//add start of month column to merge with Plan
bom = Table.AddColumn(#"Expanded Titles", "BOM", each Date.StartOfMonth([Invoice Date]),type date),
//Group by unit and bom columns in case you happen to have multiple sales in the same month
#"Grouped Rows" = Table.Group(bom, {"Publishing Unit", "BOM"}, {{"Sales amount", each List.Sum([Sales amount]), type number}}),
//Join with Plan using bom and date as the key
salesVplan = Table.NestedJoin(Plan,{"Business Unit","Date"}, #"Grouped Rows", {"Publishing Unit","BOM"},"joined",JoinKind.FullOuter),
#"Expanded joined" = Table.ExpandTableColumn(salesVplan, "joined", {"Sales amount"}, {"Sales amount"})
in
#"Expanded joined"
我在 PowerBi 中遇到问题,我想在其中获得实际与计划的结果。我有 3 tables、图书销售 Table、计划 table 和书名 table。我想要 Desired Output table.
中的结果Book Sales
Titles
Plan
Desired Output
这可以通过几种不同的方式完成,但我建议在 SQL 个人中进行。这意味着您可以: Select 从您要显示的所有 table 到相同的 table。让我们称之为产品。 然后加入你想要的值。
这样,就没有需要时间的 dax 计算,而只是在刷新数据集本身时需要时间的事情。
您可以在 Power Query M 代码中执行此操作
- 加入 Sales 和 Titles tables 以提取每种图书类型的出版单位
- 为每个销售数字添加一个代表每个月开始的列
- 如果一个月内有多个 sales/unit ,则按 BOM 和单位分组并用 Sum 聚合
- 根据单位和日期 将最后一个 table 与计划 table 合并
M码
let
//Join the Sales and Titles to get the Publishing units
Source = Table.NestedJoin(#"Book Sales", {"Book ID"}, Titles, {"Book Id"}, "Titles", JoinKind.LeftOuter),
#"Expanded Titles" = Table.ExpandTableColumn(Source, "Titles", {"Publishing Unit"}, {"Publishing Unit"}),
//add start of month column to merge with Plan
bom = Table.AddColumn(#"Expanded Titles", "BOM", each Date.StartOfMonth([Invoice Date]),type date),
//Group by unit and bom columns in case you happen to have multiple sales in the same month
#"Grouped Rows" = Table.Group(bom, {"Publishing Unit", "BOM"}, {{"Sales amount", each List.Sum([Sales amount]), type number}}),
//Join with Plan using bom and date as the key
salesVplan = Table.NestedJoin(Plan,{"Business Unit","Date"}, #"Grouped Rows", {"Publishing Unit","BOM"},"joined",JoinKind.FullOuter),
#"Expanded joined" = Table.ExpandTableColumn(salesVplan, "joined", {"Sales amount"}, {"Sales amount"})
in
#"Expanded joined"