# Concat- 图表函数

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

Concat({[SetExpression] [DISTINCT] [TOTAL [&lt;fld{, fld}&gt;]] string[, delimiter[, sort\_weight]])

返回数据类型： 字符串

拼接参数

| 参数 | 说明 |
| --- | --- |
| string | 表达式或字段，其中包含要处理的字符串。 |
| delimiter | 每个值均由delimiter内的字符串分隔。 |
| sort\_weight | 串联的顺序可由维度 sort\_weight 的值决定，如果存在，与最低值对应的字符串首先出现在串联中当使用 0 作为 sort\_weight 参数值时，不对输出应用排序。如果省略 sort\_weight 参数，该函数默认采用字母数字排序。 |
| SetExpression | 聚合函数会默认聚合选择项定义的可能记录集合。可选记录集合可由集合分析表达式定义。 |
| distinct | 如果在表达式前出现单词 distinct，则将忽略所有重复值。 |
| TOTAL | 如果在函数参数前面出现单词 TOTAL，则计算给出当前选择项的所有可能值，而不只是属于当前维度值的那些值，即它会忽略图表维度。 TOTAL 限定符后可能紧跟着一系列由尖括号括起来的一个或多个字段名 &lt;fld&gt;。这些字段名应该是图表维度变量的子集。<br><br>[定义聚合范围](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm) |

示例和结果

| 示例 | 结果 |
| --- | --- |
| `Concat(Team)` | 此表格通过维度 SalesGroup 和 Amount 以及度量 Concat(Team) 中的变体构造。在忽略“总计”结果的情况下，请注意，即使分布在两个 Team 值中的八个 SalesGroup 值都有数据，在表格中连接多个 Concat(Team) 字符串值的度量 Team 的唯一结果仍是包含维度 Amount 20000 的行，它提供了结果 BetaGammaGamma。这是因为在输入数据中 Amount 20000 有三个值。当度量分布在维度中时，所有其他结果均不串联，因为 SalesGroup 和 Amount 的每个组合只有一个 Team 值。 |
| `Concat(DISTINCT Team,', ')` | Beta, Gamma。因为 DISTINCT 限定符意味着忽略重复的 Gamma 结果。此外，将分隔符参数定义为后跟空格的逗号。 |
| `Concat (TOTAL <SalesGroup> Team)` | 如果使用 TOTAL 限定符，则会串联所有 Team 值的所有字符串值。指定字段选择项 &lt;SalesGroup&gt; 时，此函数会将结果划分到维度 SalesGroup 的两个值中。对于 SalesGroupEast，结果为 AlphaBetaDeltaGammaGamma。对于 SalesGroupWest，结果为 EpsilonEtaThetaZeta。 |
| `Concat (TOTAL <SalesGroup> Team,';', Amount)` | 通过为 sort\_weight 添加参数：Amount，结果将按维度 Amount 的值进行排序。结果变为 DeltaBetaGammaGammaAlpha 和 EtaEpsilonZEtaTheta。 |
| `Concat(Team, '', 0)` | 将 sort\_weight 设置为 0 时，结果不进行排序。 |
| `Concat(TOTAL <SalesGroup> Team, '', 0)` | 当 sort\_weight 设置为 0 时，结果不会排序。此外，由于使用了 TOTAL 限定符，Team 所有值的所有字符串值都会被串联起来。 |

**示例中所使用的数据：**

`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 '|');`

表格形式的数据示例

| SalesGroup | Amount | Concat(Team) | Concat(TOTAL &lt;SalesGroup&gt; Team) | Concat(Team, ', ', 0) | Concat(TOTAL &lt;SalesGroup&gt; Team, '', 0) |
| --- | --- | --- | --- | --- | --- |
| East | 14000 | Delta | AlphaBetaDeltaGammaGamma | Delta | GammaGammaAlphaDeltaBeta |
| East | 20000 | BetaGammaGamma | AlphaBetaDeltaGammaGamma | GammaGammaBeta | GammaGammaAlphaDeltaBeta |
| East | 25000 | Alpha | AlphaBetaDeltaGammaGamma | Alpha | GammaGammaAlphaDeltaBeta |
| West | 14000 | Eta | EpsilonEtaThetaZeta | Eta | ZetaEpsilonEtaTheta |
| West | 17000 | Epsilon | EpsilonEtaThetaZeta | Epsilon | ZetaEpsilonEtaTheta |
| West | 19000 | Zeta | EpsilonEtaThetaZeta | Zeta | ZetaEpsilonEtaTheta |
| West | 23000 | Theta | EpsilonEtaThetaZeta | Theta | ZetaEpsilonEtaTheta |