Parameter in einer benutzerdefinierten Abfrage verwenden

Mit Parametern können Sie responsive, anpassbare Berichte erstellen, indem Sie Parameter aus einer Datenquelle an die zugrunde liegende SQL-Abfrage zurückgeben. Wenn Sie einen Parameter in einer benutzerdefinierten Abfrage verwenden möchten, folgen Sie den Syntaxrichtlinien unter Parametrisierte Abfragen ausführen.


Standardparameter

Sie können in jeder benutzerdefinierten Abfrage die folgenden Parameter verwenden:

Parameter

Zweck

@DS_START_DATE

Ruft den Beginn des Berichtszeitraums ab

@DS_END_DATE

Ruft das Ende des Berichtszeitraums ab

@DS_USER_EMAIL

Ruft die E-Mail-Adresse des angemeldeten Nutzers ab

So verwenden Sie diese Parameter:

  1. Aktivieren Sie im Bereich Parameter des Verbindungspanels die Parameter, die Sie verwenden möchten. Wenn Sie den Parameter @DS_USER_EMAIL aktivieren, werden Sie in Data Studio aufgefordert, den Zugriff auf Ihre E-Mail-Adresse zu gewähren.
  2. Geben Sie die Parameternamen in der Abfrage in Großbuchstaben an.

In Data Studio werden alle Parameterwerte als Textstrings übergeben. Wenn Sie Parameterstrings als Kalenderdaten, Zahlen oder andere Datentypen verarbeiten möchten, verwenden Sie eine geeignete SQL-Konvertierungsfunktion wie PARSE_DATE, PARSE_TIMESTAMP oder CAST.

Mit Datumsparametern Zeiträume an die zugrunde liegende Abfrage übergeben

Wenn der Bericht eine Zeitraumsteuerung hat, können Betrachter damit unterschiedliche Start- und Enddaten direkt aus der Datenbank anfordern.

Mit dem E-Mail-Parameter den Datenzugriff auf Zeilenebene ermöglichen

Mit dem E-Mail-Parameter haben Sie die Möglichkeit, nur die Daten aufzurufen, die dem angemeldeten Nutzer eines Berichts, einer Datenquelle oder explorativen Datenanalyse zugeordnet sind. Der Nutzer muss in einem Google-Konto angemeldet sein und zustimmen, dass seine E-Mail-Adresse an Data Studio weitergegeben wird. Stimmt er nicht zu, wird in allen Diagrammen, die auf dieser Datenquelle basieren, ein Autorisierungsfehler angezeigt.


Benutzerdefinierte Parameter

Sie können alle Parameter, die Sie auf der Data Studio-Benutzeroberfläche erstellen, in Ihrer benutzerdefinierten Abfrage verwenden.

Parameter auf der Verbindungsseite erstellen

  1. Klicken Sie im Bereich Parameter des benutzerdefinierten Abfrageeditors auf + PARAMETER HINZUFÜGEN.
  2. Konfigurieren Sie die Parameteroptionen.
  3. Klicken Sie auf OK.

Benutzerdefinierte Parameter in der Datenquelle ausblenden

Standardmäßig können Mitbearbeiter benutzerdefinierte Parameter direkt in Berichten ändern. Wenn Sie verhindern möchten, dass Mitbearbeiter einen Wert ändern, können Sie den Parameter direkt in der Datenquellenkonfiguration ausblenden:

  1. Klicken Sie auf Weitere Optionen.
  2. Wählen Sie Ausblenden aus.

Weitere Informationen zum Zulassen von Datenquellenparametern in Berichten.


Parameter in einer benutzerdefinierten Abfrage verwenden

Ersetzen Sie im Textkörper der benutzerdefinierten SQL-Abfrage einen hartcodierten Wert durch eine Kennung, die mit dem Zeichen @ beginnt (z. B. @param_name).


Beispiele für Parameter

Im Folgenden finden Sie einige Beispiele für die Verwendung von Parametern:

Beispiel für einen benutzerdefinierten Parameter

SELECT word FROM `TABLE` WHERE corpus = @corpus;

String mit CONTAINS und einem numerischen Grenzwert

SELECT * FROM `bigquery-public-data.baseball.games_post_wide`
WHERE REGEXP_CONTAINS(gameId, @s)
AND attendance > @attendance LIMIT 100;

Stringparameter mit Mehrfachauswahl

Beachten Sie, wie UNNEST die Arrayliste der Parameterwerte mit Mehrfachauswahl vereinfacht:

SELECT * from user.users as user WHERE display_name in UNNEST(@name);

Datumsparameter mit Standardformatierung

SELECT creation_date, age, display_name from user.users as user
WHERE creation_date > PARSE_DATE('%Y%m%d', @DS_START_DATE)
AND creation_date < PARSE_DATE('%Y%m%d', @DS_END_DATE);

Datumsparameter mit Unix-Zeitstempel in Mikrosekunden

SELECT creation_date, age, display_name from user.users as use
WHERE creation_date > UNIX_MICROS(PARSE_TIMESTAMP('%Y%m%d', @DS_START_DATE))
AND creation_date < UNIX_MICROS(PARSE_TIMESTAMP('%Y%m%d', @DS_END_DATE))

Beispiel für einen E-Mail-Parameter

SELECT * FROM Sales WHERE sales-rep-email = @DS_USER_EMAIL;