无法部署元数据。原因:“ Filter_Table”的语法不正确

问题描述 投票:1回答:1

我创建了以下计算列。

IsRenewal :=
VAR Filter_Table =
    SUMMARIZE (
        FILTER (
            SUMMARIZE (
                SUMMARIZE (
                    FACT_ACCOUNT;
                    FACT_ACCOUNT[ID_LOAN_INFORMATION];
                    FACT_ACCOUNT[ID_COSTUMER]
                );
                FACT_ACCOUNT[ID_COSTUMER];
                "abc"; COUNTROWS (
                    SUMMARIZE (
                        FACT_ACCOUNT;
                        FACT_ACCOUNT[ID_LOAN_INFORMATION];
                        FACT_ACCOUNT[ID_COSTUMER]
                    )
                )
            );
            [abc] > 1
        );
        FACT_ACCOUNT[ID_COSTUMER]
    )
VAR Latest =
    FILTER (
        Filter_Table;
        FACT_ACCOUNT[ID_COSTUMER] = EARLIER ( FACT_ACCOUNT[ID_COSTUMER] )
    )
RETURN
    IF ( ISBLANK ( Latest ); 0; 1 )

下图表示以前的Dax表达式的结果。The result of the previous Dax expression

我在新的计算列中得到了想要的结果。但是问题是当我尝试部署模型时,出现以下错误,“无法部署元数据。原因:“ Filter_Table”的语法不正确。”

似乎问题出在我创建它的第一个变量中。因此,我尝试在SSMS中运行Filter_Table的结果,但是,我没有得到任何语法错误。

以下捕获显示了SSMS中Filter_Table的结果The result of the first variable in SSMS

因此,我需要帮助以找到为什么无法部署我的项目。

powerbi ssas dax business-intelligence msbi
1个回答
0
投票

似乎我无法在计算列中使用变量,因此我通过使用以下表达式解决了它

IsRenewal :=
IF (
    ISBLANK (
        FILTER (
            SUMMARIZE (
                FILTER (
                    SUMMARIZE (
                        SUMMARIZE (
                            FACT_ACCOUNT;
                            FACT_ACCOUNT[ID_LOAN_INFORMATION];
                            FACT_ACCOUNT[ID_COSTUMER]
                        );
                        FACT_ACCOUNT[ID_COSTUMER];
                        "abc"; COUNTROWS (
                            SUMMARIZE (
                                FACT_ACCOUNT;
                                FACT_ACCOUNT[ID_LOAN_INFORMATION];
                                FACT_ACCOUNT[ID_COSTUMER]
                            )
                        )
                    );
                    [abc] > 1
                );
                FACT_ACCOUNT[ID_COSTUMER]
            );
            FACT_ACCOUNT[ID_COSTUMER] = EARLIER ( FACT_ACCOUNT[ID_COSTUMER] )
        )
    );
    0;
    1
)
© www.soinside.com 2019 - 2024. All rights reserved.