Volver

Integración con Power BI

Descubre cómo integrar Power BI con Factorial

Con Power BI, puedes obtener información valiosa a partir de tus datos. Asegúrate de tener Power BI instalado en un ordenador con Windows.

 

Conectar Power BI con Factorial te permitirá consultar y analizar toda la información de tu empresa expuesta en la API pública de Factorial.


 

Cómo integrar Power BI con Factorial

Utilizar la documentación disponible en https://apidoc.factorialhr.com/reference es el único método compatible para integrar Power BI con Factorial.

 

Primeros pasos

  1. En el menú lateral, ve a Configuración. Desplázate hacia abajo hasta Configuración avanzada y haz clic en Claves API. Crea una nueva clave API.
  2. Abre Power BI Desktop y accede al editor Power Query
    • Haz clic en "Obtener datos" > “Más” > “Consulta en blanco”. Copia y pega en el editor de consultas los 3 scripts de Power BI (ver más abajo). Cada script corresponde a una función (una consulta nueva).

3. Una vez tengas las tres funciones: GetPage, GetAllPages y ListDataToTable, ejecútalas utilizando tu clave API y la baseURL. La baseURL se obtiene de la web de referencia de la API pública de Factorial (Bienvenido/a al desarrollo con Factorial). Para cada recurso (como Empleados, Versiones de Contrato, Turnos, etc.), haz una llamada a la función ListDataToTable pasando tu clave API y la URL del endpoint correspondiente (por ejemplo https://api.factorialhr.com/api/2024-10-01/resources/attendance/shifts). El resultado será una tabla por cada recurso, que podrás utilizar para construir tu informe en Power BI. Cuando ya tengas todos los recursos necesarios, puedes guardar las consultas con el botón de guardar por si más adelante necesitas editarlas (por ejemplo para añadir un nuevo recurso), y finalmente haz clic en “Cerrar y aplicar” para salir del editor Power Query. Con este paso, tus datos estarán listos para ser usados en Power BI.

4. Eso es todo. Ahora puedes visualizar los datos en la Vista de Datos o en la Vista de Informe. En ambos casos, utiliza el menú de la derecha para añadir columnas desde las funciones que creaste en el paso 3.


 

Scripts para Power BI

  1. Obtener una página de datos desde la API pública de un recurso - 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. Recuperar todas las páginas de forma recursiva - GetAllPages

= 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. Transformar la lista de datos en una tabla - ListDataToTable

= let
    Source = (baseURL as text, apiKey as text) =>
let
  TableData = Table.FromList(GetAllPages(baseURL, apiKey), Splitter.SplitByNothing(), null, null)
in TableData
in
    Source

¿Te ha sido útil este artículo?

Give feedback about this article

¿No encuentras lo que estás buscando?

Nuestro equipo de servicio al cliente está aquí para ti.

Contáctanos

Knowledge Base Software powered by Helpjuice