Power BI-Integration für Citrix Performance Analytics
Die ODATA-API der Citrix Analytics Service-Plattform unterstützt derzeit die Performance Analytics-Datenexportfunktion.
Dieses Dokument beschreibt die notwendigen Schritte, um die CAS ODATA-API mit Power BI zu integrieren, das auch Folgendes unterstützt:
- Inkrementelle Datenaktualisierung (diese Unterstützung ist entscheidend für einen großen Datensatz)
- 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 Bearertoken für die Authentifizierung. Ein Citrix Cloud API-Client ist erforderlich, um das Bearertoken abzurufen. Informationen zum Erstellen eines Citrix Cloud API-Clients und zum Speichern der Client-ID und des geheimen Schlüssels finden Sie in der Dokumentation Erste Schritte mit Citrix Cloud APIs.
Hinweis:
Der Administrator, der den API-Client erstellt, muss den “Schreibgeschützten Zugriff” oder den “Volladministratorzugriff” auf den Citrix Cloud Analytics-Dienst haben.
Verbinden Sie den CAS ODATA-Feed mit Power BI
Führen Sie die folgenden Schritte aus, um den CAS-ODATA-Feed mit Power BI zu verbinden:
- Öffnen Sie den Power BI-Desktop.
-
Wählen Sie Home -> Daten abrufen -> Leere Abfrage. Die Seite Power Query Editor wird angezeigt.
-
Wählen Sie auf dem Bildschirm Power Query Editor die Option Parameter verwalten aus und fügen Sie die folgenden beiden Parameter hinzu, um die inkrementelle Aktualisierung zu unterstützen:
- RangeStart: Das Startdatum der Aktualisierung (muss den Typ “Date/Time” verwenden)
- RangeEnd: Das Enddatum der Aktualisierung (muss den Typ “Date/Time” verwenden)
Weitere Informationen finden Sie in der Microsoft-Dokumentation.
-
Wählen Sie auf dem Power Query Editor-Bildschirm die Option Advanced Editor aus und geben Sie die folgende Abfrage ein, um mit Citrix Cloud zu interagieren und das Bertertoken abzurufen, sowie mit dem CAS-ODATA-Feed zu interagieren und die erforderlichen Daten abzurufen.
Hinweis:
Verwenden Sie das im vorherigen Schritt abgerufene Bearertoken für die 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 Website:
- Placeholder_customerId: Kunden-ID
-
placeholder_tokenUrl: regionale spezifische CC auth URL
https://api.cloud.com/cctrustoauth2/root/tokens/clients
- placeholder_ApiClientId: API-Client-ID
- placeholder_ApiSecretKey: geheimer Schlüssel des API-Clients
- placeholder_OdataApiUrl: API URL für CAS ODATA mit optionaler ODATA-Abfrage (Beispiel:
"https://api.cloud.com/casodata/sessions?$filter=SessionState ne '3'"
)
- Wenn Sie fertig sind, klicken Sie auf Fertig. Die Anforderung von Anmeldeinformationen für den Datenquellenzugriff wird angezeigt.
-
Wählen Sie Anonym aus und klicken Sie dann auf Anwenden. Die Daten werden wie folgt aktualisiert:
Konfigurieren Sie PowerBI so, dass es inkrementelle Aktualisierungen unterstützt
Wenn die 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 aus, um die Richtlinie so zu konfigurieren, dass die inkrementelle Aktualisierung aktiviert wird:
Hinweis:
Für die Unterstützung der inkrementellen Aktualisierung ist eine Power BI Premium- oder Pro-Lizenz erforderlich.
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.
- Erwägen Sie eine angemessene Anzahl von Tagen für die Aufbewahrung der Daten, um Speicherplatz auf Ihrem PowerBI-Workspace-Speicherplatz zu sparen (z. B. “7 Tage”).
Veröffentlichen Sie in der Power BI Cloud und aktivieren Sie die geplante Aktualisierung
Sobald die vorherigen Änderungen abgeschlossen sind, wählen Sie Power BI Desktop Home -> Datei -> In Power BI veröffentlichen. Der Datensatz und die Berichte werden im Power BI-Cloud-Workspace 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 Anmeldeinformationen für die Datenquelle, wählen Sie Verbindungstest überspringenaus und klicken Sie dann wie folgt auf Anmelden:
Bei der ersten Datensatzaktualisierung werden die historischen Daten abgerufen, was länger dauern kann. Bei der späteren inkrementellen Aktualisierung werden nur die Daten des letzten Tages abgerufen. Diese Aktualisierung erfolgt wie in der Richtlinie für inkrementelle Aktualisierungen im vorherigen Abschnitt konfiguriert.
Der Aktualisierungsverlauf sieht wie folgt aus:
Sobald die Aktualisierung abgeschlossen ist, können Sie die Daten kontinuierlich automatisch in Power BI abrufen.