数据可视化之powerBI基础(九)Power BI中的“新表”,你会用吗?
https://zhuanlan.zhihu.com/p/64413703
通常情况下,在PowerBI进行分析的各种数据表都是从外部的各种数据源导入进来的,但并不总是如此,某些情况下在PowerBI Desktop中也可以根据需要直接建立各种表格。
在进行数据分析的过程中,也许还需要加入新的数据表或者新的维度,而我们并不想再导入源数据或者回到PQ编辑器进行处理,那么就可以利用已加载到模型中的数据进行构建新表,下面就来看看如何在PowerBI Desktop中新建数据表,以及几种常见的使用场景。
如何新建表
在【建模】选项卡下点击“新表”,就可以建立一个表格了,
然后在出现的编辑框中输入DAX函数就可以了。
常见的使用场景
合并数据表
将现有数据结构相同的多个表合并为一个表,无需进入PQ编辑器操作。假如PowerBI Desktop中已经有如下两个分月销售数据表,表名分别为'1月'和'2月',
▲1月份销售数据
▲2月份销售数据
在新表的编辑框中输入:
合并 = union('1月','2月')
然后1月和2月的数据就合并到这种新建的'合并'表中了,
▲1月和2月合并数据
UNION函数的参数就是表名,它的功能是纵向追加数据,和PQ的追加合并功能相同。
交叉联结
就是把两个表通过某个字段进行联结,还是上面的数据,另外还有一个'采购表',
先把这个表中的[产品]列和合并表中的[商品名称]建立关系,
然后新建表,输入:
合并联结 = NATURALINNERJOIN('合并','采购表')
然后就新建了一个合并联结表如下,
这张表自动把每种商品的购入价匹配进来了,NATURALINNERJOIN函数类似于我们最熟悉的Vlookup,它的参数就是两个表格,不过要区分前后顺序,第一个表是基础表,第二个表是联结表,相当于左联结。
提取维度表
可以根据现有的数据字段,提取需要的维度表,根据上面的合并表,如果需要一个商品名称的维度表,在DAX编辑框中输入:
产品表 = DISTINCT('合并'[名称])
将建立一个产品表,
DISTINCT函数可以提取一列中不重复的值。
生成日期表
这个应该是最经常使用的了,如果数据模型中没有日期表,那么没有必要再去找一个日期表然后导入进来,可以直接在PowerBI Desktop中新建表,并输入:
日期表 = ADDCOLUMNS (
CALENDAR (DATE(2016,1,1), DATE(2016,12,31)),
"年度", YEAR ( [Date] ),
"月份", FORMAT ( [Date], "MM" ),
"年月", FORMAT ( [Date], "YYYY/MM" ),
"星期", WEEKDAY ( [Date] ) & "-" & FORMAT ( [Date], "ddd" ),
"季度", "Q" & FORMAT ( [Date], "Q" ),
"年份季度", FORMAT ( [Date], "YYYY" ) & "/Q" & FORMAT ( [Date], "Q" ))
然后就生成了一个标准的日期表,
这个DAX看着很长,其实并不难,第一行利用CALENDAR函数设置日期表的起止日期,然后就是利用FORMAT函数对每一列进行格式设置而已,比在Excel中生成还简单,如果需要带有特定字段的日期表,在上面的DAX公式添加特定的格式列即可。
新增空表
新增加一个空表经常用来放置度量值,比如新建一个空表,输入:
度量值表 = ROW("度量值", BLANK())
然后选择度量值,放入到这个表中,操作步骤如GIF图,

当模型中新建的度量值特别多的情况下,用一个表专门收纳度量值非常必要。
通过以上的例子可以看出,在PowerBI Desktop中新建的表与其他导入的表并没有区别,可以和其他表建立关系,也可以添加到报表进行可视化;如果是在导入表的基础上构建的,那么源数据变动,这些新建表同样会自动更新。
并且新建表是用DAX函数构建的,这让它变得十分灵活高效,利用DAX的强大功能,新建表的使用场景远不止于此,以后的文章中还会提到。
数据可视化之powerBI基础(九)Power BI中的“新表”,你会用吗?的更多相关文章
- 数据可视化之powerBI基础(六)Power BI的“问答”,你用过吗?
https://zhuanlan.zhihu.com/p/64412190 本文来自星球嘉宾"海艳"的分享,关于Power BI的问答功能以及各项细节,海艳详细为大家逐一介绍,下 ...
- 数据可视化之powerBI基础(十二)PowerBI导入Excel数据有哪几种方式?
https://zhuanlan.zhihu.com/p/64999937 Excel作为使用最频繁.应用最广泛.用户最庞大的数据处理工具,当然也应该是PowerBI最常用的数据获取方式,本文介绍一下 ...
- 数据可视化之powerBI基础(二十)Power BI度量值和新建表,有什么异同?
https://zhuanlan.zhihu.com/p/101812525 PowerBI中,有三个地方可以使用DAX,分别是度量值.新建列和新建表,这三个功能并成一排摆放在这里,如图所示, 之前 ...
- 数据可视化之powerBI基础(十八)Power BI度量值的格式如何修改?这里有三种方式
https://zhuanlan.zhihu.com/p/99818030 在知识星球遇到的问题中,有不少朋友问如何修改数值型度量值的格式,比如,新建的度量值如何显示为百分比或者千分位等等,这篇文章 ...
- 数据可视化之powerBI基础(二)PowerBI动态图表技巧:钻取交互
https://zhuanlan.zhihu.com/p/64406366 查看可视化图表的时候,我们可能想深入了解某个视觉对象的更详细信息,或者进行更细粒度的分析,比如看到2017年的总体数据,同时 ...
- 数据可视化之powerBI基础(一) 如何查看PowerBI图表背后的数据
https://zhuanlan.zhihu.com/p/64405494 图表很直观,但有时候我们不仅想看图,也想更进一步查看生成该图表的明细数据,在PowerBI中有三种方式. (一)在图表上单击 ...
- 数据可视化之powerBI基础(十九)学会使用Power BI的参数,轻松搞定动态分析
https://zhuanlan.zhihu.com/p/55295072 静态的分析经常不能满足实际分析的需要,还需要引入动态分析,通过调节某个维度的增减变化来观察对分析结果的影响.在PowerBI ...
- 数据可视化之powerBI基础(十一)Power BI中的数据如何导出到Excel中?
https://zhuanlan.zhihu.com/p/64415543 把Excel中数据加载到PowerBI中我们都已经熟悉了,但是怎么把在PowerBI中处理好的数据导出到Excel中呢?毕竟 ...
- 数据可视化之powerBI基础(十四)Power BI中创建联动切片器
https://zhuanlan.zhihu.com/p/67564062 进行数据分析时,每个分析维度并不总是独立的,比如省份是一个维度,城市也是一个维度,而这两个维度之间是有逻辑关系的,那么在进行 ...
随机推荐
- <VCC笔记> 推断操作符,映射和量词
推断操作符 在VCC中,==>符号意味着逻辑推理结果,即离散数学中的蕴涵关系.P==>Q等价于((!P)||(Q)).是非常常用的操作符. 量词(quantifier) 关于量词,这里指的 ...
- MySQL示例数据库导入_1
做个测试需要有适当量的数据库,于是找到了下面这个MySQL(超过30w记录), 1)先Git clone https://github.com/datacharmer/test_db ...
- 测试必备工具之最强抓包神器 Charles,你会了么?
前言 作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷:比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景 ...
- EduSoho二次开发功能:单词本使用说明
测试地址:http://shanxue.edusoho.site/ 管理账号:test 管理密码:123456 针对英语或其他语言进行单词展示,索引功能.可以针对单词进行最多三级的分类筛选,以及不限数 ...
- JavaWeb网上图书商城完整项目--day02-25.查询所有分类功能之流程分析
分类模块的业务流程入下面所示:
- 尚硅谷ajax视频教程2
7.7. 尚硅谷_佟刚_Ajax_典型应用_验证用户名是否可用 整个项目的目录路径如下所示 我们首先新建立一个web工程,在webroot下面新建立一个script的文件夹,导入jquer文件 接下来 ...
- hello python week one
python的注释 好的pytho程序员不一定非要追求 代码的简短,代码的可读性也是至关重要的 与用户交互 输入 input 会将输入内容转化为字符串 输出 print 格式化输出 %d %s 占位符 ...
- Flask01-HelloWorld
# flask学习 参考:http://www.pythondoc.com/flask-mega-tutorial/ ## python3. 默认支持虚拟环境使用(用最简单的方法,解决问题) wget ...
- MongoDB入门三
MongoDB字段问题 增删查改操作 删除一列操作db.RiderReaTimePositon.update({},{$unset:{'CreateTime':''}},false,true)db. ...
- 小师妹学JVM之:JIT中的PrintAssembly
目录 简介 使用PrintAssembly 输出过滤 总结 简介 想不想了解JVM最最底层的运行机制?想不想从本质上理解java代码的执行过程?想不想对你的代码进行进一步的优化和性能提升? 如果你的回 ...