我创建了以下计算列。
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 )
我在新的计算列中得到了想要的结果。但是问题是当我尝试部署模型时,出现以下错误,“无法部署元数据。原因:“ Filter_Table”的语法不正确。”
似乎问题出在我创建它的第一个变量中。因此,我尝试在SSMS中运行Filter_Table的结果,但是,我没有得到任何语法错误。
因此,我需要帮助以找到为什么无法部署我的项目。
似乎我无法在计算列中使用变量,因此我通过使用以下表达式解决了它
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
)