Registros para los que no hay un campo asociado en una tabla remota

Supongamos que tenemos una tabla de ventas, Sales, y una tabla con información sobre los productos a la venta, Product. Cada registro de la tabla de ventas está relacionado con un y solo un producto de la tabla Product, pero no todos los productos tienen toda la información disponible: algunos de ellos carecen -por el motivo que sea- de información sobre su color, peso, dimensiones, etc.

En este escenario deseamos averiguar qué ventas involucran productos para los que no se conoce un cierto campo, por ejemplo, el peso, contenido en el campo 'Product'[Weight].

Si quisiéramos crear una tabla calculada con esta información, podríamos usar la función FILTER para filtrar la tabla. El criterio sería mantener solo los registros de ventas para los que el campo remoto 'Product'[Weight] contenga algún dato o, dicho con otras palabras, no tengan un valor vacío.

En pseudo-código, la definición de la tabla vendría dado por la expresión:

Missing weight = FILTER(

    Sales;

    Campo 'Product[Weight]' no está vacío

)

Podemos comprobar si un valor es o no vacío usando la función ISBLANK, y para acceder a la tabla remota Product deberemos utilizar la función RELATED. El código final sería el siguiente:

Missing weight = FILTER(

    Sales;

    ISBLANK(

        RELATED('Product'[Weight])

    )

)

El resultado sería el mostrado en la siguiente imagen:

Registros de venta sin campo Weight definido

 

Funciones DAX involucradas
Enviado por admin el Sáb, 05/01/2019 - 16:51