新建列

在现有表格基础上添加一列,最基本的做法,是使用列工具中的新建列:

简单实用,就是我们常说的计算列,计算列在模型设计时的作用也很重要,有些逐行生成的值需要固定下来,不再变化的我们就可以使用计算列。

ADDCOLUMNS函数

最初接触这个函数,大多是学习DAX查询的时候,我们要在Excel中做一个链回表,应该算一个实体表吧,经常看到这样的写法:

我们把这句放到Excel表中的DAX查询:

就会生成一个这样的表,这个表再连接到Power Pivot中就是链回表。链回表的应用也很广泛,从明细表到统计表这个过程,我们就可以使用DAX查询的方式,计算出统计结果,再链回到模型为下一步的运算做准备。

直接运用ADDCOLUMNS函数生成列的时候通常不会改变数据表的行的数量,原来多少行,添加列之后还是多少行,如果在ADDCOLUMNS函数的第一参数上使用了CROSSJOIN函数、或者SUMMARIZE函数,或者其他筛选函数,就会对原表的行进行修改,通常都是减少行数。

SUMMARIZE函数

SUMMARIZE函数能够像ADDCOLUMNS函数一样实现添加列的运算,SUMMARIZE函数是在去除指列的重复项之后添加列,所以功能上还是有区别的。

表1_2是链回表,我们用ADDCOLUMNS函数添加了合计列的表,重新连接到模型中,SUMMARIZE函数直接对名称列做了去重复,然后对合计列做运算,同时去掉了其他没有选择的列。SUMMARIZE函数生成的表更像我们在Excel中的数据透视表。当然也和数据透视表一样,你选择的列越多,显示的细节越多,表的行数越多,列数越少,越概括,行数越少。

我们同样可以使用DAX查询让结果显示在Excel表格中,或者,显示在Power BI Desktop的表中:

Power BI Desktop我没修改数据,所以显示的行数多,Excel中的数据B变成A所以显示行数少。

SUMMARIZECOLUMNS函数

SUMMARIZECOLUMNS函数与SUMMARIZE函数很接近:

第一参数由原来的表,直接变成去重复的列,虽然函数名称复杂了点,但是使用方法比SUMMARIZE函数更简洁。

SUMMARIZECOLUMNS函数与SUMMARIZE函数是对原表的统计,当然ADDCOLUMNS函数也能完成这样的统计,需要与VALUES函数、CROSSJOIN函数配合。

如果是多列的去重复统计,就要使用CROSSJOIN函数了。

我们在DAX学习过程中,DAX Studio这个工具是必备的工具

有了这个工具,可以非常方便的查看计算的中间结果,很直观,用来排错特别方便。

好了,表操作增加列就介绍到这里。

列运算_DAX表操作基础第二招:增加列相关推荐

  1. Windows注册表操作基础代码

    Windows注册表操作基础代码   Windows下对注册表进行操作使用的一段基础代码Reg.h: #pragma once #include<assert.h> #include< ...

  2. SQL2K数据库开发七之表操作添加删除和修改列

    1.在已有的表中添加.删除和修改列可以使用Transact-SQL中的ALTER TABLE语句,使用ALTER TABLE语句的语法为: 2.在SQL Server查询分析器中输入如下语句,往Pro ...

  3. html跨行跨列学生报名表,HTML表格跨行、跨列操作(rowspan、colspan)

    一般使用 元素的colspan属性来实现单元格跨列操作,使用元素的rowspan属性来实现单元格的跨行操作. colspan属性规定单元格可横跨的列数,所有浏览器都支持colspan属性.其取值为nu ...

  4. MYSQL基础笔记(三)-表操作基础

    数据表的操作 表与字段是密不可分的. 新增数据表 1 Create table [if not exists] 表名( 2 字段名 数据类型, 3 字段名 数据类型, 4 字段n 数据类型 --最后一 ...

  5. mysql添加列名在第一列_mysql在表的某一位置增加一列、删除一列、修改列名

    如果想在一个已经建好的表中添加一列,可以用以下代码: alter table 表名 add column 列名 varchar(20) not null; 这条语句会向已有的表中加入一列,这一列在表的 ...

  6. html表格显示列与隐藏列_在宽表上隐藏/显示HTML表格列

    html表格显示列与隐藏列 I was recently asked to create an report based on an HTML table. The report needed to ...

  7. 数据库操作--基础篇

    文章目录 一.什么是数据库 基础知识 数据库主键,外键,索引 关系型和非关系型数据库的区别 二.数据库命令 MySQL语法规范 基础查询 常见增删改查语法介绍 三.DQL语言的学习 SQL的执行顺序 ...

  8. Java学习day096 并发(六)(线程安全的集合:高效的映射、集和队列、映射条目的原子更新、对并发散列映射的批操作、并发集视图、写数组的拷贝、并行数组算法、较早的线程安全集合)

    使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识. day096   并发(六)(线程安全的集合:高效的映射.集和队列.映射条目的原子更新.对并发散列映 ...

  9. SQL2K数据库开发六之表操作创建产品表products

    1.在SQL Server企业管理器中的数据库下的"表"节点上右击鼠标,在弹出的菜单上点击"新建表". 2.在出现的表设计器中,为表中加入五个列:Product ...

最新文章

  1. [luogu3760 TJOI2017] 异或和(树状数组)
  2. 3D点云识别安全吗? 密歇根大学等提出稳健性分析数据集应对严重失真
  3. php动态加载js,动态加载script文件的两种方法_javascript技巧
  4. Scala 隐式转换和隐式参数
  5. 类似于Function.bind的dojo.hitch --dojo Quick Start/dojo入门手册4
  6. 中了计算机病毒改怎么办,计算机中病毒了怎么办?清除计算机病毒方法有哪些...
  7. 目前云存储,主要面临哪些问题?
  8. 安全厂商发布网络间谍平台ProjectSauron研究报告
  9. 三菱q系列plc 和电脑socket_三菱Q系列Socket通讯(套接字通讯)讲解
  10. 霞浦职业中专学校计算机专业,霞浦职业中专学校
  11. 工作后能捡起英语的三个网站
  12. 用苹果手机计算机程序二,两台iPhone怎么互传软件 苹果手机互传应用的3个小技巧...
  13. 高级软件工程第九次作业:东理三剑客团队作业-随笔6
  14. 面试的时候面试官问如何看待加班,该怎么回答?
  15. 研发效能提升如何层层推进?
  16. 51单片机入门(2)LED点亮的背后
  17. ExtJS 学习专题-如何应用ExtJS
  18. 主要的技术Blog网站
  19. 关于window11下AE2022没有扩展选项或安装svga插件不现实的问题
  20. 【问与答】开复老师:硕士毕业后工作,还是出国读博?

热门文章

  1. 你和数据分析大神之间,就差这7个沟通技巧
  2. 逻辑人渴望控制那些让他们感兴趣的东西
  3. 飞鸽传书渐成政务办公工具
  4. 一种被忽视的构造和整数溢出重现
  5. 87个常用电脑快捷键大全,别让速度限制你的工资,建议收藏一份!
  6. 女程序媛面试总结:我是这样脱颖而出的
  7. python元素元组抓7_Python7元组,字典,集合
  8. 短小精悍-机器学习核心概念、模型、基础知识点简明手册-免费分享
  9. Python语法糖之:列表解析、集合解析和字典解析
  10. 原来Rproj还可以这么使用