Power BI DAX计算累计客户时报PeriodCustomer列不可用错误如何解决
报错提示中的
PeriodCustomer是你定义的PeriodeKlant度量值的系统自动翻译名称,该报错本质是PeriodeKlant度量值的计算上下文异常导致的识别失败,具体原因和修复方案如下:
错误原因
- 表名拼写不一致:你定义
PeriodeKlant度量值时使用的表名为Text,后续编写累计度量值时统一使用的表名为Tekst,二者拼写不匹配导致系统无法关联到对应度量值依赖的列,触发找不到列的报错。 - 度量值内直接引用未聚合列:定义
_salesthisperiod变量时直接书写Tekst[Verkoopdoc],DAX度量值运行在筛选上下文下,不能直接引用未被聚合函数包裹的裸列,上下文识别错乱后触发列不存在报错。 - 日期列引用不规范:使用
Tekst[Datum].[Date]调用的是Power BI自动生成的日期层级节点,非原始数据列,上下文筛选不匹配时会导致依赖该字段的计算逻辑异常。
修复方案
- 首先统一表名拼写:确认你的源数据表实际名称,修正所有DAX代码中的表名,若表名实际为
Tekst,则将当期客户数度量值修改为:
PeriodeKlant = DISTINCTCOUNT(Tekst[PCHN])
- 修正累计客户数度量值的逻辑,给列添加聚合、去掉日期列的
.Date后缀,完整代码如下:
Running Total Customers = VAR _currdate = MAX(Tekst[Datum]) VAR _salesthisperiod = SUM(Tekst[Verkoopdoc]) RETURN IF( _salesthisperiod > 0, CALCULATE( [PeriodeKlant], FILTER( ALLSELECTED(Tekst[Datum]), ISONORAFTER(Tekst[Datum], _currdate, DESC) ) ) )
- 如果修复后仍报错,可单独运行
[PeriodeKlant]度量值确认基础度量值本身可正常计算,排除基础定义错误。
内容的提问来源于stack exchange,提问作者ITStudentje
相关产品推荐
相关产品推荐

