Concat - función de gráfico
Concat() se utiliza para combinar valores de cadenas. Esta función devuelve la concatenación agregada de cadenas de todos los valores de la expresión que se evalúan en cada dimensión.
Sintaxis:
Concat({[SetExpression] [DISTINCT] [TOTAL [<fld{, fld}>]] string[, delimiter[, sort_weight]])
Tipo de datos que devuelve: cadena
Argumentos:
- string: La expresión o campo que contiene la cadena que se ha de procesar.
- delimiter: Cada valor puede ir separado por la cadena que se encuentra en el delimiter.
- sort-weight: El orden de la concatenación puede definirse en el valor de la dimensión sort-weight, si existe; la cadena correspondiente al valor más bajo aparece en primer lugar en la concatenación..
- SetExpression: Por defecto, la función de agregación agregará sobre el conjunto de registros posibles definidos por la selección. Se puede definir un conjunto alternativo de registros mediante una expresión de análisis de conjuntos.
- DISTINCT: Si la palabra DISTINCT aparece antes que los argumentos de la función, se descartarán los duplicados resultantes de evaluar los argumentos de la función.
- TOTAL: Si la palabra TOTAL aparece antes de los argumentos de la función, el cálculo se realiza con todos los valores posibles dadas las selecciones actuales, y no solo con los que pertenecen al valor dimensional actual, es decir, ignora las dimensiones del gráfico. El cualificador TOTAL puede ir seguido de una lista con uno o más nombres de campo entre paréntesis angulares <fld>. Estos nombres de campo deberían ser un subgrupo de las variables de dimensión del gráfico.
Ejemplos:
Ejemplo | Resultado |
---|---|
Concat(Team) |
La tabla se crea a partir de las dimensiones SalesGroup y Amount, así como de las variaciones de la medida Concat(Team). Al ignorar el resultado de Totales, tenga en cuenta que aunque haya datos para ocho valores de Team repartidos en dos valores de SalesGroup, el único resultado de la medida Concat(Team) que concatena más de un valor de la cadena Team en la tabla es la fila que contiene la dimensión Amount, que da el resultado BetaGammaGamma. Esto se debe a que hay tres valores para Amount 20000 en los datos de entrada. Todos los demás resultados permanecen sin concatenar cuando la medida se distribuye por las dimensiones, porque solo hay un valor de Team por cada combinación de SalesGroup y Amount. |
Concat(DISTINCT Team,', ') | Beta, Gamma, porque el calificador DISTINCT significa que el resultado Gamma duplicado se ignora. Además, el argumento delimitador se define como una coma seguida por un espacio. |
Concat (TOTAL <SalesGroup> Team) | Todos los valores de cadena para todos los valores de Team se concatenan si se utiliza el calificador TOTAL. Si se especifica la selección de campo <SalesGroup>, se dividen los resultados en los dos valores de la dimensión SalesGroup. Para SalesGroupEast, los resultados son AlphaBetaDeltaGammaGamma. Para SalesGroupWest, los resultados son EpsilonEtaThetaZeta. |
Concat (TOTAL <SalesGroup> Team,';', Amount) | Al añadir el argumento para sort-weight: Amount, los resultados se ordenan por el valor de la dimensión Amount. Los resultados pasan a ser DeltaBetaGammaGammaAlpha y EtaEpsilonZEtaTheta. |
Datos utilizados en los ejemplos:
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 |