Eliminación de un filtro

Supongamos ahora que, en nuestro modelo de datos, se está filtrando la tabla de geografía de forma que solo las filas en las que el campo Country tome el valor “Spain” están seleccionadas. Nuestro nuevo contexto de filtro sería el siguiente:

Initial filter context

Esto significa que, por ejemplo, y como ya sabemos, el cálculo de las unidades vendidas (suma de Units) devolvería el valor 12 (2 + 3 + 4 + 3).

Pero supongamos ahora que recibimos el encargo de calcular las unidades vendidas “suponiendo que no se esté aplicando ningún filtro a la tabla de geografía”. El contexto de filtro es el mostrado en la imagen anterior (y no va a cambiar) pero, para poder responder a la petición que hemos recibido, deberemos imaginarnos cómo cambiaría si la tabla de geografía no estuviese siendo filtrada. El contexto de filtro resultante quedaría del siguiente modo:

Final filter context

Es decir, si el filtro que se estaba aplicando a la tabla de geografía era el único que estaba filtrando la tabla de ventas -como es nuestro caso-, si nos imaginamos que desaparece el filtro en la tabla de geografía, también desaparece el filtro aplicado a la tabla de ventas, por lo que ahora todas las filas serían incluidas en nuestros cálculos y la suma del campo Units sería 16.

Es fundamental recalcar que el contexto de filtro (el original) no ha cambiado. Solo hemos “imaginado” cómo quedaría si aplicásemos cierto cambio (la desaparición de los filtros aplicados a la tabla de geografía). Podemos pensar que hemos hecho una copia del contexto de filtro original y hemos modificado la copia para hacer los cálculos sobre ella.

En todo caso, para no estar repitiendo continuamente el hecho de que estamos trabajando con una copia del contexto de filtro original, cuando, a partir de ahora, hagamos mención a la “modificación del contexto de filtro”, nos referiremos exactamente a eso: a la modificación de la copia pues el contexto de filtro original no cambia.