Power BI中如何基于另一张表字段过滤后聚合单表指定列数据
前提检查
首先确认你的Power BI模型中,Accounts表和Payments表已经通过Account字段建立了一对多关系(Accounts为一端,Payments为多端),这是后续计算的基础。
实现方案
你可以使用SUMX迭代账户维度获取每个账户的结算日期,再关联筛选付款数据,度量值写法如下:
结算后交易总金额 = SUMX ( // 迭代当前上下文覆盖的所有账户 VALUES ( Accounts[Account] ), // 获取当前账户对应的结算日期 VAR 当前结算日期 = SELECTEDVALUE( Accounts[Closing] ) RETURN CALCULATE ( SUM ( Payments[Amount] ), // 仅筛选大于当前账户结算日期的付款记录 Payments[Date] > 当前结算日期 ) )
原问题原因说明
你之前无法引用Accounts[Closing]字段,是因为你直接在Payments表的筛选上下文中调用该字段,而Payments表的行上下文默认没有关联Accounts表的字段值,需要先把计算上下文切换到账户维度,才能拿到每个账户对应的独立结算日期。
按你提供的样例数据,该度量值的计算结果和你给出的SQL执行结果完全一致:账户A为50,账户B为50。
内容的提问来源于stack exchange,提问作者edd
相关产品推荐
相关产品推荐

