Power BI学习
Excel里面的三大插件Power Query,Power Pivot, Power View的话,这个PowerBI就是整合了这三大插件,并加入了社交分享的功能。
如果之前你没有听过这三大插件利器,没关系。把PowerBI工作过程想象成咖啡的制造,这样可能会帮助你更好地理解。
都有谁会需要它,它又能帮我们解决什么样的问题?大多数人对Excel再熟悉不过,如果你是一个Excel重度使用者,你也许会遇到下面问题:
A. 有大量重复性的手工整理数据工作
定期从系统抓取数据,需要对格式做重复性修改(改日期格式、分列、去重、合并等); 当数据量较大,处理几十M的Excel文件和超百万行数据,Excel出现了崩溃和卡顿情况; 使用多个数据源,手工复制粘贴来合并,或者经常用vlookup/index/match等函数把多表数据合并到一张表中。
B. 周期性报告的需求多变
季度要求变月份,产品、渠道、地域等维度的变化导致报告重做; 定期地按周、月、季度制作KPI和仪表板展示数据; 向IT部门提交的自动化数据支持需求开发周期太长或者无法及时满足; 高级数据应用需要懂VBA语句或者SQL查询语言。
C. 需要用数据可视化来讲故事
Excel提供的基本图形无法满足需求,如地图、树状图、瀑布图、帕累托图等; 修改坐标、颜色、数据标签等美化图表的工作耗时; 需要交互式分析来多角度分析; 经常分享报告给他人,希望别人在手机或平板电脑上也可以阅读。
在“数据”界面,列的标题如果是Column,需要做的在“模型”界面 右键-编辑查询-将第一行用作标题--关闭应用并退出
度量值 、CALCULATE引擎,CALCULATETABLE筛选表
度量值: 总销量=sum('销售表'[销售数量])
calculate引擎:
1.在【销售表】的数据界面建立度量值,表达式编辑为:
上面的CALCULATE的表达式同时也在【商品表】进行了添加度量值的操作,
发现一个结论:当【行】信息用的是商品表的字段,最左侧是品名,在CALCULATE表达式用销售表的商品名称过滤时,该表达式的显示是正确的, 在CALCULATE表达式用商品表的品名过滤时,显示错误,销售表同理,即当最左侧的字段与CALCULATE表达式不一致的时候,显示
是正确的
多条件表达式:
新表 = CALCULATETABLE('销售表','商品表'[品名]="A",'商品表'[进价]=0.1)
在销售表内生成新表,筛选条件用商品表的信息,在模型内也会生成对应的新表信息
然后用在销售表新建用销售表信息筛选
度量值有专门的存储的地方,主页-输入数据-创建表-加载
然后在表内生成度量值信息
高级筛选器Filter与Values人工造表
Filter函数与筛选的表进行横向的逐行扫描,这样的函数叫做迭代函数
问题:求总分大于250分的
相当于sql的distinct的使用
然后再使用Filter函数,语句为
下面两个公式得到的结果值不同,用【成绩表'[总分]】这个度量值的可以实现过滤,而用【SUM('成绩表'[分数])】这个值的是先求sum后再过滤,并没有实现筛选功能
结论:
ALL函数、Allexcept函数、Allselected函数
All函数【作用:清楚筛选(清除度量值的筛选功能) ,返回:清除筛选后的表格或列】
语法:ALL(表) ALL(表[列])
度量值信息:
1与2都是度量值是天生具有筛选功能的,所以把【商品名称】放到行信息后,会分散值的汇聚,而ALL函数正好可以解决这个问题
上面3统计的时候为什么加上了标题信息,有待研究???
结论:当ALL函数的参数为【表】的时候:1.不受内部筛选的影响 2.不受外部筛选的影响
1.不受内部筛选的影响 :上面的585这个数,无论表怎么变化还是这个数
2.不受外部筛选的影响:即使加了切片器进行了数据筛选也还是这个数,不会变化
上面的占比是如果经过筛选器的话会变化,然后如果想不变的话就把下面的公式1转化成公式2
公式1:不能进行筛选的总数1 = CALCULATE('销售表'[销售表销售总数1],all('销售表'))
公式2:不能进行筛选的总数1 = CALCULATE('销售表'[销售表销售总数1],AllSelected('销售表'))
结论:当ALL函数的参数为【表中的列】的时候:1.进行列信息筛选的时候对其有影响 2.不受外部进行列信息筛选的实惠对其有影响