ADDCOLUMNS 在一张表添加新列,其语法:
ADDCOLUMNS(<Table>, <name>, <expression> [, <name>, <expression>)
Table: 既可以是已经存在的表,也可以是表表达式
name: 要添加的列的名称
expression: 要添加的列,该表达式是一行一行计算的
该函数的返回值为一张表,包括原有的行及新加的列
注:ADDCOLUMNS不会保持数据沿袭
示例:

这里有2张表:学生表及成绩表,假设需要一张表,我们利用ADDCOLUMNS计算一下每个学生的总成绩
// 这是利用计算表生成的T.Addcolumns = ADDCOLUMNS('YiLuXiangBei Stu Student',"Score",sumx('YiLuXiangBei Stu Score','YiLuXiangBei Stu Score'[Score]))
但是,看下面的结果,并不是想要的!!

这是因为ADDCOLUMNS不会保留数据沿袭,虽然学生表和成绩表之间建立了物理关系,但在ADDCOLUMNSZ中 这两张表之间是没有关系的
我们对上面的公式修改一下,加上RELATEDTABLE:
T.Addcolumns_2 = ADDCOLUMNS('YiLuXiangBei Stu Student',"Score",sumx(RELATEDTABLE('YiLuXiangBei Stu Score'),'YiLuXiangBei Stu Score'[Score]))
此时,结果是我们想要的了

另:
利用ADDCOLUMNS生成的表,可以作为表参数传递给能够接收表的函数,这里就不举例说明了
参考文章:
https://docs.microsoft.com/en-us/dax/addcolumns-function-dax
https://dax.guide/addcolumns/
文章转载自BISeven,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




