2017-02-16 17 views
0

こんにちは私はMS SSASと苦労しています... 簡体字私は自分のデータビューに2つのテーブルを持っています。 T1はPKと日付を保持します。 T2には、PK、T1のFK、およびいくつかの番号が保持されます。Analysis Services - 計算メンバー - 次元キー範囲でカウント

私は、その2つの属性を持つT1からディメンションを作成しました。 したがって、T1の日付とIDでT2のデータを集約するキューブを作成できます。 これまでのところとても良いです。

私が次にやりたいことは、そのデータのちょうど一部の集約です。 例: "FK> = 970のT2レコードの集計データを表示してください"

したがって、計算されたメジャーを書き込もうとしましたが失敗しました。私はウェブの周りを検索しましたが、これまでに何もできなかったことがわかりました...

私は誰かがヒントを助けてくれることを願っています。

+0

はhttp://stackoverflow.com/questions/42167709/mdx-and-periodstodate/42168904 を参照してください。あなたがレコードまたはFK> = 970を持つメンバーをフィルタリングしたいですか? –

+0

t1.id> = 970のt1のレコードに関連するすべてのt2レコードを集計するとします。 [FK] IN(SELECT [ID] FROM [T1] WHERE [ID]> = 970) – Felix

+0

私はそれが何かのようなものになるでしょう。 [ID]列を次元属性として追加し、Where句内のフィルタを追加する点を除いて、MDXでこれを実行します。それ以外の場合は、これらのレコードを除外する新しいメジャーを追加する必要があります。 –

答えて

1

私が正しく理解していれば、寸法はT1です。

ディメンションでは、キーの設定が必要です。私はあなたがPKの列でそれをしたと仮定します。プロパティ内では、その属性に対して3つのものを定義できます。 KeyColumnsプロパティ NameColumns ValueColumns

は、あなたのKeyColumnsプロパティがPK列であることを確認してください。

SELECT 
{ [Measures].[YOURMEASURE] } ON COLUMNS, 
{ [T1].&[970] : NULL } ON ROWS 
FROM [MyCube] 

EDIT:あなたのPKは、連番のある場合には(!彼らは本当に必要があります)あなたはこのようなMDXクエリを作ることができた後、あなたが「キー」

に設定されていることを確認しなければならないのOrderByプロパティでなければなりません: キューブの計算に追加します。

CREATE MEMBER CURRENTCUBE.[Measures].[MyOver970Measure] 
AS 
AGGREGATE({ [T1].&[970] : NULL },[Measures].[YOURMEASURE]) 
,VISIBLE=1; 
+0

それの尺度を作ることは可能ですか? – Felix

+0

それはまさに私があなたに感謝したことです! – Felix

関連する問題