【发布时间】:2020-06-04 14:43:57
【问题描述】:
首先,我编写了以下 Dax 表达式来获取一个表格,其中包含获得多笔贷款的客户列表。
VAR table_filter =
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
)
下图表示前面Dax表达式table_filter的结果。
The result of table_filter variable
接下来,我编写了这个表达式来从上一个表中获取包含 ID_COSTUMER 列表的列
VAR column_filter =
SELECTCOLUMNS ( table_filter; "ClientYes"; FACT_ACCOUNT[ID_COSTUMER] )
最后,我使用这个表达式在 FACT_ACCOUNT 表中创建了一个计算列,如果我在 column_filter 中找到了当前 ID_COSTUMER 的值,我将 1 设为 else 0。
RETURN
IF (
CALCULATE (
COUNTROWS ( FACT_ACCOUNT );
FILTER (
FACT_ACCOUNT;
FACT_ACCOUNT[ID_COSTUMER] = EARLIER ( column_filter )
)
) > 0;
1;
0
)
问题是column_filter的结果不是列 我需要一个解决方案来从第一个过滤表的结果中返回 FACT_ACCOUNT[ID_COSTUMER] 列
我收到以下错误“较早/最早的第一个参数不是较早行上下文中的有效列引用”。
【问题讨论】:
-
我认为问题在于 SELECTCOLUMNS -函数返回一个表,而不是一列。如果您将 EARLIER 部分更改为:EARLIER (column_filter[ClientYes]) 是否有效?
-
嗨@Gigga,谢谢你的回复,我试过了,但我得到了以下错误“找不到表'column_filter'”