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:

  1. Actualización incremental de datos (esta compatibilidad es fundamental para un conjunto de datos de gran tamaño)
  2. 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:

  1. ID de cliente de Citrix Cloud (CCID)
  2. Dispositivo de punto final de la API CAS ODATA global: https://api.cloud.com/casodata
  3. 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:

  1. Abra el escritorio de Power BI.
  2. Seleccione Inicio -> Obtener datos -> Consulta en blanco. Aparece la página del Editor de Power Query.

    Exportación de datos

  3. 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”)

    Administrar parámetros

    Para obtener más información, consulte la documentación de Microsoft.

  4. 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 DateTimeZone.FromText([Timestamp]) >= DateTime.AddZone
        (RangeStart, 0) and DateTimeZone.FromText([Timestamp]) <= DateTime.AddZone(RangeEnd, 0))
        in
        #"Filtered Rows"
    <!--NeedCopy-->
    
  5. 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'")
  6. Cuando haya terminado, haga clic en Listo. Aparece la solicitud de credenciales de acceso a la fuente de datos.
  7. Selecciona Anónimo y, a continuación, haga clic en Aplicar. Los datos se actualizan de la siguiente manera:

    Acceso a la fuente de datos

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.

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:

Actualización programada de los parámetros

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:

Omitir la prueba de conexión

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:

Datos actualizados

Una vez completada la actualización, podrá extraer los datos de forma continua y automática a Power BI.

Datos completos

Integración de Power BI para Citrix Performance Analytics