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> 括住的一或多個欄位名稱。這些欄位名稱應該是圖表維度變數的子集。
範例:
範例 | 結果 |
---|---|
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 值的所有字串值皆會串連。若指定欄位選項 <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 '|');
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 |