2017-03-03 8 views
0

私はいくつかのM:M関係が確立されている表モデルを持っています。 M_A = CALCULATE(DISTINCTCOUNT('TableA'[ColA1])) Dimrame列、TableB列、TableC列を使用すると、このメジャーはピボットテーブルで正常にスライスされます。SSMSのDAXとExcelのピボットテーブル

しかし、以下のようにSSMSでDAXクエリを発行しようとすると、エラーが発生します。

EVALUATE(

SUMMARIZE

(
     FILTER(DimDate,[ColDate3]>VALUE("1/1/2016")) 
     ,[ColDate1] 
     ,[ColDate2] 
     ,[ColB1] --OR [ColC1] for that matter 
     ,"SomeName" 
     ,[M_A] 
    ) 
))ORDER BY [ColDate1],[ColDate2] DESC ` 

私は理解していないと、ExcelがすべてDimDate、テーブルBとTableCの列で、この措置をスライスすることができます方法ですが、私は、クエリ上で実行すると、ここでのメッセージ私はありますssmsから取得します。

クエリの実行... クエリ(1、9) 'SUMMARIZE'関数で指定された 'ColB1'列が入力テーブルに見つかりませんでした。 実行完了

プロファイラを実行して、どのようなエクセルピボットテーブルがdaxエンジンに渡っているのかを傍受する方法があるので、クエリを複製してクエリを作成することができます。

ご協力いただきありがとうございます。

example diagram

答えて

1

はい、だけではなく、ドロップダウンからデータベースエンジンよりも、分析サービスに接続、SQLプロファイラを実行します。ただし、ExcelはMDXを使用してSSASと会話するため、トレースはDAXではなくMDXステートメントをキャプチャします。パワーバイデスクトップから同じことを行い、トレースを取得すると、DAXでクエリが取得されます。

OLAP Pivot Table Extensionsをインストールすると、特定のピボットテーブルのExcelがSSASに送信するMDXクエリが表示されます。

関連する問題