PowerBI-比较两组相似的数据(多对多)

时间:2018-11-21 21:04:31

标签: powerbi

我正在尝试与非常相似的数据集进行比较。我已经完成了桥接关系,并在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中有可能吗?

2 个答案:

答案 0 :(得分:0)

一种方法(如注释中建议的那样)是在查询编辑器中将不同的NameService值分成单独的维度表:

名称:

= 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)和维表(名称,服务)之间创建关系:

enter image description here

然后只需根据需要布置视觉效果:

enter image description here

答案 1 :(得分:0)

另一种方法可能是将您的数据集事实表合并到一个表中,并添加一个“数据集”列:

在查询编辑器中创建“组合”表。

组合表:

= Table.Combine({Table.AddColumn(#"Dataset 1", "Dataset", each "Dataset 1", type text), Table.AddColumn(#"Dataset 2", "Dataset", each "Dataset 2", type text)})

现在将此表用作您的单一来源-带有交叉表的视觉效果:

enter image description here

或通过为每个数据集添加单独的量度:

Usage 1 = CALCULATE ( SUM('Combined Data'[Usage]), 'Combined Data'[Dataset] = "Dataset 1" )

Usage 2 = CALCULATE ( SUM('Combined Data'[Usage]), 'Combined Data'[Dataset] = "Dataset 2" )

enter image description here