我想在MDX查询中为每个类别设置YTD金额

时间:2015-03-23 09:29:41

标签: ssas mdx bids

我有一个MDX查询,我希望显示每个产品的月份计数,以及想要显示YTD,MTD,WTD等。

我首先在Adventure Works上创建了以下MDx查询,它给了我YTD,但它每个月都会显示。相反,我需要输出如下,我想在MDX过滤器或where子句中提供当前月份+年(2015年3月)

预期结果:

Category    YTD 
---------   ------
Bike        4500
Accessories 78000
Clothing     8900

您能否在MDX查询下方更正以获得上述结果集

SELECT
    {
    ([Product].[Category].CHILDREN,[Measures].[Order Quantity])
    } ON 0,

    {
    YTD([Date].[Calendar].[Month].[August 2008])
    } ON 1
FROM [Adventure Works];

或者我已经构建了另一个MDX查询,它会给出相同的结果,或者应该更正一个以显示在EXPECTED结果之上。

SELECT
    {
    ([Product].[Category].CHILDREN ,[Measures].[Order Quantity])
    } ON Axis(0),

    {
    PERIODSTODATE([Date].[Calendar].[Calendar Year],[Date].[Calendar].[Month].[August 2008])
    } ON Axis (1)
FROM [Adventure Works];

1 个答案:

答案 0 :(得分:0)

我不认为我拥有与您相同版本的AW多维数据集(或您正在使用的SSAS版本),但试试这个。在2014多维立方体中,我必须将度量更改为订单计数而不是数量,并将日期更改为2012年3月以获取数据。

WITH MEMBER [Date].[Calendar].[CalendarYTD] AS
    Aggregate(
        YTD([Date].[Calendar].[Month].[March 2015])
    )
SELECT 
    [Date].[Calendar].[CalendarYTD] ON COLUMNS,
    [Product].[Category].Children ON ROWS
FROM
    [Adventure Works]
WHERE
    [Measures].[Order Quantity]