通常情况下,在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星球


推荐阅读:
相关文章