Power BI-Integration für Citrix Performance Analytics
Die ODATA-API der Citrix Analytics Service-Plattform unterstützt derzeit die Datenexportfunktion von Performance Analytics.
Dieses Dokument beschreibt die notwendigen Schritte zur Integration der CAS ODATA-API mit Power BI, die auch Folgendes unterstützt:
- Inkrementelle Datenaktualisierung (diese Unterstützung ist entscheidend für große Datensätze)
- Geplante Datenaktualisierung (automatisches Abrufen und Exportieren der Daten in den Power BI-Arbeitsbereich)
Voraussetzungen
Die folgenden Elemente sind erforderlich, um den CAS ODATA-Feed zu verbinden:
- Citrix Cloud™ Kunden-ID (CCID)
- Globaler CAS ODATA API-Endpunkt:
https://api.cloud.com/casodata - Citrix Cloud API-Client.
Die CAS ODATA-API verwendet das Citrix Cloud Bearer-Token zur Authentifizierung. Ein Citrix Cloud API-Client ist erforderlich, um das Bearer-Token zu erhalten. Informationen zum Erstellen eines Citrix Cloud API-Clients und zum Speichern der Client-ID und des Secrets finden Sie in der Dokumentation Erste Schritte mit Citrix Cloud APIs.
Hinweis:
Der Administrator, der den API-Client erstellt, benötigt “Nur-Lesezugriff” oder “Vollständigen Administratorzugriff” auf den Citrix Cloud Analytics-Dienst.
CAS ODATA-Feed mit Power BI verbinden
Führen Sie die folgenden Schritte aus, um den CAS ODATA-Feed mit Power BI zu verbinden:
- Öffnen Sie Power BI Desktop.
-
Wählen Sie Start -> Daten abrufen -> Leere Abfrage. Die Seite Power Query-Editor wird angezeigt.

-
Wählen Sie auf dem Bildschirm Power Query-Editor die Option Parameter verwalten und fügen Sie die folgenden zwei Parameter hinzu, um die inkrementelle Aktualisierung zu unterstützen:
- RangeStart: das Startdatum der Aktualisierung (muss den Typ “Datum/Uhrzeit” verwenden)
- RangeEnd: das Enddatum der Aktualisierung (muss den Typ “Datum/Uhrzeit” verwenden)

Weitere Informationen finden Sie in der Microsoft-Dokumentation.
-
Wählen Sie auf dem Bildschirm Power Query-Editor die Option Erweiterter Editor und geben Sie die folgende Abfrage ein, um mit Citrix Cloud zu interagieren, um das Bearer-Token zu erhalten, und mit dem CAS ODATA-Feed zu interagieren, um die erforderlichen Daten abzurufen.
Hinweis:
Verwenden Sie das im vorherigen Schritt abgerufene Bearer-Token zur Authentifizierung.
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--> -
Ersetzen Sie die folgenden Platzhalter basierend auf Ihrer Site:
- Placeholder_customerId: Kunden-ID
-
placeholder_tokenUrl: regionspezifische CC-Authentifizierungs-URL
https://api.cloud.com/cctrustoauth2/root/tokens/clients - placeholder_ApiClientId: API-Client-ID
- placeholder_ApiSecretKey: API-Secret-Key
- placeholder_OdataApiUrl: API-URL für CAS ODATA mit optionaler ODATA-Abfrage (zum Beispiel:
"https://api.cloud.com/casodata/sessions?$filter=SessionState ne '3'")
- Klicken Sie nach Abschluss auf Fertig. Die Anforderung für die Zugangsdaten der Datenquelle wird angezeigt.
-
Wählen Sie Anonym und klicken Sie dann auf Anwenden. Die Daten werden wie folgt aktualisiert:

Power BI für inkrementelle Aktualisierung konfigurieren
Wenn Power Query Daten abrufen kann, müssen Sie die inkrementelle Aktualisierung für die Datenquelle konfigurieren.
Klicken Sie mit der rechten Maustaste auf die Datenquelle und wählen Sie Inkrementelle Aktualisierung, um die Richtlinie zur Aktivierung der inkrementellen Aktualisierung zu konfigurieren:
Hinweis:
Eine Power BI Premium- oder Pro-Lizenz ist erforderlich, um die inkrementelle Aktualisierung zu unterstützen.

Wichtig:
- Wenn die inkrementelle Aktualisierung aktiviert ist, löst die erste Aktualisierung die ODATA-API-Aufrufe aus, um alle historischen Daten abzurufen. Da die ODATA-API die Daten täglich aggregiert, ist es wichtig, die Anzahl der “Tage” für archivierte Daten zu verwenden.
- Berücksichtigen Sie eine angemessene Anzahl von Tagen, um die Daten zu speichern und so Speicherplatz in Ihrem Power BI-Arbeitsbereich zu sparen (zum Beispiel “7” Tage).
In Power BI Cloud veröffentlichen und geplante Aktualisierung aktivieren
Nachdem die vorhergehenden Änderungen abgeschlossen sind, wählen Sie in Power BI Desktop Start -> Datei -> In Power BI veröffentlichen. Der Datensatz und die Berichte werden im Power BI Cloud-Arbeitsbereich veröffentlicht.
Aktivieren Sie die geplante Aktualisierung, indem Sie im Datensatz auf Einstellungen klicken:

Konfigurieren Sie den anonymen Zugriff für die Datenquellen im Abschnitt Datenquellen-Anmeldeinformationen und wählen Sie Verbindungstest überspringen, und klicken Sie dann wie folgt auf Anmelden:

Die erste Datensatzaktualisierung ruft die historischen Daten ab, was länger dauern kann. Die spätere inkrementelle Aktualisierung ruft nur die Daten des letzten Tages ab. Diese Aktualisierung erfolgt gemäß der Konfiguration in der Richtlinie für inkrementelle Aktualisierung im vorherigen Abschnitt.
Der Aktualisierungsverlauf sieht wie folgt aus:

Sobald die Aktualisierung abgeschlossen ist, können Sie die Daten automatisch und kontinuierlich in Power BI abrufen.
