Power Query: ¿Cómo importar una Lista de Sharepoint?


En esta oportunidad vamos a realizar la conexión e importación de datos desde Listas de Sharepoint por medio de Power Query.

Paso 01: Crear un nuevo flujo de datos

En el servicio web de Power Bi nos dirigimos a un área de trabajo personalizado e iniciamos la creación de un nuevo flujo de datos. 


Posteriormente aparecerá una ventana para comenzar a crear el flujo de datos, debemos utilizar la opción "Definir tablas nuevas" y a continuación elegir el origen de datos "Lista de Sharepoint".

Paso 02: Configurar la conexión

Debemos ubicar la lista de sharepoint que deseamos importar y copiamos la dirección url SOLO HASTA EL NOMBRE DEL SITIO tal cómo el siguiente ejemplo.

Y lo pegamos en la configuración de la conexión:


Luego se debe presionar el botón de siguiente y automáticamente generará la conexión 

Paso 02: Escribir el siguiente código.

DimCalendario =
VAR Dates =
    CALENDAR ( 
        FIRSTDATE ( Tabla[Columna] )
        LASTDATE ( Tabla[Columna] ) 
    )
RETURN
    ADDCOLUMNS (
        Dates,
        "Año"YEAR ( [Date] ),
        "Trimestre"QUARTER ( [Date] ),
        "Mes Nombre Largo"FORMAT ( [Date], "MMMM" ),
        "Mes Nombre Corto"UPPER ( FORMAT ( [Date], "Mmm" ) ),
        "Mes Numero"MONTH ( [Date] ),
        "Semana"WEEKNUM ( [Date], 2 ),
        "Semana ISO"WEEKNUM ( [Date], 21 ),
        "Dia Semana Nombre"FORMAT ( [Date], "DDDD" ),
        "Dia Semana Numero"WEEKDAY ( [Date], 2 ),
        "Dia Mes Numero"FORMAT ( [Date], "D" )
    )

Antes de presionar enter, veamos en detalle cuáles son los valores que debemos cambiar para configurarlo acorde con nuestra tabla de hechos.

Cómo se puede observar, el nombre de la tabla es DimCalendario (dimensión calendario) y se crea una variable (VAR) con el nombre Dates que es básicamente una tabla temporal con todos los días posibles entre el primer y segundo parámetro de la fórmula CALENDAR.

El primer parámetro es el resultado de la fórmula FIRSTDATE que tal cómo su nombre lo indica devuelve la menor de todas las fechas de la columna indicada y del mismo modo pero en sentido inverso para el segundo parámetro utilizando la fórmula LASTDATE.

Una vez creada esta variable, se utiliza la palabra reservada RETURN para indicar que todo lo siguiente es lo que esperamos obtener.

Es así que finalmente al usar la fórmula ADDCOLUMNS se crea varias columnas a partir de la tabla temporal DATES y estas columnas no son nada que más que agrupaciones de fechas

Paso 03: Ordenar columnas de texto con su valor numérico respectivo.

Si omites este paso ocurrirá que cuando utilices los meses en algún objeto visual estos se ordenarán de manera alfabética (Abril, Agosto, Diciembre, Enero, etc.). 

Por tanto, debes seleccionar la columna con el texto del mes y luego ubicar el botón de Ordenar por columna y seleccionar el mes en número, realiza este procedimiento con tantas columnas en texto necesites ordenar por un valor numérico.


Pasos para ordenar una columna texto por una columna numérica

Paso 04: Crear la relación entre tablas.

Ya está casi todo listo, solo nos falta este último paso.

En la vista de modelos, realizamos la acción de arrastrar y soltar la columna DimCalendario[Date] encima de la columna que contiene las fechas de tu tabla de hechos y se generará automáticamente una relación cómo la siguiente imagen:


Relacionando dos tablas

Con esta relación ya hemos terminado y podremos utilizar todas las columnas de fechas en nuestro informe.

CONCLUSIONES

Una tabla de calendario es pieza importante de nuestro modelo de datos, nunca debemos obviarla y configurarla para su correcto uso. En las siguientes entradas veremos algunas fórmulas y trucos para darle mayor provecho a la tabla de calendario.

Publicar un comentario

Artículo Anterior Artículo Siguiente