MDXの同じディメンションをグループ化してフィルタリングする方法

StackOverflow https://stackoverflow.com//questions/12681096

  •  12-12-2019
  •  | 
  •  

質問

毎月のバーを備えたバーチャートを作成して、ある程度の測定を行いたいです。

しかし、私はまた、月のいくつかの月を完全に重ならないかもしれない日の範囲を絞り込むことを望みます。

それが起こるとき、私は私の日付範囲に該当する日に該当する日数のみ集約を集計してください。

は、MDXで可能な限り、その要求はどのように見えるかのようなものですか?

役に立ちましたか?

解決

元のディメンションの仮想次元を使用して、2回目のディメンションを作成します。SELECT内のWHEREと別のディメンションを使用してください。

これは、四半期と期間の「事業時期」を望んでいれば、とにかく、他の月が月を好みます。または、4月 - 4月に実行する会計年度がある場合

他のヒント

字写真を使用することができます。このページとこのページ

軸句にメンバーが指定されている場合、そのメンバー その昇格と子孫はサブキューブスペースに含まれています 副選択上記の兄弟姉妹、軸または Slicer句、およびその子孫は部分空間からフィルタリングされます。 このようにして、外部選択のスペースはに制限されています AXIS句またはSLICER句の既存のメンバー。 前述の昇格と子孫

これは例です:

SELECT { [Customer].[Customer Geography].[Country].&[Australia]
       , [Customer].[Customer Geography].[Country].&[United States]
       } ON 1
     ,  {[Measures].[Internet Sales Amount], [Measures].[Reseller Sales Amount]} ON 0
  FROM ( SELECT {[Customer].[Customer Geography].[Country].&[Australia]
                 , [Customer].[State-Province].&[WA]&[US]} ON 0
           FROM [Adventure Works]
        )
.

結果には、Autralia用の1行が含まれ、United Statesには別のものがあります。副選択を使用すると、United Statedの値をWashington状態に制限しました。

私がMondrianでそれをすることを見つけた1つの方法は以下のように

WITH MEMBER [Measures].[Units Shipped2] AS
SUM
(
 {
  exists([Store].[Store Country].currentmember.children,{[Store].[USA].[WA],[Store].[USA].[OR]})
 },[Measures].[Units Shipped]
)
MEMBER [Measures].[Warehouse Sales2] AS
SUM
(
 {
  exists([Store].[Store Country].currentmember.children,{[Store].[USA].[WA],[Store].[USA].[OR]})
 },[Measures].[Warehouse Sales]
)
SELECT 
{[Measures].[Units Shipped2],[Measures].[Warehouse Sales2]} ON 0,
NON EMPTY [Store].[Store Country].Members on 1
FROM [Warehouse]
.

以下のようにSQLでフィルタリングが行われ、優れた性能を与えるか、ローカルで実行されるかどうかわかりません。

select Country, sum(unit_shipped)
where state in ('WA','OR' )
group by Country 
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top