各メンバーのデフォルトのメジャーをフェッチせずにディメンションメンバーを一覧表示する方法はありますか?
データなしでクエリを実行する方法は次のとおりです。
WITH MEMBER Measures.Amount AS 0
SELECT {
[-dimensionName-].[-hierachyName-].Members
} ON COLUMNS
FROM [-cubeName-]
しかし、SQLプロファイラーでBIDSが機能するのを見た後、私は
SELECT {
[-dimensionName-].[-hierachyName-].Members
} ON COLUMNS
FROM [$-dimensionName-]
例えば.
SELECT { Organization.Organization.Members } ON COLUMNS FROM [$Organization]
このルートに意図しない副作用があるかどうかはわかりませんが、データを気にせずにコンテンツを階層的にダンプしたい場合は、別のオプションです。
MDXの代わりに次のSQL構文を使用して、SQL Server 2008からMagnusが言及しているカタログビュー(ちなみに ここに記載されています )にアクセスできます。
SELECT *
FROM $system.MDSCHEMA_MEMBERS
WHERE ...
Analysis Servicesが理解できるSQLには制限があります。結合は不可能であり、WHERE
条件には、ANDを介して接続された[HIERARCHY_UNIQUE_NAME] = '[Date].[Order Date]'
のような句のみを含めることができます。 GROUPBYおよびORDERBYはサポートされていません。それでも、キューブのメタデータをクエリすることはできます。
Analysis Servicesへのアクセスに使用しているインターフェイスによっては、これらのメタデータがセルセット形式ではなく結果セット形式で返されるため、問題が発生する可能性があります。
ADOMD Catalog
オブジェクトを使用して、キューブに問い合わせ、キューブのメジャー/ディメンションなどを確認できます。これには、MDXはまったく含まれていません。