# 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 位於函數引數之前，則會在提供現行選項的所有可能值上進行計算，而不僅僅是關於目前維度值的那些選項，也就是說，它會忽略圖表維度。<br><br>透過使用 TOTAL [&lt;fld {.fld}&gt;] (其中 TOTAL 限定詞後面是做為圖表維度變數子集之一或更多欄位名稱的清單)，您可建立總可能值的子集。<br><br>[定義彙總範圍](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Results table

| 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 |

函數範例

| 範例 | 結果 |
| --- | --- |
| `Concat(Team)` | 此表格由維度 SalesGroup 和 Amount，以及量值 Concat(Team) 的變體所構成。忽略總計結果，請注意，即使有八個 Team 值分佈在兩個 SalesGroup 值中，表格中唯一串連多個 Team 字串值的量值 Concat(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 '|');`