MDX:在多个维度的同一成员上连接两组?

时间:2013-09-18 20:13:31

标签: ssas mdx olap cube

MDX中是否可以根据多个维度的相同成员组合两个查询的结果?

在我的情况下: 报告BuyersReports和SellersReports有两种类型,例如

BuyersReports

Buyer Seller Amount
A     B      10
B     C      20

SellersReports

Seller Buyer Amount
B      A     10
C      B     15

每家公司(A,B,C)都可以买卖双方。

我需要实现某种目的:

  Buy Sell-To (Diff1) Sell Buy-From (Diff2)
B 20  15      5       10   10        0

目前我有两个措施:[买入]和[卖出],以及两个相同维度的公司实例:[买家]和[卖家]。

我可以获得公司“B”所需查询的两个部分:

SELECT 
[Measure].[Buyings],[Meausure].[Sellings] ON COLUMNS,
[Buyers].[Name], [Sellers].[Name] ON ROWS
FROM 
(
SELECT [Buyers].[Name].&[B] ON COLUMNS
FROM MyCube
)

给了我

B C 20 15

SELECT 
[Measure].[Buyings],[Meausure].[Sellings] ON COLUMNS,
[Buyers].[Name], [Sellers].[Name] ON ROWS
FROM 
(
SELECT [Sellers].[Name].&[B] ON COLUMNS
FROM MyCube
)

结果

A B 10 10

是否可以将这两个查询的结果结合起来,以实现每家公司的买卖双方合并报告?

1 个答案:

答案 0 :(得分:0)

SELECT 
[Measure].[Buyings],[Meausure].[Sellings] ON COLUMNS,
[Buyers].[Name], [Sellers].[Name] ON ROWS
FROM 
(
SELECT {[Sellers].[Name].&[B],SELECT [Buyers].[Name].&[B]}  ON COLUMNS
FROM MyCube
)