Datenbankabfragen definieren

Überblick

Datenbankabfragen werden verwendet, um zu definieren, welche Daten aus Ihrem BI-/Datenbanksystem in xP&A übernommen werden. Sie werden während der Einrichtung der Integration angegeben (siehe die jeweilige Einrichtungsanleitung für jedes System) und müssen auf eine bestimmte Weise strukturiert sein.

In diesem Kapitel erklären wir, wie eine Datenbankabfrage definiert wird und was bei verknüpften Dimensionen, die abgefragt werden, zu beachten ist.

Eine Abfrage definieren

Regeln:

  • Eine Abfrage beginnt mit select.
  • Eine Abfrage muss eine Datumsspalte zurückgeben.
  • Eine Abfrage muss mindestens eine Wertspalte für die Variablen zurückgeben (diese können Zahlen oder Datumsangaben sein).
  • Eine Abfrage kann optional Spalten für Dimensionen, Dimensionszuordnungen oder Kohorten zurückgeben.
  • Verknüpfte Dimensionen müssen in folgender Form eingeschlossen werden: `from dimension > to dimension` (mit Backticks). Weitere Details zu verknüpften Dimensionen finden Sie unter Dimensionen verknüpfen sowie im folgenden Kapitel Einschränkungen und Workarounds für die Abfragen verknüpfter Dimensionen.
  • Eine Abfrage muss from gefolgt vom Namen der Tabelle enthalten, aus der die Daten extrahiert werden sollen.

 

Beispielabfrage:

select date, users, country, region as "country > region"  from users_table

 

Erläuterung:

  • Die Daten werden aus der Tabelle users_table abgefragt.
  • Die erste Spalte (date) enthält die Datumsangaben der Transaktionen (Zeitstempel oder Datumstyp).
  • Die zweite Spalte (users) enthält die Werte der Variable "Users" (Zahlentyp).
  • Die dritte Spalte (country) ist eine Dimensionsspalte. Die Benutzer werden nach Land (String) aufgeschlüsselt.
  • Die vierte Spalte (Region als "Land > Region" ) ist eine Dimensionszuordnung. Die Region ist keine eigenständige Dimension, sondern die Länder sind den Regionen zugeordnet.

 

Beispiel für ein Abfrageergebnis:

    Zeigt das Ergebnis des obigen Abfragebeispiels. Eine Tabelle mit 4 Spalten: date, users, country, country > region
    Beispiel für ein Abfrageergebnis

    Konstante Werte abfragen

    Wenn Sie nur konstante Werte importieren möchten (keine Zeitreihen), kann die Datumsspalte Null sein. Beispiel:

    select null as date, price, plan_name from price_table

    Einschränkungen und Workarounds für die Abfragen verknüpfter Dimensionen

    Wenn Sie mit Abfragen arbeiten, können Sie pro Abfrage nur eine Ebene verknüpfter Dimensionen (Zuordnungen) erstellen. Dies bedeutet, dass Sie mehrere direkte Beziehungen von einer einzelnen Quelldimension aus herstellen können, aber Sie können innerhalb derselben Abfrage keine verketteten Beziehungen erstellen.

    In einer Abfrage zulässig:

    • A → B
    • A → C
    • A → D

     

    In einer Abfrage nicht zulässig:

    • A → B und B → C gleichzeitig

     

    Workaround-Lösung

    Um mehrstufige Beziehungen zu behandeln, müssen Sie zwei separate Abfragen erstellen:

    Abfrage 1: Definieren Sie die ursprüngliche Zuordnungsbeziehung

    Abfrage 2 Definieren Sie die sekundäre Zuordnungsbeziehung mithilfe eines fiktiven Werts

     

    Beispiel: Leasingverträge und Fahrzeugtypen

    Betrachten Sie ein Szenario, in dem:

    • Leasingverträge an bestimmte Fahrzeuge/Kennzeichen gebunden sind (A → B)
    • Fahrzeuge mit Fahrzeugtypen verknüpft sind (B → C)
    • Die Beziehung nicht immer 1:1 ist, da Fahrzeuge in mehreren Verträgen vorkommen können.

     

    Die folgenden Abfragen könnten verwendet werden:

    Abfrage 1: Zuordnung von Leasingvertrag zu Kennzeichen

    Abfrage 1 Abfrage 1

    Abfrage 2: Zuordnung von Kennzeichen zu Fahrzeugtyp

    Abfrage 2
    Abfrage 2

    Erläuterung:

    • Die zweite Abfrage verwendet einen fiktiven Wert (in diesem Fall 1), um die Anforderungen der Abfrage zu erfüllen, der in keinem Modell verwendet wird.
    • Beide Abfragen verwenden null für Datum als Platzhalter.
    • Die Zuordnungssyntax verwendet >, um die Richtung der Beziehung anzugeben.
    • Dieser Ansatz bewahrt die Datenintegrität und arbeitet gleichzeitig innerhalb der Systembeschränkungen.
    Kontaktieren Sie uns