Adventureworks MDX在日期之间选择数据

时间:2015-10-08 11:26:56

标签: mdx adventureworks

我目前正在使用MDX查询和Adventure Works数据库。 我想要实现的是每季度获得2个季度的所有数据。

例如2006年第2季度和第2季度之间的所有数据。 2009季度第3季度划分为季度。

我最接近实现我想要的是使用以下查询:

SELECT { KPIValue("Channel Revenue"), KPIStatus("Channel Revenue") } ON Columns,
    {( 
        {[Date].[Fiscal Year].&[2006]:[Date].[Fiscal Year].&[2009]},
        {[Fiscal Quarter of Year].&[FY Q1]:[Fiscal Quarter of Year].&[FY Q4]}
    )} ON Rows
FROM [Adventure Works]

我将2006 - 2009年的范围与第1季度 - 第4季度的范围相结合。

下面你看到我的查询结果在左边和右边我想要的结果。

Data

我尝试将上面的查询用于第2季度&您可以在下面看到第3季度,但该查询仅返回第2季度和第2季度的数据。每年3次。

{[Fiscal Quarter of Year].&[FY Q2]:[Fiscal Quarter of Year].&[FY Q3]}

我也尝试了以下查询:

SELECT
    { KPIValue("Channel Revenue"), KPIStatus("Channel Revenue") } ON Columns,
    {( [Date].[Date].&[20060401]:[Date].[Date].&[20090901] )} ON Rows
FROM [Adventure Works]

使用此查询,我可以从我想要的时间段获得所需的数据,但它是每天而不是每季度。

问题

如何在2个给定季度之间获得每季度的数据

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法。通过使用以下查询,可以实现我想要的目标:

SELECT
    { KPIValue("Channel Revenue"), KPIStatus("Channel Revenue") } ON Columns,
    {( [Date].[Fiscal].[Fiscal Quarter].&[2006]&[2] : [Date].[Fiscal].[Fiscal Quarter].&[2009]&[3])} ON Rows
FROM [Adventure Works]

通过将财政季度更改为财政季度并使用

选择年份和季度
 .&[2006]&[2]

可以选择特定年份的季度。 通过使用这个季度中的2个和一个范围,可以获得这两个季度之间的所有数据。

[Date].[Fiscal].[Fiscal Quarter].&[2006]&[2] : [Date].[Fiscal].[Fiscal Quarter].&[2009]&[3]