Tabla de fechas con Power Query

En Power BI casi siempre es necesaria una tabla maestra de fechas, no es una tarea compleja pero si que requiere de un cierto tiempo de dedicación en cada proyecto que iniciamos. Podemos recurrir a DAX para crearla, aunque lo más eficiente es hacerlo en Power Query.

Según el tipo de conjunto de datos es posible que necesitemos las fechas comprendidas entre dos rangos concretos, o puede que lo más conveniente sea tener solo las fechas de la tabla de hechos. En cualquiera de los dos casos expondré dos funciones adaptadas por mi, que por otro lado podéis encontrar en distintos sitios de la web.

Lo ideal es tener de una función que cree la tabla así como los campos necesarios de una forma automática. Para ello crearemos un nuevo query (Nuevo origen, Consulta en blanco) y pegaremos el código … Seguir leyendo...

Reutilizar funciones en Power Query de Excel: LibPQ

El mes pasado hablamos como reutilizar funciones en Power Query, también de las deficiencias que actualmente tiene el editor avanzado de la herramienta. Por suerte, y mientras Microsoft no ofrece una solución mejor, Vitaly Potyarkin ha realizado un estupendo trabajo con la herramienta LibPQ, aunque solo tiene sentido en la actualización de datos locales, ya sea en Power BI o en Excel.

Esta herramienta permite tener en una o varias carpetas con archivos de texto con las funciones definidas y de una manera sencilla poder utilizarlas en cada proyecto, esto significa que si hacemos una modificación en una función, esta nueva versión estará disponible sin hacer ningún paso más, en aquellos archivos pbix o de Excel que tengamos estas funciones vinculadas.

Además, como las funciones están en archivos de texto podemos utilizar un sistema de control de versiones. LibPQ permite … Seguir leyendo...

Importar imágenes a Power BI

La única forma por defecto que tiene Power BI para mostrar imágenes es a partir de algún campo de una tabla que contenga una URL que apunte a la imagen a mostrar, es decir la imagen debe estar online en un servidor externo. Esto trae algunos inconvenientes: no es posible visualizar la imagen si trabajamos con Desktop y sin conexión a internet, y si alguna vez desaparece esa imagen en el servidor, la perderemos y no se mostrará en los informes.

Lo ideal sería que Power BI importara las imágenes incorporándolas al modelo de datos, pero no lo hace, aunque con un pequeño truco es posible llevarlo a cabo, al menos con imágenes de un tamaño moderado. En diciembre tanto Gerhard Brueckl como Jason Thomas propusieron una solución simple que consiste en disponer de las imágenes originales en una carpeta, … Seguir leyendo...

Reutilizar funciones en Power Query

Cuando accedemos a “Obtener datos” o a “Editar consultas” en Power BI estamos lanzando la aplicación antiguamente denominada “Power Query”. Esta aplicación permite de una forma muy visual importar datos y transformarlos en una lograda intenficie de usuario con multitud de opciones para limpiar datos, crear nuevas columnas, girar tablas, etc.

Por debajo de Power Query existe un lenguaje denominado “M”, cualquier acción con las opciones de la cinta del menú, el programa lo convierte a este lenguaje. Siempre tenemos la posibilidad de ir al “Editor avanzado” y visualizar cada uno de los pasos. Pero también podemos tomar el editor como lugar principal de nuestro trabajo y obviar, en parte o en su totalidad, la utilización de las opciones visuales de la aplicación escribiendo nosotros mismos el código.

El editor de Power Query es uno de los puntos donde Microsoft … Seguir leyendo...

Fecha actual, mes corriente, día de hoy

Cuando abrimos un informe en cualquier sistema de BI es habitual querer ver la información actual o al menos el último dato disponible y en Power BI no es posible hacerlo de una forma automática y elegante. Este requerimiento es muy habitual y dependiendo de cada conjunto de datos y su tipo de conexión puede resolverse de formas distintas.

La manera más secilla para encontrar una solución es la de añadir una columna calculada a la tabla fechas que nos diga si es la fecha actual, también podemos añadir fechas relativas como la del mes anterior por ejemplo. Muchos tendrán la duda si hacerlo mediante Power Query o bien delegarlo a DAX.

Vamos a seguir un ejemplo como forma de explicación. partimos de un conjunto de datos que ya dispone de una tabla “Fechas” y tres columnas: Fecha, Mes, Año, … Seguir leyendo...

Crear y utilizar funciones en Power Query

Power Query permite la creación de funciones propias y su utilización tal y como podemos hacer con las funciones incorporadas al propio entorno. Como en todo lenguaje de programación es muy conveniente la utilización de funciones pues permiten reutilizar el código e incrementar la consistencia del proyecto. Esta entrada tiene por objetivo realizar una breve y simple introducción a la creación y uso de funciones.

Las funciones en Power Query tienen una sintaxis propia de expresiones lambda donde se describe primero los parámetros a la inzquierda y las expresiones a la derecha:

Parámetros de entrada => Expresión de la función

Para seguir estos ejemplos debemos ir a “Obtener datos” y escoger “Consulta en blanco” y seleccionar “Editor avanzado”.

Ejemplo de raíz cuadrada:

let
        RaizCuadrada = (x) => x * x
in 
        RaizCuadrada(5)

En el caso de requerir parámetros opcionales podemos … Seguir leyendo...

Funciones de Power Query y la facilidad de #shared

Power Query es una aplicación disponible con Excel y Power BI Desktop que permite importar y transformar datos. El nombre de Power Query parece que ha desaparecido de las aplicaciones y directamente entramos en él mediante la acción de “Obtener datos” o bien de “Editar consultas”.

Se trata de un entorno que permite hacer multitud de cambios en los datos mediante una estudiada y simple interfaz de usuario donde se van realizando pasos que siempre podemos deshacer o modificar. Por debajo de Power Query está M, el lenguaje al que se traducen todas las acciones que realicemos.

Para realizar los pasos de importación y transformación de datos podemos utilizar el entorno gráfico, podemos recurrir directamente al código o bien una combinación de ambos. El código M está disponible mediante la opción denominada “Editor avanzado”. En este editor podemos añadir … Seguir leyendo...

Última actualización de datos en un informe

En muchos informes que se deben actualizar con frecuencia muchos usuarios se sienten algo perdidos al analizar la información si no conocen la última fecha de actualización del conjunto de datos. Es posible que analicemos un conjunto que se actualiza varias veces al día y es lógico que este dato tenga su importancia.

La solución es simple, solo tenemos que crear una tabla que se rellene cada vez que reciba la orden de actualización, para ello, debemos ir a “Obtener datos”, “Consulta en blanco”, luego entramos en el “Editor avanzado”.

y podemos copiar y pegar el siguiente código:

let
    FechaHoraDeHoy = DateTime.From(DateTimeZone.SwitchZone(DateTimeZone.FixedLocalNow(),1)),
    ConvierteATabla = #table(1, {{FechaHoraDeHoy}}),
    RenombreColumna = Table.RenameColumns(ConvierteATabla,{{"Column1", "Última actualización"}}),
    TipoFechaHora = Table.TransformColumnTypes(RenombreColumna,{{"Última actualización", type datetime}}),
in
    TipoFechaHora

Luego, en cualquier informe podemos incluir, por ejemplo, un visual tipo “Tarjeta” tal como muestra la siguiente imagen.

 … Seguir leyendo...