不要让数字限制了你的想象力——用PowerBI分析Azure账单

  使用Azure的小伙伴经常需要查看账单并分析,以便在节约成本的基础上更好地使用Azure。Global Azure现在已经开始提供基于PowerBI的账单分析;而China Azure由于Billing API等原因,目前还只能提供CSV格式的账单下载。

  不过作为强有力的数据分析展现工具,文件类型的数据源是PowerBI(以下简称PBI)最基础的功能,既然如此,为什么不直接用PBI分析CSV格式的账单呢?

读懂Azure账单

  分析Azure账单的基础首先要读懂Azure账单每列数据的含义,通常从Azure下载的账单含有如下字段:

字段名 含义
账户所有者 账户所有者的OrgID
账户名称 账户所有者的名称
服务管理员 服务管理员,没有指定为空
订阅ID 订阅的ID,唯一且不可修改
订阅GUID 在Portal等地方显示的订阅的字符串,唯一且不可修改
订阅名称 订阅的名称,可以修改为自己便于辨别的名称
日期 服务发生的日期
月、日、年 服务发生的月、日、年,单独列出便于筛选
产品 具体发生的服务,包含名称和Region
资源GUID 具体发生的服务在Azure的代表ID
服务 服务的大类,如虚机、网络、存储等,在Azure Portal的服务列表可以看到
服务类型 服务的小类,例如D、F等虚机的类型
服务区域 服务发生的Region
服务资源 服务的具体型号,例如F2虚机
已消耗的资源数 服务发生的数量
资源费率 服务的单价
扩展成本 服务发生的总价
服务子区域 服务发生的Region
服务信息 服务发生的内容
组件 服务发生的具体ID,例如某台具体的虚机
服务信息1、2 默认为空
附件信息 服务的信息,如虚机模板、IP地址等
Tags 标签信息,没有标签时为空
Store Service Identifier 默认为空
Department Name 部门名称,便于管理,可以为空
Cost Center 成本中心,管理使用,可以为空
Unit of Measure 服务的衡量单位
Resource Group 资源组名称

  通常,在对账单进行成本分析时可能会从几个维度:

  • 日期:某段日期内服务的使用情况
  • 订阅:订阅是Azure在做成本隔离的最大颗粒度,很多时候会把不同的业务或不同部门的Azure使用分到不同订阅,以便计费管理
  • 服务:某个服务的划分,并且有不同层次的统计,例如服务大类,或者具体某个类型的虚机等
  • 成本中心或部门:对某个成本中心或本门使用情况的统计
  • Tags:对于含有某个标签的服务的使用情况统计
  • 。。。。。。
      具体到不同业务场景,会有不同需求,但是从数据分析的操作层面都是类似的。

PBI的安装配置

  使用PBI最简单的方式是安装PBI Desktop版,不过很遗憾,PBI Desktop目前只提供Windows版本。
  PBI Desktop安装方式有两种:传统的下载安装包安装和通过Microsoft Store安装
  安装包下载网址
  Microsoft Store下载网址
  两者从使用角度没区别。
  初次运行会出来注册、登录界面:

  如果已有账户可以直接登录;如果没有,点击免费试用,可以注册一个免费账号(需要使用工作邮箱)。
  登录后即可进入PBI Desktop的使用界面:

导入并处理账单

  本文中,分析一份下载的账单,为了便于管理,将该账单文件改名为Price.csv。
  然后在PBI(以下如无特指情况,PBI代表PBI Desktop)使用界面点击获取数据:

  可以看到PBI可以使用多种数据源。点击文本/CSV,在浏览窗口中定位到账单文件:

  选择该文件,很快就被导入到PBI里:

  该文件被成功导入。但是导入的内容不规范,例如前两行没有意义,每列的名字不是我们希望的字段名,需要进行编辑。点击编辑按钮,进入编辑界面:

  点击删除行——删除最前面几行:

  输入2并确定,最上边没有意义的两行被删除了:

  再点击将第一行用做标题:

  现在第一行已经变为标题:

  导入数据处理完毕,点击编辑器界面左上角的关闭并应用,将整理好的数据导入PBI。此操作在PBI内部进行,不会影响到原始文件。

Azure账单初步分析

  现在PBI左侧的字段里可以看到导入的数据:

  可以开始进行账单分析。

按产品分析费用

  第一个需求,希望可以按服务分类做出不同服务的总费用饼图,并且点击某一个服务,可以进入查看该服务下属的服务子类的费用,一层一层下探到具体的产品(例如F2虚机)。
  为了实现此目的,需要先建立产品类型的层次关系,依次为:服务——服务类型——服务资源——产品。
  首先在字段的服务点击右键:

  选择新的层次结构,建立一个名为服务的层次结构,下属的一级层次是服务:

  鼠标左键点击服务类型并拽到服务层次结构上,可看到层次结构的服务下多出一个二级层次服务类别:

  按此依次把服务资源、产品拽到层次结构里,最终结果如下:

  勾选该层次结构和扩展成本,PBI会智能判断扩展的成本需要汇总,前边出现有汇总符号Σ,并填充到数据区域里:

  现在点击可视化区域里的饼状图,PBI将自动以服务为类别,扩展的成本为值生成饼状图:

  拖拽饼状图的四角可以调整到合适大小:

  该账单中,可以看出虚机的费用占据绝大部分,到底数值是多少?鼠标在对应区域停留可以显示:

  也可以鼠标右键点击图形并选择显示数据,会在下部列表显示:

  现在需要看看哪种类型的虚机花费最多,可以在饼状图虚机部分点击右键并选择向下转取:

  可以看到不同类别虚机的消费情况:

  一直转取,可以到产品这一层,清晰的分析费用情况:

加上时间

  以上分析是对整个账单的分析,很多时候我们还希望能够看到一段时间内的划分情况,而且最好是这个时间是可以由查看者自己调整,这时候就需要用到PBI的切片器了。
  可视化区域这个带漏斗的图标就是切片器:

  点击切片器,并在字段区域选择日期,界面上多出一个名为日期的可调整的对象:

  当然也可以通过拖拽改变其大小和位置:

  改变日期的方式有两种。
  最简单直接的方式是拖动日期轴两端来调整:

  可以看到图中的比例根据时间变化自动调整。
  第二种方法是在起止日期上点击鼠标,自动弹出日期控件选择:

  通过以上例子可以看出,PBI简单的拖拖拉拉即可把复杂的Azure账单转化为直观的动态的图形化展示方式,不用在Excel里复杂的统计、分析、图标制作,方便了账单的查看和分析。

(未完待续,后边更精彩)