1

次の回答を見ながら、範囲をフィルターに置き換えたいと思いました。

MDX - 「記録時間範囲」に基づく同時計算?

MDX は次のとおりです。

with member [Measures].[TotalUsed] as sum({[Date].[YQM].&[20090501]:[Date].[YQM].&[20090907]}, [Measures].[Used])
select    {[Measures].[Total Used]}on columns,    
          {[Color].[Colors].[All].MEMBERS}on rows
from [Cube]

日付範囲を次のようなフィルターに置き換えようとしています:

with member [Measures].[TotalUsed] as sum(FILTER([Date].[YQM], [Date].[YQM] < [Date].[YQM].&[20090907]), [Measures].[Used])
select    {[Measures].[Total Used]}oncolumns,
          {[Color].[Colors].[All].MEMBERS}on rows
from [Cube]

値の比較に関して、条件ステートメントは何を探していますか? どんな助けでも素晴らしいでしょう!

ありがとう!

4

1 に答える 1

1

Filter ステートメントには、フィルターを適用するための SET と、次に EXPRESSION が必要です。これをSUM関数内にドロップできます。フィルターの式の部分はほとんど何でもかまいませんが、SET 内のセルごとに true/false に評価する必要があります。

-- フィルター (セット、式)

データがどのように構造化されているかを知るのは少し難しいですが、ステートメントはおそらく次のようになり、期間の「未使用」が 50 未満の行をフィルタリングし、例としてそれらを合計します。

`

WITH MEMBER [Measures].[TotalUsed] 
 AS SUM (FILTER ( [Date].[YQM].members, [Measures].[UnUsed] > 50 ), 
                  [Measures].[Used] )

SELECT    {[Measures].[Total Used]} ON COLUMNS,          
{[Color].[Colors].[All].MEMBERS} ON ROWS 
FROM [Cube] 
于 2009-12-10T17:34:16.853 に答える