Access
 sql >> Base de données >  >> RDS >> Access

Utilisation de Microsoft Access avec Power BI

Utiliser Microsoft Access avec Power BI

Nous avons récemment eu un client qui voulait voir ses données QuickBooks dans Power BI, mais le premier ne pouvait pas se connecter avec ce dernier pour obtenir les données, nous avons donc eu recours à l'exportation des données de Quickbooks, en utilisant Access pour les nettoyer et enfin les télécharger à PowerBI.com afin que les autres employés puissent voir l'analyse.

Analyse des données QuickBook

Bien que PowerBI.com puisse lire directement les données QuickBooks (voir https://docs.microsoft.com/en-us/power-bi/service-connect-to-quickbooks-online), notre client avait besoin de rapports qui n'étaient pas inclus. La solution que nous avons fournie était une base de données Access qui leur permettait d'importer facilement leurs données depuis QuickBooks à l'aide de rapports QB exportés au format CSV, puis de faire nettoyer les données par Access et de les fusionner avec des tables locales pour obtenir les résultats nécessaires. Nous avons ajouté du code à Access qui téléchargeait les données du fichier csv et les enregistrait pour accéder aux tables qui étaient connectées à PowerBI.com pour les rapports.

Une fois la base de données configurée avec les données requises, nous avons fourni à l'utilisateur l'application de bureau Power BI et créé un tableau de bord avec les visuels requis et la source de données provenant des tables Access. Dans ce cas, le client utilisait un accès 32 bits, nous avons donc installé la version 32 bits de Power BI Desktop et installé Microsoft Access Database Engine 2010 Redistributable.

L'une des exigences des clients était de suivre les heures des employés pour s'assurer qu'ils atteignaient leurs objectifs, chacun avait des objectifs hebdomadaires, mais ils souhaitaient également voir le pourcentage cible sur une plage de dates sélectionnée, par exemple si l'objectif était de 32 par semaine pour un employé et les dates analysées étaient de deux semaines, l'objectif devrait être de 64.

Étape 1 :Ajouter un tableau de dates

Tout d'abord, nous avions besoin d'un tableau de dates incluant tous les jours de l'année en fonction des données reçues. À l'aide du bouton Nouvelle table de l'onglet de modélisation, nous avons pu utiliser une expression Dax qui créerait une table de dates allant de la date la plus ancienne à la plus récente dans la table d'activité. Dans PowerBI, nous avons utilisé la formule suivante :

Dans votre rapport, dans l'onglet Modélisation en haut de la fenêtre Power BI, sélectionnez Nouvelle table.

Vous devez créer la première colonne du tableau qui serait la date. Remplacez Table par le nom de votre table, puis utilisez la fonction CALENDRIER pour définir la plage de dates souhaitée. Dans notre exemple ci-dessous, nous utilisons les dates de la table tblTimeActivities et Activity Date est le nom du champ de date. Nous sélectionnons la date minimale comme date de début et la date maximale comme date de fin. En utilisant cette méthode, les dates dans la table de dates augmenteront à mesure que nous importerons plus de données dans tblTimeActivities.

Vous pouvez également coder en dur vos dates de début et de fin en utilisant le script suivant :

Une fois que vous avez la colonne de date, vous pouvez maintenant ajouter d'autres colonnes liées à la date qui sont nécessaires.

Dans l'exemple ici, nous extrayons l'année de la date. Les autres options sont :

Mois =MOIS((tblDates[Date]))

Semaine =NUMEROSEMAINE(tblDates[Date])

Début de la semaine =tblDates[Date] + 1 - JOUR DE LA SEMAINE(tblDates[Date])

NomMois =FORMAT (tblDates[Date], "mmm")

L'étape suivante consistait à ajouter une colonne calculée qui fournirait un nombre de jours pour chaque date :

JourCalculés =DATEDIFF(tblDates[Date],TODAY(),DAY)

 

Nous devons maintenant créer quelques mesures qui calculeraient l'objectif total en fonction de la plage de dates sélectionnée sur le segment.

  1. Obtenez le nombre de semaines dans la plage de dates :
    WeekCount =((MAX(tblDates[CalculatedDays])-MIN(tblDates[CalculatedDays]))+1)/7
  1. Calculer la cible :
    BillableTarget =MAX(tblEmployees[TargetBillableHrs])*[WeekCount]

La dernière étape de ce projet consistait ensuite à partager le rapport avec la direction à l'aide de Power BI basé sur le Web dans Office 365. Pour résoudre ce problème, nous avons simplement publié le rapport sur le Web, puis partagé le rapport avec les utilisateurs spécifiés. Maintenant, parce que les données ne sont pas basées sur le cloud, nous ne pouvons pas créer une actualisation du calendrier sans créer une connexion de passerelle. dans ce cas, parce qu'ils ont déjà établi un processus quotidien en 3 étapes pour l'utilisateur principal, il s'agissait simplement d'ajouter l'étape 4 :

  1. Exporter le fichier CSV depuis Quickbooks.
  2. Importer des données vers Access.
  3. Actualisez le bureau Power BI et examinez les rapports.
  4. Publier sur Power BI Web.

Échantillon de données exporté à partir de Quick Books

Rapport final