Ssas MDX:在同一查询中使用不同的日期段组合两个查询结果

Ssas MDX:在同一查询中使用不同的日期段组合两个查询结果,ssas,mdx,business-intelligence,Ssas,Mdx,Business Intelligence,我需要使用相同的维度进行度量值比较,但日期周期不同。例如:“对于客户X,第2周的测量A比第1周好15%。(我有每天的时间) 但我需要在一个SSAS调用中,在一个MDX中完成所有这些。今天,我在一个C#程序中分别调用这两个查询,在C#程序中,我组合结果并给出百分比差异 下面是我今天所做工作的一个例子: “CustomerX想知道在第2周和第1周之间的比较中MyMeasureA的百分比差异(DateDim具有每日粒度) 首先,我使用C#程序分别查询第一周的数据: 我将上面的结果保存在我的C#程序中。

我需要使用相同的维度进行度量值比较,但日期周期不同。例如:“对于客户X,第2周的测量A比第1周好15%。(我有每天的时间)

但我需要在一个SSAS调用中,在一个MDX中完成所有这些。今天,我在一个C#程序中分别调用这两个查询,在C#程序中,我组合结果并给出百分比差异

下面是我今天所做工作的一个例子:

“CustomerX想知道在第2周和第1周之间的比较中MyMeasureA的百分比差异(DateDim具有每日粒度)

首先,我使用C#程序分别查询第一周的数据:

我将上面的结果保存在我的C#程序中。之后,我使用C#进行第二次查询:

我把结果保存在我的C#程序中。 之后,在C#中,我将两个结果结合起来,进行百分比差异,并告诉客户:“在第2周,您的测量结果比第1周好4%。”

所以我需要的是在一个SSAS调用中执行两个查询和百分比。在一个调用中执行查询和百分比差异。百分比不是问题,但在一个mdx中执行两个查询是我的问题

致意


Luis

您可以在WITH子句中创建两个元组作为度量值:

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;

可以在WITH子句中创建两个元组作为度量值:

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;
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;