【问题标题】:SSAS Tabular incorrect syntax but it is correctSSAS 表格语法不正确,但它是正确的
【发布时间】:2018-08-29 14:10:06
【问题描述】:

我正在尝试使用 IN 函数是分析服务表格,但它返回一个错误。我在同事的机器上尝试了同样的方法,它运行良好。我已经卸载了我的数据工具 2017 和 2015 并再次安装。现在我只有 SSDT 2015 并且遇到了这个问题。

TestMeasureIN:= 
CALCULATE(
COUNTROWS(DimDate),
DimDate[MonthName] IN {"may", "july"}
)

语义错误:“IN”的语法不正确

【问题讨论】:

  • DAX 中的“In”语法于 2016 年 11 月引入。您的同事 SSDT 版本是什么?
  • 是的。 IN 语法较新。 SQLBI 对此有很好的article
  • 但是他可以使用 IN 而我不能,我们都在使用 SSDT 2015。我的是更新的版本,他的版本更旧

标签: ssas powerbi dax sql-server-data-tools ssas-tabular


【解决方案1】:

IN 函数将不适用于 2017 年之前的 SSAS 版本,因此 SSDT 2015 将没有此功能。您可以使用CONTAINS 重写它,如下所示。另外,我猜TestMeasureIN 在您的事实表中,而不是DimDate?如果是这样,请将COUNTROWS 更改为事实表以计算给定月份的行数。

TestMeasureIN:= 
        CALCULATE (
            COUNTROWS ( FactTableName),
            FILTER (
                ALL ( DimDate[MonthName]),
                CONTAINS (
                    DATATABLE ( "MonthName", STRING, { { "may", "july"} } ),
                    [MonthName], DimDate[MonthName]
                )
            )
        )

【讨论】:

    猜你喜欢
    • 2019-06-02
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2017-11-28
    • 2017-09-17
    相关资源
    最近更新 更多