2016-09-12 21 views
0

SSASとキューブを初めて使用しました。SSAS条件付きキューブ計算メンバー

私は、単純なデータベーステーブルを持っている:

product|value|status 
-------|-----|------ 
A|100|1 
B|20|0 
A|20|0 
B|80|1 

Statusフィールドは、それが販売を計画したり、すでに1を閉じているかどうかを示しています。

私は (0)販売とクローズド(1)販売のための立方体の対策をしたいと思います。彼らは与えられた状態で製品ごとの価値を合計すべきです。次のように

出力キューブになります。

product|planned sale|closed sale  
------|---------|----------- 
A|20|100 
B|20|80 

私は値とステータスを測定しています。しかし、関数をどのようにスライスしても、状態のブール値は集約されます。私の措置が間違って構成されているようだ。私はブール値に設定しようとしましたが、 "と"計算を行うようです。

私はIFFと。現在のメンバーが繰り返しを望むことを試みました。

私は基本的な何かを逃している必要があります、助けてください。ありがとうございました。

答えて

0

単純なステータスディメンションを追加します(計画済みの場合は0、終了の場合は1)。

現在、これを指標として使用しているため、集計されています。あなたのコメントに基づいて

EDIT:

私はあなたが間違ってSSASがブールとしてmeasures.statusの値を解釈することを想定していると信じています。 SQLには、ブール型のデータ型の概念はありません。 bitデータ型はブール値を保持するために使用できますが、SQLではIF [MyBitColumn] THEN ...と言うことはできません。代わりにIF [MyBitColumn]=1 THEN ...と言う必要があります。 SQL Serverは、1 = true、0 = falseを自動的に理解/仮定しません。

は、あなたの計算されるメジャーのためにこれを試してみてください:

iif([Measures].[Status]=1, [Measures].[Value],0) //closed sale 
iif([Measures].[Status]=0, [Measures].[Value],0) //planned sale 
+0

それは動作しますが、私はむしろ、その後の寸法によって制御される1つを別々の計算されたメジャーを作成できるようにする必要がある要件を満たすために。私はどのように計算されたメジャーを "sumif"関数と同等の機能を行うように設定するかのヒントを探しています:) –

+0

IIF()を使用しようとすると、それをデバッグできます。 –

+0

私は試してみました:iif([Measures]。[Status]、[Measures]。[Value]、0)は1に評価され、![Meaures]は返されません。ただし、[Status]メジャーはno agggregatesに設定されていますが、[Status]を集計しているようです。 –

関連する問題