Recientemente tuvimos un cliente que quería ver sus datos de QuickBooks en Power BI, pero el primero no pudo conectarse con el segundo para obtener la información, por lo que recurrimos a exportar los datos de Quickbooks, usando Access para limpiarlos y finalmente cargarlos a PowerBI.com permitiendo que otros empleados puedan ver el análisis.

Analizando datos de QuickBook

Aunque PowerBI.com puede leer directamente los datos des QuickBooks (consulte https://docs.microsoft.com/en-us/power-bi/service-connect-to-quickbooks-online), nuestro cliente necesitaba informes que no estaban incluidos. La solución que proporcionamos fue una base de datos de Access que les permitió importar fácilmente sus datos de QuickBooks usando informes exportados a CSV, para luego hacer que Access limpiara los datos y los fusionara con tablas locales obteniendo los resultados necesarios. Agregamos código a Access que cargaría los datos del archivo csv y lo guardaría en las tablas de Access que estaban conectadas a PowerBI.com para generar informes.

Una vez que la base de datos se configuró con los datos requeridos, proporcionamos al usuario la aplicación de escritorio Power BI y creamos un tablero con las imágenes requeridas y la fuente de datos proveniente de las tablas de Access. En este caso, el cliente estaba usando Access de 32 bits, por lo que instalamos la versión de 32 bits de Power BI Desktop e instalamos Microsoft Access Database Engine 2010 Redistributable.

Uno de los requisitos de los clientes era hacer un seguimiento de las horas de los empleados para asegurarse de que alcanzaran sus objetivos, cada uno tenía objetivos semanales, pero también querían ver el porcentaje objetivo en un intervalo de fechas seleccionado, por ejemplo, si el objetivo era 32 por semana para un empleado y las fechas analizadas fueron dos semanas, el objetivo debería ser 64.

Paso 1: agregar una tabla de fechas

En primer lugar, necesitábamos una tabla de fechas que incluyera todos los días del año en función de los datos recibidos. Al usar el botón Nueva tabla en la pestaña de modelado, pudimos usar una expresión Dax que crearía una tabla de fechas que iría desde la fecha más antigua hasta la más reciente en la tabla de actividades. En PowerBI utilizamos la siguiente fórmula:

En su informe, en la pestaña Modelado en la parte superior de la ventana, seleccione Nueva tabla.

Necesita crear la primera columna de la tabla, sería la fecha. Reemplace la tabla con el nombre de su tabla y luego use la función CALENDARIO para establecer el rango de fechas que desee. En nuestro ejemplo a continuación, estamos usando las fechas en la tabla tblTimeActivities y Activity Date es el nombre del campo de fecha. Estamos seleccionando la fecha mínima como la fecha de inicio y la fecha máxima como la fecha de finalización. Al usar este método, las fechas en la tabla crecerán a medida que importamos más datos en tblTimeActivities.

De forma alternativa, puede codificar su fecha de inicio y finalización usando el siguiente script:

 

 

Una vez que tenga la columna de fecha, puede agregar las columnas que sean necesarias y estén relacionadas con la fecha.

En este ejemplo, estamos extrayendo el año de la fecha.

 

 

 

 

 

 

 

 

Otras opciones son:

Month = MONTH((tblDates[Date]))

Week = WEEKNUM(tblDates[Date])

Week Starting = tblDates[Date] + 1 – WEEKDAY(tblDates[Date])

MonthName =FORMAT (tblDates[Date], “mmm”)

El siguiente paso fue agregar una columna calculada que proporciona un recuento de días para cada fecha:

CalculatedDays = DATEDIFF(tblDates[Date],TODAY(),DAY)

Ahora necesitamos crear un par de medidas que calculen el objetivo total en función del intervalo de fechas seleccionado.

1. Obtenga el número de semanas en el rango de fechas:

WeekCount = ((MAX(tblDates[CalculatedDays])-MIN(tblDates[CalculatedDays]))+1)

2. Calcular Objetivo

BillableTarget = MAX(tblEmployees[TargetBillableHrs])*[WeekCount]

El paso final de este proyecto fue compartir el informe con la administración utilizando Power BI basado en la web en Office 365. Para resolver esto, simplemente publicamos el informe en la web y luego compartimos el informe con los usuarios especificados. Ahora, debido a que los datos no están basados en la nube, no podemos crear una actualización programada sin crear una conexión de puerta de enlace. En este caso, debido a que ya establecieron un proceso diario de 3 pasos para el usuario principal, simplemente se trataba de agregar el paso 4:

  1. Exportar archivo CSV de Quickbooks.
  2. Importar datos a Access.
  3. Actualizar el escritorio de Power BI y revisar los informes.
  4. Publicar en Power BI Web.

Muestra de datos exportados de Quick Books

Reporte Final