Visualización de los días de ocupación de un recurso

Un interesante escenario es aquel que implica una tabla de datos que incluye la "ocupación" de unos ciertos recursos indicando la fecha de comienzo y la de finalización de la ocupación, teniendo como objetivo la visualización de una gráfica en la que se muestre el calendario y los días en los que cada recurso está ocupado o disponible.

Para resolver este escenario partimos de una tabla ("Allocations") en la que se muestra el recurso en cuestión (1, 2 o 3 en nuestro ejemplo), y las fechas de inicio y fin de la ocupación:

Enviado por admin el Lun, 01/07/2019 - 18:38

GENERATE

La función GENERATE devuelve una tabla formada por el producto cartesiano de todas las filas de la primera tabla y las filas de la segunda tabla tras ser evaluadas en el contexto de fila de cada una de las filas de la primera. O, dicho con otras palabras, para cada una de las filas de la primera tabla se crea un contexto de fila que se aplica a la segunda tabla antes de realizar la combinación.

Enviado por admin el Lun, 01/07/2019 - 16:32

ISSUBTOTAL

La función ISSUBTOTAL devuelve el valor lógico True si la fila correspondiente contiene un subtotal para la columna indicada como argumento.

Enviado por admin el Dom, 30/06/2019 - 20:11

ROLLUP

La función ROLLUP identifica un subconjunto de campos de la tabla siendo agregada mediante la función SUMMARIZE, campos para los que se generarán subtotales.

Enviado por admin el Dom, 30/06/2019 - 18:35

Valor seleccionado en una columna

En ocasiones necesitamos averiguar si un valor ha sido o no seleccionado en una columna (a través de una segmentación, etc.). Una forma de conseguir esto es mediante el uso de la función IN. Cuando se usa con un único escalar a la izquierda de IN, esta función devuelve TRUE si el escalar aparece en un listado de valores que se incluye a la derecha. Por ejemplo, supongamos que tenemos una tabla Geography que incluye información geográfica, incluyendo un campo Country con el nombre del país:

Enviado por admin el Mié, 26/06/2019 - 18:20