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

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

使用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" )
}

效果如下:

不指定其名称,列的标题将会默认生成,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" )
}
RETURNSELECTCOLUMNS (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源

效果如下:

该函数有两个参数,一参指定字段标题名称,二参内层每个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源

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

方法二: 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,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。

创建表的几种方式(语法总结)相关推荐

  1. Hive创建表的几种方式

    hive执行的三种方式: 1. 用hive CLI 2. 终端执行hive命令: hive -e hive语句 3. 终端执行hive脚本: hive -f  hive脚本 如果需要通过jdbc来连接 ...

  2. 创建表的两种方式 [MySQL][数据库]

    创建表的两种方式 方式一: ----> 我将这种方式归结为白手起家的方式 CREATE TABLE [IF NOT EXISTS] 表名(#这里的每个字段之间使用,(逗号)隔开,但是最后面一个字 ...

  3. hive 中创建表的三种方式

    官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 通常我们所使用的创建hive表有三种方式 1.crea ...

  4. Hive 创建表的三种方式

    官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 方法一: CREATE TABLE IF NOT EX ...

  5. MySQL创建用户(3种方式)

    MySQL创建用户(3种方式) 1. 使用CREATE USER语句创建用户 2. 使用 INSERT 语句新建用户 3. 使用GRANT语句新建用户 MySQL 在安装时,会默认创建一个名为 roo ...

  6. Hibernate中自动生成数据库表的两种方式

    第一种方式:Hibernate中利用工具类自动生成数据库表 1.建好POJO object, XML Mapping File,配置文件(hibernate.cfg.xml). 2.编写工具类 imp ...

  7. Spark _22 _创建DataFrame的几种方式(一)

    创建DataFrame的几种方式 读取json格式的文件创建DataFrame 注意: json文件中的json数据不能嵌套json格式数据. DataFrame是一个一个Row类型的RDD,df.r ...

  8. mysql+表复制+效率_MySQL数据库复制表的几种方式讲解

    一.MySQL复制表的几种方式 我们首先创建表stuents_score,利用SQL语句查看创建表的结构与列名字段. 之后查看students_score表数据,便于之后观察对比. 1.CREATE ...

  9. 深入解析React创建组件的三种方式

    eact创建组件的三种方式: 1.函数式无状态组件 2.es5方式React.createClass组件 3.es6方式extends React.Component 三种创建方式的异同 1.函数式无 ...

最新文章

  1. vrrp的组播地址是多少
  2. linux的platform驱动
  3. 使用机器学习预测天气_如何使用机器学习根据文章标题预测喜欢和分享
  4. MyEclipse+Tomcat 启动时出现 configuration error occured during startup错误的解决方法
  5. 视觉 Transformer 综述
  6. Python线程类首先是一个类
  7. 大数据 挑战 机会_大数据可视化面临哪些挑战
  8. matlab制作强光效果代码,自己动手做一个雷达PPI显示器的动态效果图(附Matlab代码)...
  9. HDU 3861 The King’s Problem 强连通分量 最小路径覆盖
  10. kafka php 安装配置,kafka安装及Kafka-PHP扩展的使用,kafkakafka-php扩展_PHP教程
  11. python 3模块导入(import)问题一则
  12. SAS的安装过程和遇到的问题(提供安装包)
  13. 【Python刷题篇】——Python入门 01 输入输出
  14. matlab-画折线图
  15. 【游戏开发实战】Unity使用Socket通信实现简单的多人聊天室(万字详解 | 网络 | TCP | 通信 | Mirror | Networking)
  16. 新浪微博爬取笔记(4):数据清理
  17. 摩尔定律与反摩尔定律
  18. 读书札记:30个因素预示美国将再现“大萧条”...
  19. Java实现CCF/CSP 201312-2 ISBN编号(零分!!!
  20. SkipList(跳跃表)详解

热门文章

  1. 2401C可解RFX2401C缺货的燃眉之急,也可直接诶替代CC2592/CC2591
  2. 爱心代码(带字的奥)
  3. 顺序表的时间复杂度分析
  4. h5 换脸 php,DIY海报H5案例|换脸show颜值
  5. 为什么游戏模型不如原画好看?
  6. 从零开始写项目【总结】
  7. 2021年12月13日|14日|15日|16日|17日
  8. 《程序是怎样跑起来的》摘录
  9. xmind的简单使用教程
  10. Xmind软件 2020最新安装教程讲解