2017-11-07 28 views
0

MDXクエリでcollation used by an SSAS cubeを取得する方法はありますか?私はそれがT-SQL select DATABASEPROPERTYEX ('table','collation')で行うことができることを知っていますが、私はMDXクエリーを送ることができるOLEDB接続のみを持つアプリケーションを持っています(Server Management Studioはありません)。MDXでSSASキューブの照合を行う

私はOPENQUERYを認識していますが、リンクテーブルが必要な場合があります。リンクテーブルが必要な場合もあれば、作成できない場合もあります。

答えて

0

私はMDXの専門家ではありませんが、MDXを使用することはできません。 PowerShellとAnalysis Management Objects(AMO)を使用してこの種の作業を行っています。 This articleは参考になります。私はこれをテストすることはできませんが、PowerShellののcmdlettスクリプトは次のようになります。

PS C:\AMOScripts> $database.collation 
0

それはいくつかの文字の比較を行い、問合せを行うことによって、間接的に行うことができます。

WITH MEMBER [Measures].[IsAccentSensitive] AS 'a'<>'á' 
      MEMBER[Measures].[IsCaseSensitive] AS 'a'<>'A' 
      MEMBER[Measures].[IsBinary] AS 'A'<'_' AND '_'<'a' 
     SELECT { [Measures].[IsAccentSensitive],[Measures].[IsCaseSensitive],[Measures].[IsBinary] } ON 0 FROM CubeName 

IsBinaryが真の意志の切り札であることIsAccentSensitiveとIsCaseSensitiveは真です。 バイナリテスト'_'<'a'は、 '_'がASCIIの大文字と小文字の間にあるためです。

関連する問題