仅从DAX ADDCOLUMNS获取选定列

时间:2015-09-24 07:28:19

标签: sql-server dax

让我们说我有以下两个表:

Messages
MessageId | Messagedetails
12312       Something
32445       Lorem ipsum

Senders
MessageId | Sender
12312       Steve
32445       Allan

如果我想在表单上使用组合表:

MessageID | Messagedetails | Sender

我会使用以下DAX语句:

ADDCOLUMNS(
Messages,
"Sender", RELATED( 'Senders'[Sender] ))

然而,如果我想要以下内容:

Messagedetails | Sender 

或者只是第一张表中的其他选定列?第一张表中没有列怎么样?

1 个答案:

答案 0 :(得分:2)

如果他们联合在一起,您可以尝试:

SUMMARIZE(
   Messages,
   Messages[MessageDetails],
   Senders[Sender]
)

或者使用你之前写的:

ADDCOLUMNS(
   SUMMARIZE(
      Messages,
      Messages[MessageDetails]
   ),
   "Sender", RELATED(Senders[Sender])
)

基本上,您使用汇总函数来创建所需的受限表,然后将此表传递到ADDCOLUMNS函数中。 (不需要总结,可以使用任何返回表的函数,例如VALUES())

编辑: 我没有看到你的另一个问题。

对于没有列,我通常用摘要函数

替换虚拟列
SUMMARIZE(
   Messages,
   "Dummy", 1
)