我正在尝试与非常相似的数据集进行比较。我已经完成了桥接关系,并在PowerBI上使用了M:M关系,但是仍然没有得到想要的结果。
以下是数据示例: 数据集1
Name | Service | Usage
A | 1 | 10
A | 2 | 20
B | 1 | 10
B | 2 | 10
C | 1 | 20
C | 2 | 10
数据集2
Name | Service | Usage
A | 1 | 40
A | 2 | 20
B | 1 | 40
B | 2 | 10
C | 1 | 40
C | 2 | 10
所需的输出
Name | Service | Usage 1 | Usage 2
A | 1 | 10 | 40
A | 2 | 20 | 20
B | 1 | 10 | 40
B | 2 | 10 | 10
C | 1 | 20 | 40
C | 2 | 10 | 10
在PowerBI中有可能吗?
答案 0 :(得分:0)
一种方法(如注释中建议的那样)是在查询编辑器中将不同的Name
和Service
值分成单独的维度表:
名称:
= Table.FromList(List.Distinct(List.Combine({#"Dataset 1"[Name], #"Dataset 2"[Name]})),Splitter.SplitByNothing(),{"Name"})
服务:
= Table.FromList(List.Distinct(List.Combine({#"Dataset 1"[Service], #"Dataset 2"[Service]})),Splitter.SplitByNothing(),{"Service"})
创建所需的DAX度量:
Usage 1 = SUM ( 'Dataset 1'[Usage] )
Usage 2 = SUM ( 'Dataset 2'[Usage] )
现在在事实表(数据集1,数据集2)和维表(名称,服务)之间创建关系:
然后只需根据需要布置视觉效果:
答案 1 :(得分:0)
另一种方法可能是将您的数据集事实表合并到一个表中,并添加一个“数据集”列:
在查询编辑器中创建“组合”表。
组合表:
= Table.Combine({Table.AddColumn(#"Dataset 1", "Dataset", each "Dataset 1", type text), Table.AddColumn(#"Dataset 2", "Dataset", each "Dataset 2", type text)})
现在将此表用作您的单一来源-带有交叉表的视觉效果:
或通过为每个数据集添加单独的量度:
Usage 1 = CALCULATE ( SUM('Combined Data'[Usage]), 'Combined Data'[Dataset] = "Dataset 1" )
Usage 2 = CALCULATE ( SUM('Combined Data'[Usage]), 'Combined Data'[Dataset] = "Dataset 2" )