Power Pivot中多账户如何显示余额?

(二) 多账户显示余额

如果存在多个账户的话,我们该如何显示余额呢?

银行信息表


银行信息表
银行信息表

余额表


余额表

我们有2个需求

  • 任意点击日期切片器,可以显示3个账户当时的余额(我们可以点击1月13号显示当日的余额,而1月13号是没有发生状态的)
任意日期月
任意日期月
  • 只显示具有发生日期时各个账户的余额
发生业务日余额
发生业务日余额

按照上一篇的理论,用同样的LastDate和LastnonBlank做计算会产生什么样的结果呢?

1. 使用LastDate日历日期效果

LastDate_日历日期1:=Calculate(Sum('余额表'[余额]),
                            LastDate('日历'[Date])
                            )
LastDate日历日期
LastDate日历日期

错误原因:

  • 账户总计应该包含3个账户,但是如果没有发生额的话,日期总计不正确。
  • 无法计算时间小计,也就是每月底的余额。

2. 使用LastDate原表日历

LastDate_原表日期1:=Calculate(Sum('余额表'[余额]),
                             LastDate('表1'[时间])
                            )
LastDate原表日期
LastDate原表日期

错误原因:

  • 账户总计应该包含3个账户,但是如果没有发生额的话,日期总计不正确。
  • 时间汇总这里我们要的是余额,而不是合计。

3. 使用LastnonBlank日历日期

LastnonBlank_日历日期余额:=
Calculate(Sum('余额表'[余额]),
          LastnonBlank('日历'[Date],
                       CountRows(RelatedTable('余额表'))
                      )
          )
LastnonBlank日历日期
LastnonBlank日历日期

错误原因:

  • 账户总计应该包含3个账户,日期总计不正确。
  • 但是如果没有发生额的话,我们也需要通过切片查看余额。

从上面几个返回结果看,最后一个用LastnonBlank编写的比较靠近我们的目标,我们只需要把发生日期没有产生变动的账号也要有一个余额,这个余额应该是之前有值的余额。

4. 使用LastDate和LastnonBlank结合的写法。

Calculate(Sum('余额表'[余额]),
          LastnonBlank(DatesBetween('日历'[Date],
                                    Blank(),
                                    LastDate('日历'[Date])
                                    ),
                       Calculate(Count('余额表'[余额]))
                       )
         )

解释:
返回空值和最后有值之间的空白,使用最后的金额来进行补充,就能返回我们所需要的结果了。

喜欢的别忘了点个赞咯!

你可能感兴趣的:(Power Pivot中多账户如何显示余额?)