2017-01-04 9 views
0

XMLAスクリプトを使用してディメンションの処理をスクリプト化するときに必要なDimensionIdをSSASデータベースから取得するクエリのようなID: 次のクエリは、正しい名前ではないDIMENSION_CAPTIONを選択しますディメンションを処理するためにXMLAスクリプトに入れる必要があります。私が必要とするのはDimensionIdです。MDXまたはDMXクエリDimensionId

SELECT DISTINCT [CATALOG_NAME] as [DATABASE], 
     DIMENSION_CAPTION AS [DIMENSION] 
FROM $system.MDSchema_Dimensions 
WHERE ( [CUBE_NAME] = 'myCube1' 
     OR [CUBE_NAME] = 'myCube2' 
    ) 
    AND DIMENSION_CAPTION <> 'Measures' 
ORDER BY DIMENSION_CAPTION 

私はすべてのDimensionIdの私はそれらを処理するXMLAスクリプトを作成するためにそれを使用できるように、立方体のセットで使用するを選択することができます方法はありますか?

答えて

1

私は多次元モデルのためにそれを取得するための最も便利な方法はASSPをインストールし、XmlaDiscover機能活用し、次のクエリを使用することだと思う:表形式のモデルの場合

CALL ASSP.discoverXmlMetaData("\Database\Dimensions\Dimension"); 

を、最も簡単な方法は、ちょうどにあります

SELECT TABLE_ID 
FROM $system.DISCOVER_STORAGE_TABLES 
WHERE mid(TABLE_ID,2,1)<>'$' 

がH $ ...とR $を除く...「TABLE_ID」の値が階層との関係など、私はのように$を持つことが許されないと思うが除外:これは組み込みのDMVを使用私はそれが安全なfilだと思うので、テーブルIDの文字ter。

また、C#でディメンションのリストを取得したい場合は、AMOを使用してこれを実行できます。