Uso de declaraciones OVER en columnas calculadas
Puede realizar cálculos en los datos y mostrar los resultados como valores en una nueva columna que se agrega a la tabla de datos. En la expresión utilizada para el cálculo, puede usar una declaración OVER. Sin embargo, el uso de la declaración OVER en columnas calculadas funciona de manera diferente a su uso en expresiones personalizadas. En las columnas calculadas, la expresión OVER se usa para calcular valores separados y fijos para diferentes grupos; esta expresión puede hacer que los datos se dividan en menos registros.
Cuando se trabaja con columnas calculadas, no hay ningún eje disponible para navegar, como en el caso de las expresiones personalizadas. En su lugar, se usa la expresión OVER para hacer referencia a una columna de datos (o jerarquía).
En la siguiente tabla de datos, la expresión
Sum([Sales]) OVER ([Fruit])
se usa para calcular los valores de la columna agregada:
Ejemplo ampliado
Puede que la columna calculada con menos registros no sea muy útil como columna independiente. Por ello, agregaremos otra columna donde la expresión anterior sea una parte de la expresión utilizada:
[Sales] / (Sum([Sales]) OVER ([Fruit]))
Esta expresión calcula la contribución relativa de cada transacción de venta a las ventas totales a lo largo de los años en cada tipo de fruta. Por ejemplo, el 15 % (30/200) de las ventas totales de manzanas se produjeron en 2015, el 35 % (70/200) en 2016, y el resto, el 50 % (100/200), en 2017.
En el siguiente gráfico de barras, la columna calculada se ha seleccionado en el eje de valores mediante la agregación Sum.
De hecho, este resultado es el mismo que usar la opción Barras 100% apiladas en un gráfico de barras que muestra Sum([Sales]).
Combinación de OVER con un método de navegación de nodo en una columna calculada
En la expresión que se utiliza para calcular una columna, se puede utilizar la declaración OVER junto con un método de navegación de nodo. Este ejemplo puede darle una idea de cómo usar uno de los métodos, Previous().
En la tabla de datos se enumeran los pesos medidos semanales de un niño recién nacido visualizados como un gráfico de líneas.
Supongamos que nos interesa el crecimiento semanal. Esto se puede calcular utilizando la expresión:
[Weight (g)] - Sum([Weight (g)]) OVER (Previous([Week]))
Los resultados se pueden ver en la tabla de datos y en el siguiente gráfico de barras.