concat 函数示例

CONCAT() 函数不应与 CONCATENATE 脚本关键字混淆。

在最简形式中,Concat() 用于将字符串与值/词/选择项组合为一个字符串。但是,它可以利用多种方式帮助你解决各种问题。以下表列出所有示例:

简单字符串串联

如前所述,concat函数允许你将列表所有值串成一串。这些值可以是硬代码或选择项/数据驱动值。

=CONCAT(MyColumn,',')

=CONCAT(DISTINCT MyColumn,',')

这一简单concat 语句可以将 MyColumn 栏中的所有可能值串成一串。你不妨增加 DISTINCT 关键词。可以确保字符串中的每个值只显示一次。

ABC,DEF,GHI,JKL,MNO,PQR,STU,VWX

使用简单concat时,你可以选择函数的排序权重,根据你的选择栏排序字符串的值。在以下示例中,增加日期栏以排序数值。

 

=CONCAT(MyColumn, ',', Date)

结果:JKL,VWX,GHI,ABC,STU,PQR,MNO,DEF

Expression/Set 语句内的Concat()

将多个动态值传递至设置分析表达式中

当你想将数值的动态选择传递至 SET 语句时,是有机会的。字符串需要添加单引号,即 CONCAT() 函数返回,如'JKL','VWX'。但你不能保留他们本身的单引号,因为他们会被解释为当评估Concat时而不是评估表达式时。使用 Chr()函数来代替:

 

=CONCAT(Chr(39)&MyColumn&Chr(39),',')

之后可以传递concat语句到表达式中:

 

=Sum({<MyColumn={$(=CONCAT(Chr(39)&MyColumn&Chr(39),','))}>} Value)

大多数情况下,出现数据岛的地方就可以使用这项技术。能够让你传递数值到表达式中而不影响数据模型的任何部分,因为数据岛表格未加入进去。

脚本中的Concat()

Concat可以用于脚本中,将多行转换成单列的值,正如任何其它的聚合一样。

务必要较早使用数据,脚本结果 CONCAT如下所示:

以下为脚本函数的结果:

使用 Rank() 影响Concat()

当你开始使用与concat()相联的其他函数时,你可以开始完成更好的结果。在本例中,已使用Rank()抓取前三项(基于数值)并将其串联起来。

 

=CONCAT(IF(aggr(Rank(sum(Value)),MyColumn)<=3,MyColumn),',')

结果:ABC,MNO,STU