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 限定詞後面是做為圖表維度變數子集之一或更多欄位名稱的清單),您可建立總可能值的子集。 |
| 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) |
此表格是根據 維度 SalesGroup 與 Amount,以及 量值 Concat(Team) 的變體所建構。忽略 Totals 結果,請注意,即使有分佈在兩個 SalesGroup 值中的八個 Team 值資料,表格中串連多個 Team 字串值之量值 Concat(Team) 的唯一結果,是包含維度 Amount 20000 的資料列,其產生的結果為 BetaGammaGamma。這是因為輸入資料中,Amount 20000 有三個值。當量值跨越維度時,所有其他結果都保持未串連狀態,因為每個 SalesGroup 和 Amount 的組合只有一個 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 的值排序。結果會變成 DeltaBetaGammaGammaAlpha 與 EtaEpsilonZEtaTheta。 |
範例中使用的資料:
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 '|');