如何解决Power BI中EARLIER函数运行报错的问题
你遇到的报错和数据类型无关,核心是EARLIER函数的运行逻辑限制:EARLIER需要至少两层嵌套的行上下文才能正常调用,你当前是在度量值中编写公式,只有FILTER生成的一层行上下文,没有外层行上下文供EARLIER获取值,因此触发不存在更早行上下文的报错。
场景1:需要编写可联动筛选的度量值(推荐)
如果你是要把该计算放到卡片、表格、柱状图等视觉对象中,响应页面的年、省等筛选条件,直接用ALLEXCEPT函数实现按指定维度聚合即可,完全不需要EARLIER:
- 按商户类型(MerchantType)统计总申请量:
Merchant_TotalApp = CALCULATE( SUM('Requested Summary'[TotalApplications]), ALLEXCEPT('Requested Summary', 'Requested Summary'[MerchantType]) )
- 按经销商名称(DealerName)统计总申请量:
Dealer_TotalApp = CALCULATE( SUM('Requested Summary'[TotalApplications]), ALLEXCEPT('Requested Summary', 'Requested Summary'[DealerName]) )
场景2:需要在表中新增固定聚合值的计算列
如果你是要给表的每一行都追加对应维度的总申请量固定值,直接把公式写到计算列中即可,计算列本身的逐行扫描会生成外层行上下文,FILTER的内层行上下文就可以配合EARLIER正常取值,你原来的公式只需要删掉多余的一个右括号即可:
Merchant_TotalApp = CALCULATE(SUM('Requested Summary'[TotalApplications]), FILTER('Requested Summary','Requested Summary'[MerchantType] = EARLIER ('Requested Summary'[MerchantType])))
内容的提问来源于stack exchange,提问作者NANA
相关产品推荐
相关产品推荐

