Integración de Power BI para Citrix Performance Analytics
La API ODATA de la plataforma Citrix Analytics Service actualmente admite la capacidad de exportación de datos de Performance Analytics.
Este documento describe los pasos necesarios para integrar la API ODATA de CAS con Power BI, que también admite:
- Actualización de datos incremental (esta asistencia es fundamental para un conjunto de datos grande)
- Actualización de datos programada (extrae y exporta automáticamente los datos al espacio de trabajo de Power BI)
Requisitos previos
Se requieren los siguientes elementos para conectar la fuente ODATA de CAS:
- ID de cliente de Citrix Cloud™ (CCID)
- Punto de conexión global de la API ODATA de CAS:
https://api.cloud.com/casodata - Cliente de la API de Citrix Cloud.
La API ODATA de CAS usa el token de portador de Citrix Cloud para la autenticación. Se requiere un cliente de la API de Citrix Cloud para obtener el token de portador. Para obtener información sobre cómo crear un cliente de la API de Citrix Cloud y guardar el ID y el secreto del cliente, consulta la documentación Introducción a las API de Citrix Cloud.
Nota:
El administrador que crea el cliente de la API necesita tener acceso de “Solo lectura” o acceso de “Administrador completo” al servicio Citrix Cloud Analytics.
Conectar la fuente ODATA de CAS con Power BI
Realiza los siguientes pasos para conectar la fuente ODATA de CAS con Power BI:
- Abre Power BI Desktop.
-
Selecciona Inicio -> Obtener datos -> Consulta en blanco. Aparece la página del Editor de Power Query.

-
En la pantalla del Editor de Power Query, selecciona Administrar parámetros y agrega los dos parámetros siguientes para admitir la actualización incremental:
- RangeStart: la fecha de inicio de la actualización (debe usar el tipo “Fecha/Hora”)
- RangeEnd: la fecha de finalización de la actualización (debe usar el tipo “Fecha/Hora”)

Para obtener más información, consulta la documentación de Microsoft.
-
En la pantalla del Editor de Power Query, selecciona Editor avanzado, introduce la siguiente consulta para interactuar con Citrix Cloud y obtener el token de portador, y para interactuar con la fuente ODATA de CAS y obtener los datos necesarios.
Nota:
Usa el token de portador recuperado en el paso anterior para la autenticación.
let customerId = "placeholder_customerId", // get citrix cloud API credential (bearer token) tokenUrl = "placeholder_tokenUrl", headers = [ #"customerid" = customerId, #"Content-Type" = "application/x-www-form-urlencoded", #"Accept" = "*/*" ], postData = [ grant_type = "client_credentials", client_id = "placeholder_ApiClientId", client_secret = "placeholder_ApiSecretKey" ], response = Json.Document(Web.Contents(tokenUrl, [Headers = headers, Content = Text.ToBinary(Uri. BuildQueryString(postData))])), // get the CC bearer toekn from the response token = "CwsAuth bearer=" & response[access_token], reportDate = DateTime.AddZone(RangeStart, 0), reportDateYear = Number.ToText(Date.Year(reportDate)), reportDateMonth = Number.ToText(Date.Month(reportDate)), reportDateDay = Number.ToText(Date.Day(reportDate)), // CAS ODATA API endpoint and ODATA query. Sample below will retrieve active sessions (non-terminated) // apiURL = "https://api.cloud.com/casodata/sessions?$filter=SessionState ne '3'", apiURL = "placeholder_OdataApiUrl", // have to separate api queries below to make PowerBI happy apiQuery = [ #"year" = reportDateYear, #"month" = reportDateMonth, #"day" = reportDateDay ], apiHeaders = [ #"Authorization" = token, #"Citrix-CustomerId" = customerId ], Source = OData.Feed(apiURL, null, [Query=apiQuery, Headers=apiHeaders]), #"Filtered Rows" = Table.SelectRows(Source, each [Timestamp] >= DateTime.AddZone(RangeStart, 0) and [Timestamp] <= DateTime.AddZone(RangeEnd, 0)) in #"Filtered Rows" <!--NeedCopy--> -
Reemplaza los siguientes marcadores de posición según tu sitio:
- Placeholder_customerId: ID de cliente
-
placeholder_tokenUrl: URL de autenticación de CC específica de la región
https://api.cloud.com/cctrustoauth2/root/tokens/clients - placeholder_ApiClientId: ID de cliente de la API
- placeholder_ApiSecretKey: clave secreta de cliente de la API
- placeholder_OdataApiUrl: URL de la API para ODATA de CAS con consulta ODATA opcional (por ejemplo:
"https://api.cloud.com/casodata/sessions?$filter=SessionState ne '3'")
- Una vez completado, haz clic en Listo. Aparece la solicitud de credenciales de acceso a la fuente de datos.
-
Selecciona Anónimo y luego haz clic en Aplicar. Los datos se actualizan de la siguiente manera:

Configurar Power BI para admitir la actualización incremental
Cuando Power Query pueda extraer datos, necesitas configurar la actualización incremental para la fuente de datos.
Haz clic con el botón derecho en la fuente de datos y selecciona Actualización incremental para configurar la política que habilite la actualización incremental:
Nota:
Se requiere una licencia de Power BI Premium o Pro para admitir la actualización incremental.

Importante:
- Cuando la actualización incremental está habilitada, la primera actualización activa las llamadas a la API ODATA para obtener todos los datos históricos. Dado que la API ODATA agrega los datos diariamente, es importante usar el número de “días” para los datos archivados.
- Considera un número razonable de días para mantener los datos y ahorrar espacio en disco en tu espacio de trabajo de Power BI (por ejemplo, “7” días).
Publicar en la nube de Power BI y habilitar la actualización programada
Una vez completados los cambios anteriores, selecciona en Power BI Desktop Inicio -> Archivo -> Publicar en Power BI. El conjunto de datos y los informes se publican en el espacio de trabajo en la nube de Power BI.
Habilita la actualización programada haciendo clic en Configuración en el conjunto de datos:

Configura el acceso anónimo para las fuentes de datos en la sección Credenciales de la fuente de datos y selecciona Omitir prueba de conexión, y luego haz clic en Iniciar sesión de la siguiente manera:

La primera actualización del conjunto de datos extrae los datos históricos, lo que podría llevar más tiempo. Y la posterior actualización incremental extrae solo los datos del último día. Esta actualización se realiza según lo configurado en la política de actualización incremental de la sección anterior.
El historial de actualización se ve de la siguiente manera:

Una vez completada la actualización, podrás extraer continuamente los datos a Power BI automáticamente.
