PowerPivot - 如何在多个源之间创建INNER JOIN

时间:2014-05-19 13:09:50

标签: excel sql-server-2012 ssas powerpivot powerview

我正在开发PowerPivot项目,我需要在检索产品列表(包括价格)的SQL Server查询和包含产品和其他价格的Excel数据表之间创建连接。目的是将我的假商店的价格与假的并行商店进行比较。

我的SQL查询返回商店的所有产品:

P1 $10
P2 $20
P3 $33
P4 $44

等...

Excel数据表仅包含一些价格不同的产品:

P1 $11
P2 $15

然后,在我的PowerView数据表中,我可以比较价格  包括一个KPI,可以轻松查看我的假价是否比其他商店便宜:

Product | Our price | Their Price | KPI status
P1      | $10       | $11         | Yes !
P2      | $20       | $15         | No !

它运作良好,但即使数据表中没有行,它也会显示我商店的所有产品。实际上,我只想显示与Excel数据表匹配的行。

那么,如何创建一个"内部联接"保留了一个"左连接" ?

1 个答案:

答案 0 :(得分:0)

使用DAX表达式连接表。 这将解决加入问题。 内连接的语法(这里a和b是两个表)

EVALUATE
FILTER (
    CROSSJOIN ( a, b ),
    a[key] = b[key]
)