我在SSAS中创建计算成员时遇到问题。事实表:
Date Store Product Sales_in_USD
--------------------------------------------------
2016-07-01 Store1 Product1 50
2016-07-01 Store1 Product2 100
2016-07-01 Store2 Product3 70
2016-07-01 Store2 Product2 85维度:日期、商店、产品
我想要得到这样的结果:如果我按某个产品进行筛选,我希望获得按该商店和日期的所有销售额,包括按筛选出的product+another产品的销售额,例如,我希望按Product1进行筛选:
SQL code:
select sum(Sales_in_USD)
from [Fact table]
where Store in (select Store from [Fact table] where Product="Product1")执行这段sql代码后,我得到了所有按Store1计算的销售额。
当我想要创建计算成员时,如何使用MDX创建它?
计算成员的输出必须是下一个:
Product Total_Sales_By_Store
------------------------------
Product1 50+100=150
Product2 50+100+70+85=305
Product3 70+85=155发布于 2016-07-22 18:32:58
1-确定所选产品的有效商店。
NonEmpty(
[Store].[Store Name].MEMBERS,
([Product].[Product].Currentmember,[Measures].[Sales_in_USD])
)2-一旦你有了当前产品的商店,你想要计算可能的元组的值的总和(交叉连接)。
with member Measures.[Total Sum of Stores] as
sum(
[Product].[Product].Currentmember *
NonEmpty
(
[Store].[Store Name].MEMBERS,
([Product].[Product].Currentmember,[Measures].[Sales_in_USD])
)
,
[Measures].[Sales_in_USD]
)
select Measures.[Total Sum of Stores] on 0
from [YourCube]
where [Product].[Product].[Product1]发布于 2016-07-20 06:49:52
SELECT
[Measures].[Sales_in_USD] ON 0,
{[Store].[Store Name].MEMBERS,
[Product].[Product].MEMBERS} ON 1
FROM [Cube Name];对于您的需求,您实际上不需要计算成员,因为度量将为您完成这项工作
对于特定的产品名称Product1,则
SELECT
[Measures].[Sales_in_USD] ON 0,
{[Product].[Product].&[Product1],
[Store].[Store Name].MEMBERS
} ON 1
FROM [Cube Name];发布于 2016-07-22 21:18:25
我认为Sourav已经很好地解决了这个问题,但它还可以更通用?
WITH
MEMBER [Measures].[Total Sum of Stores] AS
SUM(
NONEMPTY(
[Store].[Store Name].MEMBERS,
(
[Product].[Product].Currentmember
,[Measures].[Sales_in_USD]
)
)
,[Measures].[Sales_in_USD]
)
SELECT
[Measures].[Total Sum of Stores] on 0,
[Product].[Product].[Product].MEMBERS ON 1
FROM [YourCube];https://stackoverflow.com/questions/38468499
复制相似问题