Avec Power BI, vous pouvez obtenir des informations à partir de vos données. Assurez-vous que Power BI est installé sur un ordinateur exécutant Windows.
La connexion de Power BI avec Factorial permettra d'interroger et d'analyser les informations de votre entreprise. Cette première version permet de naviguer parmi tous les employés et leurs informations de base.
Comment intégrer Power BI avec Factorial
- Dans votre barre latérale, allez dans Paramètres. Faites défiler vers le bas jusqu'à Configuration avancée et cliquez sur Clés API. Créer une nouvelle clé API
- Accédez à PowerBI Desktop et ouvrez l'éditeur Power Query.
- Cliquez sur « Get Data » > « More » > « Blank Query ». Copiez et collez dans l'éditeur de requête dans une « requête vierge » les 3 scripts Power BI (voir ci-dessous). Chaque script est une fonction (une nouvelle requête).
3. Une fois que vous avez les trois fonctions: GetPage, GetAllPages et ListDataToTable, vous les invoquez avec votre apikey et baseURL. L'URL de base a été récupérée sur le site de référence de l'API publique de Factorial (Welcome to development with Factorial). Pour chaque ressource (comme Employees, ContractVersions, Shifts, etc ...) vous faites une invocation de la fonction ListDataToTable en passant l'apikey et l'url du point de terminaison de l'API (comme https://api.factorialhr.com/api/2024-10-01/resources/attendance/shifts). Ce que vous obtenez est une table par ressource que vous pouvez utiliser plus tard pour créer votre rapport dans powerBI. Une fois que vous avez les ressources que vous voulez, vous pouvez sauvegarder ces requêtes avec le bouton save au cas où vous voudriez les modifier plus tard (par exemple pour ajouter une nouvelle ressource) et enfin vous « Close & Apply » pour quitter le Power Query Editor. Avec cette étape, vos données sont prêtes à être utilisées dans powerBI.
4. Vous pouvez maintenant visualiser les données dans la vue Données ou la vue Rapport. Dans les deux cas, vous utilisez le menu latéral droit pour ajouter des colonnes à partir des fonctions invoquées à l'étape 3.
PowerBI Scripts
1. Obtenir une page de données de l'API publique à partir d'une ressource
= (baseURL as text, apiKey as text, page as number) =>
let
Url = baseURL & "?page=" & Text.From(page),
Response = Json.Document(Web.Contents(Url, [Headers=[#"x-api-key"= apiKey ]])),
Data = Response[data],
HasNextPage = Response[meta][has_next_page]
in
[Data = Data, HasNextPage = HasNextPage]
2. Récupération récursive de toutes les pages
= let
Source = (baseURL as text, apiKey as text) =>
let
GetAllPages = (baseURL as text, apiKey as text, page as number, AccumulatedData as list) =>
let
CurrentPage = GetPage(baseURL, apiKey, page),
NewData = List.Combine({AccumulatedData, CurrentPage[Data]}),
NextStep = if CurrentPage[HasNextPage] then @GetAllPages(baseURL, apiKey, page + 1, NewData) else NewData
in
NextStep,
AllData = GetAllPages(baseURL, apiKey, 1, {})
in AllData
in
Source
3. Transformer les données de la liste en tableau
= let
Source = (baseURL as text, apiKey as text) =>
let
TableData = Table.FromList(GetAllPages(baseURL, apiKey), Splitter.SplitByNothing(), null, null)
in TableData
in
Source