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

2020-03-24 15:40:46 浏览数 (1)

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

银行信息表

余额表

我们有2个需求

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

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

1. 使用LastDate日历日期效果

代码语言:javascript复制
LastDate_日历日期1:=Calculate(Sum('余额表'[余额]),                            LastDate('日历'[Date])                            )

错误原因:

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

2. 使用LastDate原表日历

代码语言:javascript复制
LastDate_原表日期1:=Calculate(Sum('余额表'[余额]),                             LastDate('表1'[时间])                            )

错误原因:

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

3. 使用LastnonBlank日历日期

代码语言:javascript复制
LastnonBlank_日历日期余额:=Calculate(Sum('余额表'[余额]),          LastnonBlank('日历'[Date],                       CountRows(RelatedTable('余额表'))                      )          )

错误原因:

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

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

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

代码语言:javascript复制
Calculate(Sum('余额表'[余额]),          LastnonBlank(DatesBetween('日历'[Date],                                    Blank(),                                    LastDate('日历'[Date])                                    ),                       Calculate(Count('余额表'[余额]))                       )         )

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

如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。

0 人点赞