2016-08-18 7 views
1

SSASキューブ内の在庫の値をclosingにするために使用するこの関数があります。私の問題は、Excelで複数の項目が選択されているときにこれが機能しないことです。複数のフィルタが選択されている(クエリコンテキスト)ときに、MDX計算がExcelで機能しない

私が読んだところでは、これはSubcubesを使用してExcelで行い、クエリコンテキストが正しくないことが原因です。ダイナミックセットはこれを修正する方法ですが、これを実装する方法はわかりません。私は名前付きセットで正しいクエリコンテキストを使用して測定を取得し、正しい結果を返すように変更する必要がありますどのような

WITH 
    MEMBER [Measures].[Closing Stock Date] AS 
    IIF 
    (
     Ancestor 
     (
      StrToMember 
      (
      '[Date].[Retail].[Date].&[' + Format(Now(),'yyyy-MM-dd') + 'T00:00:00]' 
     ) 
     ,[Date].[Retail].CurrentMember.Level 
     ) 
     IS 
     [Date].[Retail].CurrentMember 
    ,StrToMember 
     (
     '[Date].[Retail].[Date].&[' + Format(Now(),'yyyy-MM-dd') + 'T00:00:00]' 
    ) 
    ,ClosingPeriod 
     (
     [Date].[Retail].[Date] 
     ,[Date].[Retail].CurrentMember 
    ) 
    ).Name 
SELECT 
    {[Measures].[Closing Stock Date]} ON COLUMNS 
FROM 
(
    SELECT 
    { 
     [Date].[Retail].[Retail Period].&[Period 1, Ret 2014] 
    ,[Date].[Retail].[Retail Period].&[Period 2, Ret 2014] 
    ,[Date].[Retail].[Retail Period].&[Period 3, Ret 2014] 
    ,[Date].[Retail].[Retail Period].&[Period 4, Ret 2014] 
    ,[Date].[Retail].[Retail Period].&[Period 11, Ret 2014] 
    ,[Date].[Retail].[Retail Period].&[Period 12, Ret 2014] 
    } ON COLUMNS 
    FROM [Retail] 
) 
WHERE 
    [Business Division].[Business Division].&[11]; 

答えて

-2

StrToMemberStrToSetsに変更してください。

+0

あなたはこれをなぜ提案するのか説明できますか? '' StrToSets ''関数が存在しません。 '' s 'を除いて試してみました。 'name functionが引数1のレベル表現を期待しています。' – Lock

+0

' StrToSet '' StrToSets'ではなく - IIFの2番目の引数としてセットを返してから、.name関数を適用すると不正確になります。 – whytheq

関連する問題