Adición de datos de una tabla a otra sin relación entre ellas

En general, cuando queremos trabajar con datos repartidos entre dos o más tablas, partimos de un modelo de datos en el que las tablas están relacionadas entre sí por medio de "relaciones" que involucran un campo clave en los extremos de éstas. Pero no siempre es necesario que existan estas relaciones.

En este escenario partimos de una tabla de países:

Tabla de países

...y de una segunda tabla en la que se incluye la extensión de los mismos países:

Tabla de extensiones

Obsérvese que las listas no están ordenadas según el mismo criterio.

Una vez importadas las tablas a Power BI, confirmamos (pues el escenario se basa en esta hipótesis) que no existe una relación entre ellas:

Modelo de datos

El objetivo es añadir el campo Extensión de la tabla homónima a la tabla Países. Si existiese una relación entre las tablas podría conseguirse recurriendo a la función RELATED. Pero en este caso no existe. Afortunadamente disponemos de una buena alternativa: la función LOOKUPVALUE. Esta función nos permite extraer valores de una columna buscando en una o más columnas de la misma tabla un valor (o valores) que pueden estar o no en la misma tabla.

Podemos aprovecharnos de esto añadiendo a la tabla de Países una nueva columna que extraiga la Extensión (de la tabla homómina) buscando en la columna País (de la misma tabla) el valor del país de la tabla Países. Véamoslo en la práctica:

Extensión = 
    LOOKUPVALUE(
        'Extensión'[Extensión]; // Valor a extraer
        'Extensión'[País];      // Columna de búsqueda
        'Países'[País]          // Columna de la que extraer el valor a buscar
    )
Tabla resultado

 

Funciones DAX involucradas
Dificultad
Intermedia
Enviado por admin el Jue, 04/07/2019 - 11:39