Con Power BI, puoi ottenere informazioni dai tuoi dati. Assicurati di avere Power BI installato su un computer che esegue Windows.
La connessione di Power BI con Factorial consentirà di interrogare e analizzare le informazioni della tua azienda. Questa prima release consente di navigare tra tutti i dipendenti e le loro informazioni di base.
Come integrare Power BI con Factorial
L'utilizzo di https://apidoc.factorialhr.com/reference è il metodo attualmente preferito per l'integrazione con Power BI.
Come iniziare
- Nella barra laterale, andare su Impostazioni. Scorrere fino a Configurazione avanzata e fare clic su Chiavi API. Creare una nuova chiave API
- Accedere a PowerBI Desktop e aprire l'editor di Power Query.
- Fare clic su “Ottieni dati” > “Altro” > “Query vuota”. Copiare e incollare nell'editor di query in una “query vuota” i 3 script di PowerBI (vedi sotto). Ogni script è una funzione (una nuova query).
3. Una volta ottenute le tre funzioni: GetPage, GetAllPages e ListDataToTable, le invocate con la vostra apikey e il vostro baseURL. L'URL di base è stato recuperato dal sito web di riferimento dell'API pubblica di Factorial (Benvenuti nello sviluppo con Factorial). Per ogni risorsa (come Employees, ContractVersions, Shifts, ecc...) si invoca la funzione ListDataToTable passando l'apikey e l'url dell'endpoint dell'API (come https://api.factorialhr.com/api/2024-10-01/resources/attendance/shifts). Si ottiene una tabella per ogni risorsa che può essere utilizzata in seguito per creare il report in powerBI. Una volta ottenute le risorse desiderate, è possibile salvare le query con il pulsante Salva, nel caso in cui si desideri modificarle in seguito (ad esempio per aggiungere una nuova risorsa) e infine “Chiudi e applica” per uscire da Power Query Editor. Con questo passaggio, i dati sono pronti per essere utilizzati in powerBI.
4. Tutto qui. Ora è possibile visualizzare i dati nella Vista dati o nella Vista rapporto; in entrambi i casi si utilizza il menu di destra per aggiungere le colonne delle funzioni invocate nel passaggio 3.
Script di Power BI
1. Ottenere una pagina di dati dall'API pubblica da una risorsa - GetPage
= (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. Recuperare ricorsivamente tutte le pagine
= 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. Trasformare i dati dell'elenco in una tabella
= let
Source = (baseURL as text, apiKey as text) =>
let
TableData = Table.FromList(GetAllPages(baseURL, apiKey), Splitter.SplitByNothing(), null, null)
in TableData
in
Source