ColumnNo() devuelve el número de la columna actual dentro del segmento de fila actual en una tabla pivotante. La primera columna es la número 1.
Sintaxis:
ColumnNo([total])
Argumentos
Argumento
Descripción
TOTAL
Si la tabla es unidimensional o si el cualificador TOTAL se utiliza como argumento, el segmento de columna actual es siempre igual a la columna completa.
Si la tabla dinámica tiene múltiples dimensiones horizontales, el segmento de fila actual incluirá solo columnas con los mismos valores que la columna actual en todas las filas de dimensión excepto la fila que muestra la última dimensión horizontal del orden de campo. El criterio de ordenación entre campos para dimensiones horizontales en tablas pivotantes viene definido simplemente por el orden de las dimensiones de arriba a abajo..
Nota informativaNo se permite ordenar por valores Y en gráficos ni ordenar por columnas de expresión en tablas cuando esta función de gráfico se usa en cualquiera de las expresiones del gráfico. Estas alternativas de ordenación están por lo tanto automáticamente deshabilitadas. Cuando utiliza esta función de gráfico en una visualización o tabla, el orden de la visualización volverá a la entrada ordenada de esta función.
Si ColumnNo es igual a 1, el gráfico devolverá cero. En caso contrario, devolverá el resultado de Sum(Sales) / Before(Sum(Sales). En este ejemplo, el gráfico devolverá valores a partir de la columna 2, mientras que la columna 1 devolverá cero.
Ejemplo: fundamentos de ColumnNo
Descripción
Un conjunto de datos contiene datos de ventas trimestrales. Este ejemplo multiplica el valor de las ventas de cada periodo por el número de columna del periodo.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que se carga en una tabla de datos denominada Example.
Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada este campo como dimensión de columna:
Period
Cree la siguiente medida:
=Sum(Sales) * ColumnNo(), para calcular la suma de los valores de venta multiplicada por el número de columna, que es el trimestre en este ejemplo.
Tabla de resultados
Q1
T2
Q3
Q4
1000
4000
9000
16000
La suma del valor de las ventas de cada trimestre se multiplica por el resultado de salida de la función ColumnNo. Por ejemplo, el valor de las ventas en Q4 es 4000, y el resultado de salida de la función ColumnNo devuelve 4 porque Q4 es la cuarta columna. Por lo tanto, la expresión de medida multiplica 4000 por 4 y devuelve 16000.
Ejemplo: escenario de ColumnNo
Descripción
Un conjunto de datos contiene cifras de ventas trimestrales. Una empresa quiere aumentar los datos de ventas de Q1 y Q3 (las columnas impares) en un 5% y aumentar las ventas de las columnas restantes (Q2 y Q4) en un 10%.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que se carga en una tabla de datos denominada Example.
Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada este campo como dimensión de columna:
Period
Cree las siguientes medidas:
=Sum(Sales), para calcular la suma de las ventas.
=If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10), para aumentar los importes de venta de las columnas impares en un 5% y los de las columnas restantes en un 10%.
Tabla de resultados
Q1
T2
Q3
Q4
Sum(Sales)
If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)
Sum(Sales)
If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)
Sum(Sales)
If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)
Sum(Sales)
If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)
1000
1050
2000
2200
3000
3150
4000
4400
Los resultados muestran que los valores de venta de las columnas impares, 1 y 3 (Q1 y Q3), han aumentado un 5%, mientras que las restantes columnas pares, 2 y 4 (Q2 y Q4), lo han hecho en un 10%.
Ejemplo: escenario avanzado de ColumnNo
Descripción
Este ejemplo utiliza el mismo conjunto de datos que el escenario anterior para presentar el total acumulado de los valores de cada periodo.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que se carga en una tabla de datos denominada Example.
Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada este campo como dimensión de columna:
Period
Cree la siguiente medida:
=RangeSum(Before(Sum(Sales), 0, ColumnNo())), para calcular el total acumulado.
Tabla de resultados
Q1
T2
Q3
Q4
1000
3000
6000
10000
Este ejemplo muestra cómo utilizar la función ColumnNo para generar un total acumulado. La siguiente explicación proporciona más detalles sobre la expresión de medida: RangeSum(Before(Sum(Sales), 0, ColumnNo())).
Sum(Sales): calcula la suma de las ventas en la celda actual de la tabla dinámica.
Before(Sum(Sales), 0, ColumnNo()): la función Before recupera los valores de las columnas precedentes de la tabla dinámica.
El argumento Sum(Sales) garantiza que la función recupere la suma de Sales para las celdas precedentes.
El valor de desplazamiento de 0 especifica el desplazamiento de la columna (restante en el segmento de fila actual de la columna actual).
ColumnNo() determina cuántas columnas hay que retroceder al recuperar los datos. Representa dinámicamente la posición de la columna actual (por ejemplo, para la columna 3, ColumnNo() es igual a 3, por lo que la función mira hacia atrás a través de tres columnas).
RangeSum(): la función RangeSum calcula la suma del rango de valores proporcionado. Maneja los valores nulos tratándolos como cero. En esta expresión, RangeSum genera efectivamente un total acumulativo sumando todos los valores Sales precedentes recuperados por la función Before(), así como las ventas de la celda actual.
¿Esta página le ha sido útil?
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.