[英]MDX: Combine two queries results using different date periods in the same query
我需要使用相同的维度进行度量比较,但日期周期不同。 例如:“在第 2 周,客户 X 的措施 A 比第 1 周好 15%”。 (我有每日粒度)
但我需要在单个 SSAS 调用中,在单个 MDX 中完成所有这些工作。 今天我在 C# 程序中分别调用这两个查询,在 C# 中我结合结果并给出百分比差异。
下面是我今天做的一个例子:
“CustomerX 想知道 MyMeasureA 在第 2 周和第 1 周之间的比较中的百分比差异(DateDim 与每日粒度)
所以,首先我使用 C# 程序分别做第一周的查询:
select
measures.MyMeasureA on 0
from MyCube
where
( CustomerDim.CustomerX,
{ DateDim.Date.[1] : DateDim.Date[7] } )
我将上面的结果保存在我的 C# 程序中。 之后,我使用 C# 进行第二次查询:
select
measures.MyMeasureA on 0
from MyCube
where
( CustomerDim.CustomerX,
{ DateDim.Date.[8] : DateDim.Date[14] } )
我将结果保存在我的 C# 程序中。 之后,在 C# 中,我结合 2 个结果并计算百分比差异并告诉客户:“在第 2 周,您的 MeasureA 比第 1 周好 4%”
所以我需要的是在一个 SSAS 调用中执行 2 个查询和百分比。 在一次调用中执行查询和百分比差异。 百分比不是问题,但是在一个 mdx 中执行两个查询对我来说是个问题。
此致
路易斯
您可以在 WITH 子句中创建 2 个元组作为度量:
WITH
MEMBER measures.MyMeasureX AS
(
measures.MyMeasureA,
CustomerDim.CustomerX,
{ DateDim.Date.[1] : DateDim.Date[7] }
)
MEMBER measures.MyMeasureY AS
(
measures.MyMeasureA,
CustomerDim.CustomerX,
{ DateDim.Date.[8] : DateDim.Date[14] }
)
SELECT
{
measures.MyMeasureX,
measures.MyMeasureY
} ON 0
FROM MyCube;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.