创建表的几种方式(语法总结)
小伙伴们好啊,今天和大家说说用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工坊)后猛戳”在线学习”。
创建表的几种方式(语法总结)相关推荐
- Hive创建表的几种方式
hive执行的三种方式: 1. 用hive CLI 2. 终端执行hive命令: hive -e hive语句 3. 终端执行hive脚本: hive -f hive脚本 如果需要通过jdbc来连接 ...
- 创建表的两种方式 [MySQL][数据库]
创建表的两种方式 方式一: ----> 我将这种方式归结为白手起家的方式 CREATE TABLE [IF NOT EXISTS] 表名(#这里的每个字段之间使用,(逗号)隔开,但是最后面一个字 ...
- hive 中创建表的三种方式
官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 通常我们所使用的创建hive表有三种方式 1.crea ...
- Hive 创建表的三种方式
官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 方法一: CREATE TABLE IF NOT EX ...
- MySQL创建用户(3种方式)
MySQL创建用户(3种方式) 1. 使用CREATE USER语句创建用户 2. 使用 INSERT 语句新建用户 3. 使用GRANT语句新建用户 MySQL 在安装时,会默认创建一个名为 roo ...
- Hibernate中自动生成数据库表的两种方式
第一种方式:Hibernate中利用工具类自动生成数据库表 1.建好POJO object, XML Mapping File,配置文件(hibernate.cfg.xml). 2.编写工具类 imp ...
- Spark _22 _创建DataFrame的几种方式(一)
创建DataFrame的几种方式 读取json格式的文件创建DataFrame 注意: json文件中的json数据不能嵌套json格式数据. DataFrame是一个一个Row类型的RDD,df.r ...
- mysql+表复制+效率_MySQL数据库复制表的几种方式讲解
一.MySQL复制表的几种方式 我们首先创建表stuents_score,利用SQL语句查看创建表的结构与列名字段. 之后查看students_score表数据,便于之后观察对比. 1.CREATE ...
- 深入解析React创建组件的三种方式
eact创建组件的三种方式: 1.函数式无状态组件 2.es5方式React.createClass组件 3.es6方式extends React.Component 三种创建方式的异同 1.函数式无 ...
最新文章
- vrrp的组播地址是多少
- linux的platform驱动
- 使用机器学习预测天气_如何使用机器学习根据文章标题预测喜欢和分享
- MyEclipse+Tomcat 启动时出现 configuration error occured during startup错误的解决方法
- 视觉 Transformer 综述
- Python线程类首先是一个类
- 大数据 挑战 机会_大数据可视化面临哪些挑战
- matlab制作强光效果代码,自己动手做一个雷达PPI显示器的动态效果图(附Matlab代码)...
- HDU 3861 The King’s Problem 强连通分量 最小路径覆盖
- kafka php 安装配置,kafka安装及Kafka-PHP扩展的使用,kafkakafka-php扩展_PHP教程
- python 3模块导入(import)问题一则
- SAS的安装过程和遇到的问题(提供安装包)
- 【Python刷题篇】——Python入门 01 输入输出
- matlab-画折线图
- 【游戏开发实战】Unity使用Socket通信实现简单的多人聊天室(万字详解 | 网络 | TCP | 通信 | Mirror | Networking)
- 新浪微博爬取笔记(4):数据清理
- 摩尔定律与反摩尔定律
- 读书札记:30个因素预示美国将再现“大萧条”...
- Java实现CCF/CSP 201312-2 ISBN编号(零分!!!
- SkipList(跳跃表)详解