快捷搜索:  汽车  科技

建立表的方法(创建表的几种方式)

建立表的方法(创建表的几种方式)Employees_2 = { ( "A" 17 FALSE "2014/2/16 0:00:00" ) ( "B" 33 TRUE "1988/10/10 0:00:00" ) }效果如下:DAX中的表的构造符为{},直接输入{""},我们可以得到一张单列空表。每行纪录用小括号分割,每行记录中的每个字段内容用逗号分割。在不考虑标题名称前提下,可以尝试以下代码:Employees_1 = DATATABLE ( "Name" STRING "Age" INTEGER "Gender" BOOLEAN "Date of Birth" DATETIME { { "A" 17 false "

建立表的方法(创建表的几种方式)(1)

小伙伴们好啊,今天和大家说说用M和DAX创建表的几种方式。

我们需要创建的表格如下:

建立表的方法(创建表的几种方式)(2)

使用DAX创建表

首先来看一种最常用的方式:

方法一:使用DATATABLE创建,实现的代码如下:

Employees_1 = DATATABLE ( "Name" STRING "Age" INTEGER "Gender" BOOLEAN "Date of Birth" DATETIME { { "A" 17 false "2014/2/16 0:00:00" } { "B" 33 TRUE "1988/10/10 0:00:00" } } )

该函数的语法如下:

DATATABLE( <name> <type> [ <name> <type> [ ...] ] <data> )

前面的参数成对出现,分别指明字段名称和数据类型。整个data部分用{}包裹,每条记录再次用{}分割。

方法二:SELECTCOLUMNS {}

DAX中的表的构造符为{},直接输入{""},我们可以得到一张单列空表。每行纪录用小括号分割,每行记录中的每个字段内容用逗号分割。在不考虑标题名称前提下,可以尝试以下代码:

Employees_2 = { ( "A" 17 FALSE "2014/2/16 0:00:00" ) ( "B" 33 TRUE "1988/10/10 0:00:00" ) }

效果如下:

建立表的方法(创建表的几种方式)(3)

不指定其名称,列的标题将会默认生成,Value1 Value2 Value3...标题名称修改可以通过SELECTCOLUMNS实现,最终代码如下:

Employees_2 = VAR Data = { ( "A" 17 FALSE "2014/2/16 0:00:00" ) ( "B" 33 TRUE "1988/10/10 0:00:00" ) } RETURN SELECTCOLUMNS ( Data "Name" [Value1] "Age" [Value2] "Gender" [Value3] "Date of Birth" [Value4] )

效果和方法1.1一致,区别在于省去了指定数据类型的步骤,稍微简洁些。

使用M创建表

方法一:#table(columns as any rows as any ) as any

let 源 = #table( { "Name" "Age" "Gender" "Date of Birth"} { {"A" 17 false "2014/2/16 0:00:00"} {"B" 33 true "1988/10/10 0:00:00"} } ) in 源

效果如下:

建立表的方法(创建表的几种方式)(4)

该函数有两个参数,一参指定字段标题名称,二参内层每个List中是具体数据,最后用一个大的List包裹。

细心的小伙伴会发现此时每个字段的数据类型是any。DAX在创建表的时候可以指定数据类型,M语言可以吗?可以,不过代码要长一些:

let 源 = #table( type table[ Name = text Age = number Gender = logical Date of Birth = datetime] { {"A" 17 false "2014/2/16 0:00:00"} {"B" 33 true "1988/10/10 0:00:00"} } ) in 源

建立表的方法(创建表的几种方式)(5)

此时各字段的数据类型已经指定,无需添加新的步骤。


方法二: Table.FromRecords

let 源 = Table.FromRecords( { [ Name = "A" Age = 17 Gender = false Date of Birth = "2014/2/16 0:00:00" ] [ Name = "B" Age = 33 Gender = true Date of Birth = "1988/10/10 0:00:00" ] } // type table[ Name = text Age = number Gender = logical Date of Birth = datetime] 指定数据类型 ) in 源

因为Records由键值对构成,本身已包含字段名称,所以不再需要我们单独指定字段名称。如果需要在建表的时候指定数据类型,同样需要借助二参实现。(注释部分)

M语言Table可以由Records和List转换而来,所以构建表的方式多种多样。除了上面提到的方法,还有:


  • Table.FromRows
  • Table.FromColumns
  • Table.FromList

篇幅所限,本篇文章不再一一赘述,方法大都类似,有兴趣的小伙伴可以自己做尝试。

以上就是今天介绍的用DAX和M语言创建表格的方法,希望大家能够有所收获。祝大家学习愉快,下期再见!

* PowerPivot工坊原创文章,转载请注明出处!


延伸阅读:

Power BI书签的N种用法,你get了吗?

Power BI之相对日期的设置

Power BI中如何添加标头工具提示

通过DAX控制条形图颜色

利用DAX实现动态显示图表标题


如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。

建立表的方法(创建表的几种方式)(6)

猜您喜欢: