PoweBI实战:利用PBI打造私人理财账本
废话不多说,直接进入正文。
PoweBI实战:利用PBI打造私人理财账本
tiger_law
一、 写在前面
随着理财渠道的增多,理财产品的多样化,以及理财越来越便捷,很多人都有了理财的经历。每个人的理财经历不尽相同,选择的理财产品也会不尽相同,但是大家应该都有着自己的理财账本,通过账本我们能清楚的知道自己投了哪些理财产品,投了多少金额?收益有多少?什么时候有产品到期等等。
当然选择账本的方式也有很多种,有些朋友喜欢拿笔记在自己的记账本上,有些朋友会选择自己习惯的记账APP,但随着网上爆出许多APP上传用户隐私的新闻,如果是我,我个人会选择纸质记账本,但是纸质记账本携带很不方便,所以我们是不是可以尝试用 POWER BI 来打造自己的私人记账本,然后发布到WEB,供自己随时随地查看呢?
我想……是可行的!
当然根据个人偏好,关注的重点数据等不同,设计的模型及可视化肯定会有很大的区别,所以本文介绍更多的是思路,仅供各位朋友参考。
二、 需要准备的东西
1. 理财数据表
事实表:理财的流水记账。
维度表:除日期表外,其它的可以从事实表中获取,包括但不限于:产品类型(如银行活期,银行定期,基金,股票,P2P),理财平台(如中国银行),理财人(家庭成员)。
2. 构建自己想要展示的重点信息
3. 建立数据模型并创建适合自己手机的画布
4. 按照自己的预想创建可视化
5. 发布并生成自己专属二维码如下图(微信识别可打开)
6. 最终生成的可视化如下图所示(数据为模拟生成)
三、 实际操作
下面我们根据需求来一步一步操作,最终达到上述参考可视化
1. 理财数据表
理财数据表其实就是流水账,当然基本的数据信息及需要分析的维度信息必须要包含在内。
参考上述理财数据表,我们需要注意几点:
分析维度包含了:日期,理财产品,理财平台,产品类型及理财人。
考虑到银行活期的属性是随时可以取出应急,所以我们将理财期限定义成365天也就是一年,这个信息是计算收益时必要的信息。
理财金额为负数是指取钱的操作,与之相关的理财期限是为空的。
2. 构建自己想要展示的重点信息
根据预想我们计划将理财页面设计成7大块,分别展示6类信息,外加一个切片器区域。
3. 建立数据模型
如果有利用POWER BI 做过实际案例的朋友应该有深刻的感受,那就是模型的不同,对于后面的度量值的实现区别很大。
针对上面的理财数据表,我们选择在POWER QUERY 里面对数据进行整理和转换,要点如下:
计算出理财产品的理财[到期日期]
将[理财日期]和[理财到期日期]进行逆透视转换成一维
添加索引,以备后续计算使用
由于我们这次分析的数据就只有一张'理财数据表’,所以除了日期表这个维度表外,其它维度表可以不独立出来 ,我们这次选择[理财人]这个维度没有独立出来,最终在BI 中的模型图如下图所示:
4. 创建手机画布
因为我们打造的私人理财账本,所以我们平时肯定是用手机查阅的时候更多,所以我们可以选择创建适合手机的画布,当然BI 本身也提供一个手机布局,但是个人感觉效果并不是很好。
创建的方法很简单,我们只需要将面面大小做如下设置,当然根据每个人的视力情况,以及手机显示屏的分辨率情况可以做适当的调整。
5. 编写度量值
1) 理财页面的第一块展示
如下图所示,第一块展示的是期末总额按不同的维度的计算。
第一块预计展示
第一块展示效果
我们参考仓库管理的逻辑,可以把:
[期末总额]看成是仓库的[期末总额],
[理财金额]可以看成是仓库[入库总额],
[到期金额]可以看成是仓库[出库总额]
那我们对这三个度量值进行编写:
[理财金额] =
CALCULATE ( SUM ( '理财数据'[理财金额] ),
'理财数据'[日期属性] = "理财日期" )
[到期金额] =
CALCULATE(SUM('理财数据'[理财金额]),
'理财数据'[日期属性]="到期日期")
[期末总额] =
CALCULATE (
[理财金额] - [到期金额],
FILTER( ALL ( '日期表' ), '日期表'[Date] <= MAX ( '日期表'[Date] ) )
)
2) 理财页面的第二块展示
如下所示,第二块主要是想展示今日的理财总体情况,
第二款预计展示
第二块展示效果
第二块共有三个度量值:
今日期末总额其实截至到今日(包含今日)的期末总额,
上月期末总额就是截至到上月最后一天的期末总额
环比增长率便是今日期末总额相比上月期末总额的环比增长
故我们可以对这三个度量值进行如下编写:
[今日期末总额] = CALCULATE ( [期末总额], TREATAS ( { TODAY ()}, '日期表'[Date] ) )
[上月期末总额] =OPENINGBALANCEMONTH ( [期末总额], TREATAS ( { TODAY ()}, '日期表'[Date] ) )
[环比增长率] = DIVIDE ( [今日总额] - [上月期末], [上月期末], 1 )
3) 理财页面第三块展示
如下图所示,第三块主要是想显示每月理财总额,及环比增长。其中每月理财总就是第一块中[期末总额]。故度量值不用重复编写。
第三块预计展示
第三块展示效果
度量值编写如下:
[环比增长] =
VAR PreMonth =
CALCULATE( [期末总额], PREVIOUSMONTH ( '日期表'[Date] ) )
RETURN
IF( [期末总额] > 0, DIVIDE ( [期末总额] - PreMonth, PreMonth, 1 ) )
4) 理财页面的第四块展示
如下图所示,第四块主要要展示的理财产品到期的情况,哪个月有多少金额的产品到期,共有多少笔,能让自己有一个直观的视觉感受,也能协助自己做好资金规划。