Integración de Power BI para Citrix Performance Analytics
La API ODATA de la plataforma Citrix Analytics Service admite actualmente la capacidad de exportación de datos de Performance Analytics.
Este documento describe los pasos necesarios para integrar la API CAS ODATA con Power BI, que también admite:
- Actualización incremental de datos (esta compatibilidad es fundamental para un conjunto de datos de gran tamaño)
- Actualización de datos programada (extrae automáticamente los datos y los exporta al espacio de trabajo de Power BI)
Requisitos previos
Se requieren los siguientes elementos para conectar la fuente CAS ODATA:
- ID de cliente de Citrix Cloud (CCID)
- Dispositivo de punto final de la API CAS ODATA global:
https://api.cloud.com/casodata
- Cliente de API de Citrix Cloud.
La API CAS ODATA utiliza el token de portador de Citrix Cloud para la autenticación. Se necesita un cliente de API de Citrix Cloud para obtener el token de portador. Para obtener información sobre cómo crear un cliente de API de Citrix Cloud y guardar el identificador y el secreto del cliente, consulte la documentación de introducción a las API de Citrix Cloud.
Nota:
El administrador que crea el cliente de API debe tener acceso de “solo lectura” o “acceso de administrador total” al servicio Citrix Cloud Analytics.
Conectar la fuente CAS ODATA con Power BI
Realice los siguientes pasos para conectar la fuente CAS ODATA con Power BI:
- Abra el escritorio de Power BI.
-
Seleccione Inicio -> Obtener datos -> Consulta en blanco. Aparece la página del Editor de Power Query.
-
En la pantalla del Editor de Power Query, seleccione Administrar parámetros y agregue 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, consulte la documentación de Microsoft.
-
En la pantalla del Editor de Power Query, seleccione Editor avanzado e introduzca la siguiente consulta para interactuar con Citrix Cloud y obtener el token de portador e interactuar con la fuente CAS ODATA para obtener los datos necesarios.
Nota:
Use el token de portador obtenido 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-->
-
Sustituya los siguientes marcadores de posición en función de su sitio:
- placeholder_customerId: ID de cliente
-
placeholder_tokenUrl: URL de autenticación CC específica para cada región
https://api.cloud.com/cctrustoauth2/root/tokens/clients
- placeholder_ApiClientId: ID de cliente de API
- placeholder_ApiSecretKey: clave secreta del cliente de API
- placeholder_OdataApiUrl: URL de API para CAS ODATA con consulta ODATA opcional (por ejemplo:
"https://api.cloud.com/casodata/sessions?$filter=SessionState ne '3'"
)
- Cuando haya terminado, haga clic en Listo. Aparece la solicitud de credenciales de acceso a la fuente de datos.
-
Selecciona Anónimo y, a continuación, haga clic en Aplicar. Los datos se actualizan de la siguiente manera:
Configurar PowerBI para admitir la actualización incremental
Cuando Power Query puede extraer datos, debe configurar la actualización incremental de la fuente de datos.
Haga clic con el botón secundario en la fuente de datos y seleccione Actualización incremental para configurar la directiva y habilitar la actualización incremental:
Nota:
Se requiere una licencia Power BI premium o pro para admitir la actualización incremental.
Importante:
- Cuando se habilita la actualización incremental, la primera actualización desencadena las llamadas a la API de ODATA para obtener todos los datos históricos. Como la API de ODATA agrega los datos a diario, es importante usar el número de “días” para los datos archivados.
- Considere un número razonable de días para conservar los datos a fin de ahorrar espacio en disco en el espacio de trabajo de PowerBI (por ejemplo, “7 días”).
Publicar en la nube de Power BI y habilitar la actualización programada
Una vez completados los cambios anteriores, seleccione Inicio de escritorio de Power BI -> 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.
Para habilitar la actualización programada, haga clic en Parámetros en el conjunto de datos:
Configure el acceso anónimo para las fuentes de datos en la sección Credenciales de la fuente de datos, seleccione Omitir la prueba de conexión y, a continuación, haga clic en Iniciar sesión de la siguiente manera:
La primera actualización del conjunto de datos extrae los datos históricos, lo que puede llevar más tiempo. Y la actualización incremental posterior solo extrae los datos del último día. Esta actualización se realiza según lo configurado en la directiva de actualización incremental de la sección anterior.
El historial de actualizaciones tiene el siguiente aspecto:
Una vez completada la actualización, podrá extraer los datos de forma continua y automática a Power BI.