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中的“新表”,你会用吗?的更多相关文章

  1. 数据可视化之powerBI基础(六)Power BI的“问答”,你用过吗?

    https://zhuanlan.zhihu.com/p/64412190 ​本文来自星球嘉宾"海艳"的分享,关于Power BI的问答功能以及各项细节,海艳详细为大家逐一介绍,下 ...

  2. 数据可视化之powerBI基础(十二)PowerBI导入Excel数据有哪几种方式?

    https://zhuanlan.zhihu.com/p/64999937 Excel作为使用最频繁.应用最广泛.用户最庞大的数据处理工具,当然也应该是PowerBI最常用的数据获取方式,本文介绍一下 ...

  3. 数据可视化之powerBI基础(二十)Power BI度量值和新建表,有什么异同?

    https://zhuanlan.zhihu.com/p/101812525 ​PowerBI中,有三个地方可以使用DAX,分别是度量值.新建列和新建表,这三个功能并成一排摆放在这里,如图所示, 之前 ...

  4. 数据可视化之powerBI基础(十八)Power BI度量值的格式如何修改?这里有三种方式

    https://zhuanlan.zhihu.com/p/99818030 ​在知识星球遇到的问题中,有不少朋友问如何修改数值型度量值的格式,比如,新建的度量值如何显示为百分比或者千分位等等,这篇文章 ...

  5. 数据可视化之powerBI基础(二)PowerBI动态图表技巧:钻取交互

    https://zhuanlan.zhihu.com/p/64406366 查看可视化图表的时候,我们可能想深入了解某个视觉对象的更详细信息,或者进行更细粒度的分析,比如看到2017年的总体数据,同时 ...

  6. 数据可视化之powerBI基础(一) 如何查看PowerBI图表背后的数据

    https://zhuanlan.zhihu.com/p/64405494 图表很直观,但有时候我们不仅想看图,也想更进一步查看生成该图表的明细数据,在PowerBI中有三种方式. (一)在图表上单击 ...

  7. 数据可视化之powerBI基础(十九)学会使用Power BI的参数,轻松搞定动态分析

    https://zhuanlan.zhihu.com/p/55295072 静态的分析经常不能满足实际分析的需要,还需要引入动态分析,通过调节某个维度的增减变化来观察对分析结果的影响.在PowerBI ...

  8. 数据可视化之powerBI基础(十一)Power BI中的数据如何导出到Excel中?

    https://zhuanlan.zhihu.com/p/64415543 把Excel中数据加载到PowerBI中我们都已经熟悉了,但是怎么把在PowerBI中处理好的数据导出到Excel中呢?毕竟 ...

  9. 数据可视化之powerBI基础(十四)Power BI中创建联动切片器

    https://zhuanlan.zhihu.com/p/67564062 进行数据分析时,每个分析维度并不总是独立的,比如省份是一个维度,城市也是一个维度,而这两个维度之间是有逻辑关系的,那么在进行 ...

随机推荐

  1. 曹工说Redis源码(8)--面试时,redis 内存淘汰总被问,但是总答不好

    文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...

  2. AsyncOperation和SceneManager.LoadSceneAsync协同加载场景

    这篇属于杂记,用于记录不甚理解的AsyncOperation AsyncOperation: //加载进度条 public Silder silder; 加载场景 public void LoginG ...

  3. redis编译报错总结

    redis编译报错总结: 1.不能编译没有GCC 编译工具安装报错:问题1:make时可能会报如下错误cc -c -std=c99 -pedantic -O2 -Wall -W   -g -rdyna ...

  4. MySQL实战45讲笔记一

    MySQL的基本架构大体可以分为server层和存储引擎层,逻辑架构图如下: Server层除了图中显示的,还包括所有的内置函数(包括日期.时间.数学和加密函数等),存储过程.触发器.视图等跨存储引擎 ...

  5. 2020/6/10 JavaScript高级程序设计 BOM

    BOM(浏览器对象模型):提供用于访问浏览器的对象. 8.1 window对象 window是BOM的核心对象,表示浏览器的一个实例. JavaScript访问浏览器窗口的接口 ECMAScript规 ...

  6. shell把字符串中的字母去掉,只保留数字

    1 编辑测试文件 [root@hz-kvm cephdisk3]# cat > 1.txt <<EOF> 120Tib> EOF 2 显示文件[root@hz-kvm c ...

  7. day17—max, map, reduce, filter, zip 函数的使用

    一.max 函数 l=[3,2,100,999,213,1111,31121,333] print(max(l)) # dic={'k1':10,'k2':100,'k3':30} print(max ...

  8. JavaScript基础正则表达式的字面声明(012)

    不出所料,正则表达式也是JavaScript的一种对象.构造正则表达式也有两种,一种是使用JavaScript内置的 new RegExp() 构造函数,另一种是我们推荐的字面声明方式: // reg ...

  9. Convert to Ones

    Convert to Ones 'You've got a string a 1 , a 2 ,-, a n a1,a2,-,an , consisting of zeros and ones. Le ...

  10. 深度学习论文翻译解析(八):Rich feature hierarchies for accurate object detection and semantic segmentation

    论文标题:Rich feature hierarchies for accurate object detection and semantic segmentation 标题翻译:丰富的特征层次结构 ...