【问题标题】:DAX in SSMS vs PivotTable in ExcelSSMS 中的 DAX 与 Excel 中的数据透视表
【发布时间】:2017-03-03 00:51:45
【问题描述】:

我有一个表格模型,其中建立了一些 M:M 关系。我创建了一个类似M_A = CALCULATE(DISTINCTCOUNT('TableA'[ColA1])) 的度量值,当我使用 DimDate 列、TableB 和 TableC 列时,这个度量值在数据透视表中的切片很好。

但是,当我尝试在 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、TableB 和 TableC 列分割这个度量值,但是当我运行上面的查询时,这是我从 ssms 得到的消息。

正在执行查询... 查询 (1, 9) 在输入表中未找到“SUMMARIZE”函数中指定的“ColB1”列。 运行完成

有没有办法让我运行探查器并拦截 excel 数据透视表传递给 dax 引擎的内容,以便我可以在 ssms 上复制查询并了解我在构建查询时做错了什么?

非常感谢您的帮助!

【问题讨论】:

    标签: excel dax ssas-tabular


    【解决方案1】:

    是的,运行 sql profiler,从下拉列表中只连接分析服务而不是数据库引擎;但是,跟踪将捕获 MDX 语句而不是 DAX,因为 Excel 通过 MDX 与 SSAS 对话。如果您从 power bi desktop 执行相同操作并进行跟踪,您将在 DAX 中获得查询。

    您还可以安装 OLAP Pivot Table Extensions,它会告诉您 Excel 为给定数据透视表向 SSAS 发送的 MDX 查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多