Intégration de Power BI pour Citrix Performance Analytics

L’API ODATA de la plateforme Citrix Analytics Service prend actuellement en charge la fonctionnalité d’exportation de données de Performance Analytics.

Ce document décrit les étapes nécessaires pour intégrer l’API ODATA de CAS à Power BI, qui prend également en charge :

  1. L’actualisation incrémentielle des données (cette prise en charge est essentielle pour un grand ensemble de données)
  2. L’actualisation planifiée des données (extraction et exportation automatiques des données vers l’espace de travail Power BI)

Prérequis

Les éléments suivants sont nécessaires pour connecter le flux ODATA de CAS :

  1. ID client Citrix Cloud™ (CCID)
  2. Point de terminaison global de l’API ODATA de CAS : https://api.cloud.com/casodata
  3. Client API Citrix Cloud.

L’API ODATA de CAS utilise le jeton de porteur Citrix Cloud pour l’authentification. Un client API Citrix Cloud est nécessaire pour obtenir le jeton de porteur. Pour plus d’informations sur la création d’un client API Citrix Cloud et l’enregistrement de l’ID client et du secret, consultez la documentation Démarrer avec les API Citrix Cloud.

Remarque :

L’administrateur qui crée le client API doit disposer de l’accès « Lecture seule » ou de l’accès « Administrateur complet » au service Citrix Cloud Analytics.

Connecter le flux ODATA de CAS à Power BI

Effectuez les étapes suivantes pour connecter le flux ODATA de CAS à Power BI :

  1. Ouvrez Power BI Desktop.
  2. Sélectionnez Accueil -> Obtenir des données -> Requête vide. La page Éditeur Power Query apparaît.

    Exportation de données

  3. Sur l’écran Éditeur Power Query, sélectionnez Gérer les paramètres et ajoutez les deux paramètres suivants pour prendre en charge l’actualisation incrémentielle :

    • RangeStart : la date de début de l’actualisation (doit utiliser le type « Date/Heure »)
    • RangeEnd : la date de fin de l’actualisation (doit utiliser le type « Date/Heure »)

    Gérer les paramètres

    Pour plus d’informations, consultez la documentation Microsoft.

  4. Sur l’écran Éditeur Power Query, sélectionnez Éditeur avancé, puis entrez la requête suivante pour interagir avec Citrix Cloud afin d’obtenir le jeton de porteur et interagir avec le flux ODATA de CAS afin d’obtenir les données requises.

    Remarque :

    Utilisez le jeton de porteur récupéré à l’étape précédente pour l’authentification.

        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-->
    
  5. Remplacez les espaces réservés suivants en fonction de votre site :

    • Placeholder_customerId : ID client
    • placeholder_tokenUrl : URL d’authentification CC spécifique à la région

      https://api.cloud.com/cctrustoauth2/root/tokens/clients

    • placeholder_ApiClientId : ID client API
    • placeholder_ApiSecretKey : clé secrète client API
    • placeholder_OdataApiUrl : URL de l’API ODATA de CAS avec requête ODATA facultative (par exemple : "https://api.cloud.com/casodata/sessions?$filter=SessionState ne '3'")
  6. Une fois terminé, cliquez sur Terminé. La demande d’informations d’identification d’accès à la source de données apparaît.
  7. Sélectionnez Anonyme, puis cliquez sur Appliquer. Les données sont actualisées comme suit :

    Accès à la source de données

Configurer Power BI pour prendre en charge l’actualisation incrémentielle

Lorsque Power Query peut extraire des données, vous devez configurer l’actualisation incrémentielle pour la source de données.

Cliquez avec le bouton droit sur la source de données et sélectionnez Actualisation incrémentielle pour configurer la stratégie d’activation de l’actualisation incrémentielle :

Remarque :

Une licence Power BI Premium ou Pro est requise pour prendre en charge l’actualisation incrémentielle.

Actualisation incrémentielle

Important :

  • Lorsque l’actualisation incrémentielle est activée, la première actualisation déclenche les appels d’API ODATA pour obtenir toutes les données historiques. Étant donné que l’API ODATA agrège les données quotidiennement, il est important d’utiliser un nombre de « jours » pour les données archivées.
  • Considérez un nombre raisonnable de jours pour conserver les données afin d’économiser l’espace disque de votre espace de travail Power BI (par exemple, « 7 » jours).

Publier sur le cloud Power BI et activer l’actualisation planifiée

Une fois les modifications précédentes terminées, sélectionnez Power BI Desktop Accueil -> Fichier -> Publier sur Power BI. L’ensemble de données et les rapports sont publiés dans l’espace de travail cloud Power BI.

Activez l’actualisation planifiée en cliquant sur Paramètres dans l’ensemble de données :

Paramètres d'actualisation planifiée

Configurez l’accès anonyme pour les sources de données dans la section Informations d’identification de la source de données et sélectionnez Ignorer le test de connexion, puis cliquez sur Se connecter comme suit :

Ignorer le test de connexion

La première actualisation de l’ensemble de données extrait les données historiques, ce qui peut prendre plus de temps. L’actualisation incrémentielle ultérieure extrait uniquement les données du dernier jour. Cette actualisation est effectuée comme configuré dans la politique d’actualisation incrémentielle de la section précédente.

L’historique d’actualisation se présente comme suit :

Données actualisées

Une fois l’actualisation terminée, vous pouvez extraire les données vers Power BI automatiquement et en continu.

Données complètes

Intégration de Power BI pour Citrix Performance Analytics