2016-04-11 9 views
0

私は過去3か月間の製品の最小販売価格を選択するMDXクエリを作成しようとしていますが、動作させることはできません。mdxクエリの最後の3か月の最小値

これがまったく機能していない私のプロトタイプのコードです:

WITH 
    SET [CurrentMonth] AS StrToMember('[Date].[Calendar].[Month].&[' + FORMAT(Now(), "yyyyMM") + ']') 
    SET [LastThreeMonths] AS TAIL({NULL: [CurrentMonth].ITEM(0)}, 3) 
SELECT 
    { 
     min(Tail([LastThreeMonths],3), iif([Measures].[Net sale price] = 0, null, [Measures].[Net sale price])) 
    } ON COLUMNS 
    ,{ 
     [Product].[Product code].MEMBERS 
    } ON ROWS 
FROM [Sales] 
WHERE ( 
     { [Department].[Department name].&[WRO] } 
    ); 

それは次のエラーを返します。function "" expects a tuple set expression for the 1 argument

私はそのような何かしようとした場合:

WITH 
    SET [CurrentMonth] AS StrToMember('[Date].[Calendar].[Month].&[' + FORMAT(Now(), "yyyyMM") + ']') 
    SET [LastThreeMonths] AS TAIL({NULL: [CurrentMonth].ITEM(0)}, 3) 
SELECT 
    { 
     (Tail([LastThreeMonths],3), [Measures].[Net sale price]) 
    } ON COLUMNS 
    ,{ 
     [Product].[Product Code].MEMBERS 
    } ON ROWS 
FROM [Sales] 
WHERE ( 
     { [Department].[Department name].&[WRO] } 
    ); 

をそれが動作しますこれは私が望んでいたものではなく、過去3ヶ月間の正味販売価格を示しています。 私はMDXの初心者ですので、愚かな質問を許してください。

+0

:ここに解決策だあなたは、過去3ヶ月ごとに、最後の3ヶ月間_single_最小値、または_separate_最小値をしたいですか?これを明確にするために質問を編集してください。 – SebTHU

+0

@ Dozikので、あなたのキューブは将来の月を含む必要がありますか? (私たちの立方体には将来の日付は含まれていません) – whytheq

+0

@whytheqどういう意味ですか? – Dodzik

答えて

0

私はそれについて考えてみる時間を与えました。私はそれを解決しました。それはあなたの質問から明らかではありません

WITH 
    SET [Current month] AS StrToMember('[Date].[Calendar].[Month].&[' + FORMAT(Now(), "yyyyMM") + ']') 
    SET [Last three months] AS LastPeriods(3, [Current month].item(0)) 
    MEMBER [Min price] AS MIN([Last three months], [Measures].[Net sale price]) 
SELECT 
    { 
     [Min price] 
    } ON COLUMNS 
    ,{ 
     [Product].[Product name].MEMBERS 
    } ON ROWS 
FROM [Sales] 
WHERE ( 
     { [Department].[Department name].&[WRO] } 
    );