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> 括住的一或多個欄位名稱。這些欄位名稱應該是圖表維度變數的子集。

請參閱: 定義彙總範圍

範例與結果:  

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) 的變異數建立而成。請注意,若忽略總計結果,即使有八個 Team值的資料分布在兩個 SalesGroup 值之間,串連表格中超過一個 Team 字串值的量值 Concat(Team) 唯一結果,是含有維度 Amount 20000 的列,而該列提供結果BetaGammaGamma。這是因為輸入資料中Amount20000 有三個值。當量值跨越維度,則所有其他結果會維持未串連,因為每個 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 '|');