Concat - diagramfunktion
Concat() används för att kombinera strängvärden. Funktionen returnerar den aggregerade strängkonkateneringen av alla värden av uttrycket utvärderat över varje dimension.
Concat({[SetExpression] [DISTINCT] [TOTAL [<fld{, fld}>]]} string[, delimiter[, sort_weight]])
Returnerad datatyp: sträng
| Argument | Beskrivning |
|---|---|
| string |
Det uttryck eller fält som innehåller den sträng som ska behandlas. |
| delimiter | Varje värde kan avgränsas med den sträng som finns i delimiter. |
| sort_weight |
Sammanfogningsordningen kan bestämmas av värdet för dimensionen sort_weight, om det finns, där strängen som motsvarar det lägsta värdet visas först i sammanfogningen. När 0 används som värde för argumentet sort_weight tillämpas ingen sortering på utdata. Om argumentet sort_weight utelämnas använder funktionen alfanumerisk sortering som standard. |
| SetExpression | Som standard kommer aggregeringsfunktionen att aggregera över den uppsättning möjliga poster som definierats av urvalet. En alternativ uppsättning poster kan definieras med ett uttryck för set-analys. |
| DISTINCT | Om predikatet DISTINCT förekommer framför funktionsargumenten ignoreras alla dubbletter som evaluerats utifrån funktionsargumenten. |
| TOTAL |
Om ordet TOTAL står före funktionsargumenten görs beräkningen över alla valbara värden givet de aktuella valen, och inte bara sådana som rör det aktuella dimensionsvärdet, det vill säga att diagramdimensionerna ignoreras. Genom att använda TOTAL [<fld {.fld}>], där kvalificeraren TOTAL följs av en lista med ett eller flera fältnamn som en delmängd av diagramdimensionens variabler, skapar du en delmängd av de totala möjliga värdena. |
| SalesGroup | Amount | Concat(Team) | Concat(TOTAL <SalesGroup> Team) | Concat(Team, ', ', 0) | Concat(TOTAL <SalesGroup> 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 |
| Exempel | Resultat |
|---|---|
| Concat(Team) |
Tabellen är konstruerad från dimensionerna SalesGroup och Amount, och variationer på måttet Concat(Team). Bortsett från Totals-resultatet, observera att även om det finns data för åtta värden av Team spridda över två värden av SalesGroup, är det enda resultatet av måttet Concat(Team) som konkatenerar mer än ett Team-strängvärde i tabellen den rad som innehåller dimensionen Amount 20000, vilket ger resultatet BetaGammaGamma. Detta beror på att det finns tre värden för Amount 20000 i indata. Alla andra resultat förblir okonkatenerade när måttet spänns över dimensionerna eftersom det bara finns ett värde av Team för varje kombination av SalesGroup och Amount. |
| Concat(DISTINCT Team,', ') | Beta, Gamma. eftersom DISTINCT-kvalificeraren innebär att det kopierade Gamma-resultatet ignoreras. Dessutom definieras avgränsarargumentet som ett kommatecken följt av ett mellanslag. |
| Concat (TOTAL <SalesGroup> Team) | Alla strängvärden för alla värden av Team konkateneras om TOTAL-kvalificeraren används. Med fält-urvalet <SalesGroup> angivet delas resultaten upp i de två värdena för dimensionen SalesGroup. För SalesGroupEast är resultaten AlphaBetaDeltaGammaGamma. För SalesGroupWest är resultaten EpsilonEtaThetaZeta. |
| Concat (TOTAL <SalesGroup> Team,';', Amount) | Genom att lägga till argumentet för sort_weight: Amount, sorteras resultaten efter värdet på dimensionen Amount. Resultaten blir DeltaBetaGammaGammaAlpha och EtaEpsilonZEtaTheta. |
| Concat(Team, '', 0) | Med sort_weight satt till 0 sorteras inte resultaten. |
| Concat(TOTAL <SalesGroup> Team, '', 0) | Med sort_weight satt till 0 sorteras inte resultaten. Dessutom konkateneras alla strängvärden för alla värden av Team eftersom TOTAL-kvalificeraren används. |
Data som används i exemplet:
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 '|');