Concat- 图表函数 | Qlik Cloud帮助
跳到主要内容

Concat- 图表函数

Concat() 用于组合字符串值。该函数用于返回通过每个维度计算的所有表达式值的聚合字符串串联。

Concat({[SetExpression] [DISTINCT] [TOTAL [<fld{, fld}>]]} string[, delimiter[, sort_weight]])

返回数据类型: 字符串

参数
参数 描述
string

表达式或字段,其中包含要处理的字符串。

delimiter 每个值均由delimiter内的字符串分隔。
sort-weight

串联的顺序可以由维度 sort-weight 的值(如果存在)决定,对应最低值的字符串在串联中首先出现

SetExpression 聚合函数会默认聚合选择项定义的可能记录集合。可选记录集合可由集合分析表达式定义。
DISTINCT 如果在函数参数前出现单词 DISTINCT,则将忽略计算该函数参数生成的副本。
TOTAL

如果在函数参数前面出现单词 TOTAL,则计算给出当前选择项的所有可能值,而不只是属于当前维度值的那些值,即它会忽略图表维度。

通过使用 TOTAL [<fld {.fld}>](其中 TOTAL 限定符后跟一个或多个字段名称作为图表维度变量的子集的列表),您可以创建总可能值的子集。

定义聚合范围

Results table
SalesGroup Amount Concat(Team) Concat(TOTAL <SalesGroup> Team)
East 25000 Alpha AlphaBetaDeltaGammaGamma
East 20000 BetaGammaGamma AlphaBetaDeltaGammaGamma
East 14000 Delta AlphaBetaDeltaGammaGamma
West 17000 Epsilon EpsilonEtaThetaZeta
West 14000 Eta EpsilonEtaThetaZeta
West 23000 Theta EpsilonEtaThetaZeta
West 19000 Zeta EpsilonEtaThetaZeta
函数示例
示例 结果
Concat(Team)

该表由维度 SalesGroupAmount,以及度量 Concat(Team) 的变体构建而成。忽略总计结果,请注意,尽管有分布在两个 SalesGroup 值中的八个 Team 值的数据,但在表中串联了多个 Team 字符串值的度量 Concat(Team) 的唯一结果是包含维度 Amount 20000 的行,其结果为 BetaGammaGamma。这是因为在输入数据中,Amount 20000 有三个值。当度量跨维度分布时,所有其他结果保持未串联状态,因为对于 SalesGroupAmount 的每种组合,只有一个 Team 值。

Concat(DISTINCT Team,', ') Beta, Gamma。因为 DISTINCT 限定符意味着复制的 Gamma 结果将被忽略。此外,分隔符参数被定义为逗号后跟一个空格。
Concat (TOTAL <SalesGroup> Team) 如果使用了 TOTAL 限定符,则所有 Team 值的所有字符串值都将被串联。通过指定字段选择 <SalesGroup>,这会将结果划分为维度 SalesGroup 的两个值。对于 SalesGroupEast,结果为 AlphaBetaDeltaGammaGamma。对于 SalesGroupWest,结果为 EpsilonEtaThetaZeta
Concat (TOTAL <SalesGroup> Team,';', Amount) 通过添加 sort-weight 的参数:Amount,结果将按维度 Amount 的值进行排序。结果变为 DeltaBetaGammaGammaAlphaEtaEpsilonZEtaTheta

示例中使用的数据:

TeamData:

LOAD * inline [

SalesGroup|Team|Date|Amount

East|Gamma|01/05/2013|20000

East|Gamma|02/05/2013|20000

West|Zeta|01/06/2013|19000

East|Alpha|01/07/2013|25000

East|Delta|01/08/2013|14000

West|Epsilon|01/09/2013|17000

West|Eta|01/10/2013|14000

East|Beta|01/11/2013|20000

West|Theta|01/12/2013|23000

] (delimiter is '|');

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!