En el artículo publicado anteriormente sobre el desarrollo de un sistema de información basado en el Padrón de población, explicábamos los pasos a seguir para crear la tabla de datos (data table) de un modelo de análisis utilizando las herramientas de Power Query (lenguaje M) integradas en Power BI. La siguiente etapa en el desarrollo de este modelo pasa por crear las tablas de búsqueda (lookup tables), tarea para la cual también emplearemos el Query Editor. El archivo Excel origen descrito en la anterior entrega será en esta ocasión la fuente primaria de datos para las nuevas tablas que crearemos en el presente artículo.

Una vez creadas estas tablas de búsqueda ya tendremos todos los elementos para construir el modelo analítico: relaciones, medidas, informes, cuadros de mando, etc. mediante los diseñadores de Power BI, aspecto este que se abordará en un próximo artículo.

 

Nacionalidad. Importación desde Excel

Comenzaremos importando los datos ubicados en la hoja NACI del archivo Excel origen, que corresponden a la nacionalidad del individuo. Desde la ventana principal de Power BI, en la pestaña de menú Home, grupo External data, opción Get Data | Excel, seleccionaremos el archivo Excel origen.

 

A continuación, la ventana Navigator nos ofrecerá la posibilidad de elegir una o varias hojas de este archivo. Tras seleccionar NACI haremos clic en Edit, pasando así los datos de la hoja como una nueva consulta al panel Queries de la ventana Query Editor.

 

Nacionalidad. Establecer los títulos de columna a partir de la primera fila de la consulta

Después de cambiar el nombre de la consulta por Nacionalidad en el panel Queries, tenemos que reemplazar los títulos actuales de columna (Column1 y Column2) por nombres que describan adecuadamente su contenido.

Una posibilidad radica en reutilizar los nombres existentes en la hoja Excel desde la que hemos importado estos datos. Dichos nombres se encuentran actualmente en la tercera fila de la tabla, por lo que eliminaremos las dos primeras filas (que no contienen información válida) mediante la opción de menú Remove Rows | Remove Top Rows, del grupo Reduce Rows, pestaña Home, que mostrará un cuadro de diálogo en el que introduciremos el número de filas a eliminar.

 

Como siguiente paso trasladaremos los valores de la primera fila de la tabla a los títulos de columna, empleando la opción Use First Row As Headers, del grupo Transform, pestaña de menú Home.

 

Hemos explicado esta técnica de asignación de nombres a las cabeceras de una tabla simplemente a efectos demostrativos, de forma que el lector conozca la existencia de dicha posibilidad. Sin embargo no vamos a reutilizar los títulos de columna del archivo Excel origen, sino que asignaremos nuevos nombres de forma explícita; por lo que en esta tabla cambiaremos los nombres de las columnas por NacionalidadID (Text) y Nacionalidad (Text), haciendo clic derecho en cada título y seleccionando la opción Rename.

 

Esta tabla también contiene una importante cantidad de registros vacíos al final, que borraremos utilizando la opción de menú Remove Rows | Remove Blank Rows, del grupo Reduce Rows, pestaña Home.

 

Creación de la tabla Sexo a partir de registros dinámicos

En los pasos llevados a cabo para construir la tabla PoblacionPadron, vimos que los valores utilizados para identificar el sexo del individuo son 1 para hombre y 6 para mujer, por lo que la consulta base para la tabla de búsqueda de estos datos, al ser muy sencilla, la crearemos dinámicamente mediante una expresión en lenguaje M.

En primer lugar seleccionaremos la opción de menú New Source | Blank Query, del grupo New Query, pestaña Home; para crear una consulta vacía en la que escribiremos el siguiente bloque de código.


= Table.FromRecords(
  {
    [SexoID=1,Sexo="Hombre"],
    [SexoID=6,Sexo="Mujer"]
  }
)

 

 

Analicemos cada una de las partes de la anterior expresión: en primer lugar, para definir un registro en M, debemos encerrar entre corchetes los nombres de campo que lo componen junto a sus valores, utilizando el formato mostrado en la siguiente figura.

 

A continuación, los registros que vayan a formar parte de la tabla los incluiremos, separados por comas, en una lista (objeto List). Los caracteres de llave son los empleados en M para definir una lista de elementos.

 

Por último haremos uso de la función FromRecords de la categoría Table, a la que pasaremos como parámetro la lista que acabamos de crear, obteniendo una tabla como resultado.

 

Terminada la creación de la tabla cambiaremos su nombre predeterminado por Sexo; para las columnas SexoID y Sexo asignaremos como tipo de datos Whole Number y Text respectivamente.

 

Lugar de residencia. Combinación de consultas (Merge Queries)

Durante la etapa de creación de la tabla de datos, explicábamos que la residencia del individuo se establece a partir de la combinación de los códigos de provincia y municipio; valores estos que se hallan en las hojas CPRO y CMUN del Excel origen, por lo que para montar la tabla del lugar de residencia tendremos primeramente que importar estas hojas a Power Query, de igual forma que antes hicimos con la tabla de nacionalidad, cambiando el nombre de la tabla CPRO por ProvinciaResidencia, y las columnas CPRO y Provincia de Residencia por ProvinciaResidenciaID (Text) y ProvinciaResidencia (Text). Respecto a la tabla CMUN haremos la misma operación de cambio de nombre por MunicipioResidencia, y las columnas CPRO, CMUN y NOMBRE por ProvinciaResidenciaID (Text), MunicipioResidenciaID (Text) y MunicipioResidencia (Text).

 

A continuación, en el panel Queries, haremos clic en ProvinciaResidencia y eliminaremos las 3 primeras filas con la opción de menú Remove Rows | Remove Top Rows. Para la consulta MunicipioResidencia eliminaremos las 5 primeras filas.

Revisando los contenidos de estas tablas apreciaremos que en MunicipioResidencia tenemos casi todo lo necesario; de momento falta una columna con el nombre de la provincia, cuestión que resolveremos haciendo un cruce con ProvinciaResidencia, para transferir los datos de la columna del mismo nombre.

 

El primer requisito para un cruce de estas características pasa por estar posicionados en la tabla a la que vayamos a agregar datos, por lo que en el panel Queries haremos clic en MunicipioResidencia, y después seleccionaremos la opción de menú Merge Queries, del grupo Combine, en la pestaña Home.

 

A continuación se abrirá la ventana Merge, que en su parte superior muestra la tabla origen del cruce: MunicipioResidencia. También deberemos seleccionar en la parte inferior la tabla ProvinciaResidencia, y en ambas el campo de cruce o unión, que tiene el mismo nombre en las dos tablas: ProvinciaResidenciaID. El tipo de cruce o Join Kind, que en este caso es Left Outer, nos indica que para la operación se utilizarán todas las filas de la primera tabla, MunicipioResidencia, y aquellas filas de la segunda, ProvinciaResidencia, en las que se produzca una coincidencia. El último elemento de esta ventana es un mensaje informativo con el número de filas entre las que se ha producido coincidencia, y que en este ejemplo ha sido para todas las filas.

 

La consecuencia de esta operación de unión al aceptar la ventana Merge será la agregación, en la tabla MunicipioResidencia, de una columna adicional con el nombre NewColumn, conteniendo el valor Table en sus celdas. Si hacemos clic en una zona vacía de cualquiera de estas celdas, en la parte inferior de la zona de datos se mostrará el registro obtenido de la tabla ProvinciaResidencia, fruto de la operación de cruce.

 

No obstante, todavía no hemos traspasado ningún dato entre las tablas. Ahora que hemos establecido una relación entre las mismas gracias a la opción Merge Queries, debemos seleccionar qué datos de la tabla ProvinciaResidencia queremos llevar hasta MunicipioResidencia; lo que conseguiremos haciendo clic en el icono situado junto a la cabecera de la columna NewColumn, seleccionando la opción Expand  (predeterminada) y marcando únicamente la casilla de la columna ProvinciaResidencia.

 

Al hacer clic en OK, la acción seleccionada (Expand) expande la tabla ProvinciaResidencia a la que apunta cada celda de la columna NewColumn, y como resultado trae a MunicipioResidencia una columna con el nombre NewColumn.ProvinciaResidencia conteniendo los nombres de las provincias.

 

Después de cambiar el nombre de la nueva columna a ProvinciaResidencia vamos a mover su posición hasta ubicarla a continuación de ProvinciaResidenciaID. Utilizaremos para ello la opción Move | Left, del grupo Any Column, en la pestaña de menú Transform. Tendremos que ejecutar dicha opción un par de veces hasta colocar la columna en la posición deseada.

 

Lugar de residencia. Creación del código para los municipios blanqueados y unión de consultas

Al generar el código del lugar de residencia en la tabla PoblacionPadron, vimos que para los municipios con menos de 10000 habitantes no se proporciona el código de municipio por cuestiones de protección de datos. Esto nos había llevado a adoptar la decisión de utilizar el código 999 para tales casos, lo que supone que, por ejemplo, para la provincia 08 (Barcelona), el código del lugar de residencia será 08999.

A la tabla MunicipioResidencia que acabamos de crear le faltarían actualmente todo este conjunto de registros de los que sí sabemos la provincia pero desconocemos el municipio, y que son necesarios para que las medidas que vayamos a implementar en la fase de modelado realicen correctamente sus cálculos. Seguidamente explicamos una técnica que nos ayudará a resolver este problema.

En la tabla ProvinciaResidencia añadiremos dos nuevas columnas: MunicipioResidenciaID (Text) y MunicipioResidencia (Text), conteniendo respectivamente el código 999 y el literal No disponible.

 

Seguidamente nos posicionaremos en la tabla MunicipioResidencia y seleccionaremos la opción de menú Append Queries, del grupo Combine, pestaña Home. En la ventana Append seleccionaremos la tabla ProvinciaResidencia, y al hacer clic en OK, los registros de esta última se agregarán a MunicipioResidencia, completando las combinaciones de códigos necesarias para esta tabla.

 

Lugar de residencia. Columna para el identificador de la tabla

Finalizaremos la creación de esta tabla añadiendo una nueva columna que representa a su identificador, a la que daremos el nombre LugarResidenciaID (Text), compuesta por la unión de las columnas ProvinciaResidenciaID y MunicipioResidenciaID.

 

Una vez creada, situaremos esta columna en la primera posición de la tabla mediante la opción de menú Move | To Beginning, del grupo Any Column, en la pestaña Transform.

 

Edad. Creación de intervalos numéricos mediante listas

La tabla con la edad de los individuos contendrá los valores situados en el rango de 0 a 99 años; para aquellas personas con 100 años o más se utilizará el valor 999 por motivos de protección de datos.

El lenguaje M nos permite generar una secuencia de números empleando la función Numbers de la categoría List, pasando como parámetros el valor inicial y la cantidad de números a crear.


= List.Numbers(0,100)

 

Sin embargo esto no resulta suficiente, ya que también tenemos que añadir a estos valores el número 999. Para resolver este problema recurriremos a la función Combine, también de la categoría List, que recibe como parámetro un objeto de tipo List conteniendo una combinación de listas que esta función devolverá como una lista única.

De esta manera, además de la lista con el rango 0-99, crearemos otra compuesta únicamente por el número 999, que también pasaremos a Combine.


= List.Combine(
  {
    List.Numbers(0,100),
    {999}
  }
)

El anterior bloque de código lo incluiremos en una nueva consulta vacía (opción de menú New Source | Blank Query, del grupo New Query, pestaña Home), que creará una lista única añadiéndola al panel Queries.

 

En el siguiente paso convertiremos la lista en una tabla con la opción de menú To Table, del grupo Convert, situada en la pestaña List Tools | Transform.

 

En la ventana To Table que se abre a continuación aceptaremos los valores por defecto. Una vez creada la tabla cambiaremos su nombre por Edad y el nombre de la columna por EdadID (Whole Number). A continuación añadiremos una nueva columna con el nombre Edad (Text) a partir de los valores de EdadID, pero convertidos a carácter, utilizando la siguiente expresión.


Number.ToText([EdadID])

 

 

Un aspecto muy utilizado en el trabajo con datos demográficos consiste en analizar la edad de la población en intervalos decenales, quinquenales, o de otro tipo de rango. Para este ejemplo vamos a definir los siguientes intervalos: 0, 1-4, 5-14, 15-24, 25-34, 35-44, 45-54, 55-64, 65-74, 75-84, 85 y más años.

El modo de implementar estos intervalos en la tabla de edades será mediante la incorporación de una nueva columna, que llamaremos EdadDecenal (Text), en la que incluiremos el siguiente bloque de código, donde en base al intervalo en el que se sitúe la edad, asignaremos el literal correspondiente.


if [EdadID] = 0 then
 "0"
else
 if [EdadID] >= 1 and [EdadID] <= 4 then
  "1-4"
 else
  if [EdadID] >= 5 and [EdadID] <= 14 then
   "5-14"
  else
   if [EdadID] >= 15 and [EdadID] <= 24 then
    "15-24"
   else
    if [EdadID] >= 25 and [EdadID] <= 34 then
     "25-34"
    else 
     if [EdadID] >= 35 and [EdadID] <= 44 then
      "35-44"
     else
      if [EdadID] >= 45 and [EdadID] <= 54 then
       "45-54"
      else
       if [EdadID] >= 55 and [EdadID] <= 64 then
        "55-64"
       else
        if [EdadID] >= 65 and [EdadID] <= 74 then
         "65-74"
        else
         if [EdadID] >= 75 and [EdadID] <= 84 then
          "75-84"
         else
          if [EdadID] >= 85 then
           "85+"
          else
           ""

 

 

Tamaño del municipio de residencia

Nuestra siguiente operación consistirá en crear la tabla con la que podremos clasificar a los individuos según el tamaño por habitantes del municipio en el que residen.

Para ello importaremos desde el archivo Excel origen la hoja TAMU. Una vez incorporados los datos en Power Query eliminaremos la última columna de la tabla, que se encuentra vacía, mediante la opción de menú Remove Columns, del grupo Manage Columns, pestaña Home.

 

A continuación cambiaremos el nombre de la tabla por TamMunicipioResidencia, y los nombres de columna por TamMunicipioResidenciaID (Text) y TamMunicipioResidenciaOrigen (Text), eliminando las 3 primeras y 4 últimas filas mediante las subopciones Remove Top Rows y Remove Bottom Rows respectivamente, dependientes de la opción de menú Remove Rows.

 

Puesto que el objetivo de esta tabla será informar si el municipio es capital de provincia, y en caso contrario, el rango de habitantes que tiene, los descriptores obtenidos del archivo Excel quizá resulten excesivamente largos y repetitivos. Por tal motivo vamos a intentar resumirlos, de forma que mostremos simplemente el literal “Capital de provincia” cuando se trate de una ciudad capital de provincia, o bien el rango de habitantes en el resto de casos

Crearemos para ello una nueva columna con el nombre TamMunicipioResidencia (Text) utilizando el siguiente bloque de código.


if Text.Contains([TamMunicipioResidenciaOrigen],"provincia") then
  "Capital de provincia"
else
  if Text.Contains([TamMunicipioResidenciaOrigen],"hasta") then
    "Hasta 100"
  else
    if Text.Contains([TamMunicipioResidenciaOrigen],"de") then
      Text.RemoveRange([TamMunicipioResidenciaOrigen],0,24)
    else
      Text.RemoveRange([TamMunicipioResidenciaOrigen],0,21)

La técnica utilizada en el código anterior consiste en comprobar el valor de la columna TamMunicipioResidenciaOrigen mediante la función Text.Contains, que devuelve verdadero o falso según se encuentre o no, dentro del texto pasado como primer parámetro, la cadena de caracteres del segundo parámetro. En los casos en que exista la palabra “provincia”, sabremos que se trata de una ciudad capital de provincia y devolveremos el literal “Capital de provincia”; si contiene la palabra “hasta” será un municipio con un máximo de 100 habitantes y devolveremos “Hasta 100”.

Para el resto de ocurrencias solamente nos interesa tomar el fragmento de texto que indica el intervalo de habitantes, eliminando el resto con la función Text.RemoveRange, que se ocupa de eliminar, en el texto del primer parámetro, una subcadena cuyo índice de inicio indicamos en el segundo parámetro, mientras que su longitud la especificamos en el tercer parámetro. En estos valores, la cantidad de texto a eliminar dependerá de la existencia de la partícula “de” en el valor de la columna.

 

Respecto al tamaño por habitantes del municipio de nacimiento (hoja TAMUN del archivo Excel origen), la creación de su consulta es igual al proceso que acabamos de describir, por lo que obviaremos repetirlo aquí.

 

Lugar de nacimiento. Distribución de datos por país, provincia y municipio

Como ya habíamos explicado en el artículo anterior, la tabla con la información del lugar de nacimiento que construiremos a continuación tendrá una estructura que nos permitirá, durante el diseño del modelo de datos, crear una jerarquía basada en los niveles de país, provincia y municipio.

En primer lugar importaremos del archivo Excel origen las hojas CPRON y CMUNN, que en el panel Queries cambiaremos de nombre por ProvinciaNacimiento y MunicipioPaisNacimiento respectivamente.

Situándonos en la tabla ProvinciaNacimiento renombraremos sus columnas por ProvinciaNacimientoID (Text) y ProvinciaNacimiento (Text); seguidamente eliminaremos las 3 primeras filas.

 

Después nos posicionaremos en la tabla MunicipioPaisNacimiento, donde eliminaremos sus columnas vacías, y a continuación, desde el panel Queries, haremos clic derecho en esta misma tabla, seleccionando la opción Duplicate. A la nueva tabla duplicada le cambiaremos el nombre por PaisNacimiento.

 

Nos ocuparemos de esta tabla un poco más adelante, ahora volveremos a MunicipioPaisNacimiento, y en primer lugar eliminaremos las 3 últimas columnas, correspondientes a los datos de país, mediante la opción de menú Remove Columns.

 

Continuando con las operaciones de borrado, seguidamente utilizaremos las subopciones de menú dependientes de Remove Rows para borrar las 8 primeras filas, así como aquellas filas con valores a null. También cambiaremos los nombres por defecto de las columnas a ProvinciaNacimientoID (Text), MunicipioNacimientoID (Text) y MunicipioNacimiento (Text).

 

Lugar de nacimiento. Completando información de provincias

Al igual que ocurría durante la preparación de la tabla del municipio de residencia, la tabla MunicipioPaisNacimiento dispone del código de provincia pero no de los nombres, así que efectuaremos una combinación (opción de menú Merge Queries) con la tabla ProvinciaNacimiento, para traspasar desde esta última la columna con los nombres de provincia a la tabla de municipios. No repetiremos los pasos sobre la forma de realizar una combinación de tablas, ya que esta operación se describió anteriormente durante la elaboración de las tablas relativas al lugar de residencia. Una vez terminado el cruce y organizadas las posiciones de las columnas, la tabla MunicipioPaisNacimiento quedará como muestra la siguiente figura.

 

Tal y como se indica en el archivo Excel origen, la información sobre nacimientos ocurridos en municipios menores de 10000 habitantes se blanquea por protección de datos, lo que significa que para estos casos conoceremos la provincia de nacimiento pero no el municipio. La técnica que usaremos para incorporar estos datos en la tabla MunicipioPaisNacimiento será la misma que la utilizada anteriormente para la tabla MunicipioResidencia.

En primer lugar añadiremos a la tabla ProvinciaNacimiento dos nuevas columnas: MunicipioNacimientoID (Text) y MunicipioNacimiento (Text), conteniendo respectivamente los valores 999 y No disponible.

 

A continuación, empleando la opción de menú Append Queries, añadiremos a la tabla MunicipioPaisNacimiento el contenido de la tabla ProvinciaNacimiento. Como resultado, MunicipioPaisNacimiento contendrá ahora todas las combinaciones posibles de provincia y municipio, incluyendo también aquellas de municipios blanqueados (no disponibles) por tener una población inferior a 10000 habitantes.

 

Lugar de nacimiento. Completando información de países

El siguiente paso consistirá en crear dos nuevas columnas: PaisNacimientoID (Text) y PaisNacimiento (Text), para albergar los datos de país. Actualmente, la tabla solo dispone de información de provincias y municipios de España, por lo que los valores de las dos nuevas columnas serán el código de país 108 (consulte el lector la tabla Nacionalidad) y el literal España respectivamente. Después de reorganizar las columnas en un orden más lógico (país – provincia – municipio), la tabla se mostrará como vemos en la siguiente figura.

 

Ahora es necesario añadir los datos del resto de países, por lo que nos situaremos en la tabla PaisNacimiento para preparar su estructura y contenidos, de forma que podamos combinarla con MunicipioPaisNacimiento.

Las columnas de la tabla PaisNacimiento con las que necesitamos trabajar son las 3 últimas, que corresponden al código de provincia 66, indicativo de nacido en el extranjero, así como el código y nombre del país.

Como forma alternativa de borrado de columnas, vamos a seleccionar las columnas que contienen los datos que necesitamos, y ejecutaremos la opción Remove Columns | Remove Other Columns, del grupo Manage Columns, pestaña de menú Home; borrando de esta manera las columnas de la tabla que no habíamos seleccionado.

 

Esta tabla contiene un gran número de registros vacíos (null, blank, etc) que eliminaremos con la opción Remove Rows | Remove Blank Rows, utilizada en otras ocasiones a lo largo del artículo para situaciones similares. Tras este borrado también eliminaremos las dos primeras filas, para quedarnos solamente con los datos propios de los países.

El siguiente paso será el cambio de nombre de las columnas por ProvinciaNacimientoID (Text), PaisNacimientoID (Text) y PaisNacimiento (Text).

 

Ahora debemos equiparar la estructura de esta tabla con la tabla MunicipioPaisNacimiento, añadiendo las columnas ProvinciaNacimiento (Text), MunicipioNacimientoID (Text) y MunicipioNacimiento (Text). Puesto que la tabla PaisNacimiento contiene únicamente los datos para la población nacida en el extranjero, no disponemos, como es lógico, de datos sobre provincia o municipio, por lo que asignaremos a estas nuevas columnas valores acordes con esta situación: 999 para MunicipioNacimientoID y el literal No disponible para ProvinciaNacimiento y MunicipioNacimiento.

Después de reorganizar las posiciones de las columnas, la tabla quedará como muestra la siguiente figura.

 

A continuación añadiremos los registros de esta tabla a MunicipioPaisNacimiento mediante la opción de menú Append Queries, obteniendo como resultado todas las combinaciones de códigos que nos permitirán ubicar geográficamente a la población.

 

Lugar de nacimiento. Borrado (filtro) de filas no válidas

Después de añadir estos datos necesitamos eliminar de la tabla MunicipioPaisNacimiento la fila que contiene el valor Extranjero en el campo ProvinciaNacimiento, ya que corresponde a un caso inexistente en la tabla de datos PoblacionPadron: individuo nacido en España pero clasificado como extranjero por provincia.

La operación que vamos a realizar para conseguir este objetivo no va a consistir, no obstante, en el borrado de una fila, sino que aplicaremos un filtro sobre la tabla, que excluya el registro en cuestión; para lo que haremos clic en el icono de filtrado que hay en la columna ProvinciaNacimiento, seleccionando la opción Text Filters | Does Not Equal. En la ventana Filter Rows mostrada a continuación, introduciremos el valor Extranjero y aceptaremos; esto aplicará el filtro, excluyendo dicha fila del resto de las filas de la tabla MunicipioPaisNacimiento.

 

Lugar de nacimiento. Creación de columna con el identificador de tabla

Como última tarea añadiremos una columna que actuará como identificador de la tabla, a la que llamaremos LugarNacimientoID (Text). Esta columna estará formada por la concatenación de las columnas PaisNacimientoID, ProvinciaNacimientoID y MunicipioNacimientoID; una vez creada la situaremos como primera columna de la tabla.


[PaisNacimientoID] & [ProvinciaNacimientoID] &[MunicipioNacimientoID]

 

 

Deshabilitar la carga de tablas auxiliares

Llegados a este punto podemos dar por finalizado el proceso de creación de las tablas que formarán parte del modelo de datos. No obstante, no necesitaremos utilizar en el proceso de modelado todas las tablas que actualmente contiene el Query Editor, por lo que deshabilitaremos la carga de las mismas, para conseguir un diseño más limpio del modelo y optimizar el procesamiento de sus datos.

Situados en el panel Queries, para deshabilitar la carga de una tabla haremos clic derecho sobre la misma, desmarcando la casilla de la opción Enable load. Las tablas sobre las que realizaremos esta operación son: ProvinciaResidencia, ProvinciaNacimiento y PaisNacimiento.

 

Por otra parte volveremos a habilitar la carga de datos para la tabla PoblacionPadron, puesto que previamente la habíamos deshabilitado durante la fase de preparación de las tablas de búsqueda del modelo, también por motivos de rendimiento.

 

Conclusiones

En la presente entrega de esta serie hemos abordado la creación de las tablas de búsqueda o lookup tables de un sistema de análisis construido mediante las herramientas ETL de Power Query integradas en Power BI. En un próximo artículo trataremos aquellos aspectos del sistema de información que conciernen al diseño del modelo de datos: relaciones entre tablas, creación de jerarquías, medidas, etc., como paso previo a la representación visual de la información contenida en el sistema.

 

Agradecimientos

Quisiera expresar mi agradecimiento a María Dolores Esteban Vasallo  y Ricard Gènova Maleras, integrantes del Servicio de Informes de Salud y Estudios (Subdirección de Epidemiología, Dirección General de Salud Pública, Consejería de Sanidad. CM) por la ayuda prestada en el diseño de las métricas del modelo de datos, la selección de la fuente de datos utilizada como base para la elaboración del presente artículo, así como una inestimable tarea de revisión del mismo.

 

Enlaces de Interés

Blog de Power BI: https://powerbi.microsoft.com/es-es/blog/tag/power-query/

Power Query: https://support.office.com/en-us/article/Introduction-to-Microsoft-Power-Query-for-Excel-6E92E2F4-2079-4E1F-BAD5-89F6269CD605

PowerPivotPro (Rob Collie): https://powerpivotpro.com/

Excelguru (Ken Puls): https://www.excelguru.ca/blog/

DataChant: https://datachant.com/