sql_analytic_model_name (für Ansichten)

Auf dieser Seite wird auf den Parameter sql_analytic_model_name verwiesen, der Teil einer Ansicht ist.

sql_analytic_model_name kann auch als Teil eines Explores verwendet werden. Dies wird auf der Dokumentationsseite zum Parameter sql_analytic_model_name (für Explores) beschrieben.

Nutzung

view: view_name {
  sql_analytic_model_name: analytic_model_name ;;
}
Hierarchie
sql_analytic_model_name
Standardwert
Keine

Akzeptiert
Name eines In-Database-Analysemodells

Besondere Regeln
  • Analytische Modelle werden nur für BigQuery- und Snowflake-Verbindungen unterstützt.
  • Das von sql_analytic_model_name referenzierte Analysemodell muss über die Datenbankverbindung des Modells zugänglich sein.
  • Wenn sich das Analysemodell in einer anderen Datenbank, einem anderen Schema, Projekt oder Dataset als dem Standardpfad befindet, den Sie in Ihrer Datenbankverbindung definiert haben, müssen Sie den Namen des Analysemodells eingrenzen.

Definition

Bei BigQuery- und Snowflake-Verbindungen gibt der Parameter sql_analytic_model_name den Namen eines vorhandenen In-Database-Analysemodells (ein BigQuery-Diagramm oder eine semantische Ansicht in Snowflake) an, das als Grundlage für eine LookML-Ansicht verwendet werden soll. So können Sie direkt in Ihrer Datenbank definierte Analysemodelle wie BigQuery Graph oder semantische Ansichten in Snowflake nutzen.

In diesem Fall ist das Analysemodellobjekt bereits in Ihrer Datenbank vorhanden und wird von Ihrer Datenbank verwaltet. Das Analysemodell wird nicht von Looker erstellt, verwaltet oder unterliegt Looker. Das ist vergleichbar damit, wie reguläre Datenbanktabellen, die mit sql_table_name als LookML-Ansichten verfügbar gemacht werden, nicht von Looker verwaltet werden.

Verwenden Sie in der LookML-Ansichtsdatei den Parameter sql_analytic_model_name, um Looker auf das Analysemodell in Ihrer Datenbank zu verweisen. Erstellen Sie dann Looker-Dimensionen und ‑Messwerte, die dem Analysemodell zugeordnet werden, damit Sie das Analysemodell mit Looker abfragen können.

Namen von Analysemodellen eingrenzen

Wenn Sie mit dem Namen allein auf ein Analysemodell verweisen, verwendet Looker den Standardsuchpfad (die Datenbank und das Schema), den Ihr Looker-Administrator in den Einstellungen für die Datenbankverbindung konfiguriert hat.

Wenn Sie in einer anderen Datenbank und einem anderen Schema auf ein Analysemodell verweisen müssen, das sich nicht im Standardsuchpfad des Datenbanknutzers befindet, können Sie den Namen des Analysemodells mit dem Format <database_name>.<schema_name>.<analytic_model_name> eingrenzen, um auf eine andere Datenbank oder ein anderes Schema zu verweisen:

  • Wenn Sie in einem anderen Schema auf ein Analysemodell verweisen möchten, verwenden Sie <schema_name>.<analytic_model_name>.
  • Wenn Sie in einer anderen Datenbank auf ein Analysemodell verweisen möchten, verwenden Sie den vollständigen <database_name>.<schema_name>.<analytic_model_name>.

Bei einer Google BigQuery-Verbindung können Sie auf ein Analysemodell in einem anderen Projekt und Dataset verweisen, indem Sie den Namen des Analysemodells im Format <project_name>.<dataset_name>.<analytic_model_name> angeben. Weitere Informationen finden Sie auf der Dokumentationsseite Google BigQuery-Verbindung.

LookML-Dimensionen und ‑Measures auf Grundlage Ihrer Analyseansicht erstellen

Nachdem Sie eine Ansichtsdatei erstellt und ein Analysemodell als sql_analytic_model_name festgelegt haben, können Sie in derselben Ansichtsdatei LookML-Dimensionen und ‑Measures definieren, die auf dem Analysemodell basieren.

Informationen zur richtigen SQL-Syntax für den Verweis auf Elemente in Ihrem Analysemodell finden Sie in der Dokumentation Ihres Dialekts. Wenn Sie beispielsweise eine LookML-Dimension aus einer BigQuery Graph-Entität erstellen möchten, müssen Sie Unterstriche verwenden, um Elemente beim Festlegen des Bereichs zu trennen. Für BigQuery Graph basiert diese LookML-Dimension beispielsweise auf dem Attribut location_id in der Knotentabelle Stores:

  dimension: location_id {
    type: number
    sql: Stores_location_id ;;
  }

Wenn Sie jedoch eine LookML-Dimension erstellen möchten, die auf einer semantischen Snowflake-Ansicht basiert, müssen Sie den nicht qualifizierten Namen eines Messwerts oder einer Dimension verwenden.

Beispiel

Hier ist ein Beispiel für einen BigQuery-Graphen mit dem Namen StoreGraph, der in einer BigQuery-Datenbank definiert ist:

CREATE OR REPLACE PROPERTY GRAPH mydataset.StoreGraph
  NODE TABLES (
    mydataset.Stores AS S,
    mydataset.Locations AS L
    PROPERTIES(id, name, population, MEASURE(SUM(population)) AS total_population)
  )
  EDGE TABLES (
    mydataset.Stores AS SL
    SOURCE KEY (location_id) REFERENCES L (id)
    DESTINATION KEY (name) REFERENCES S (name)
  );

Hier ist ein Beispiel für eine LookML-Ansicht, die auf dem StoreGraph-BigQuery-Diagramm basiert, einschließlich Dimensionen und Messwerten, die dem Diagramm zugeordnet sind:

view: MyStoreGraphView {
  sql_analytic_model_name: StoreGraph ;;

  dimension: location_id {
    type: number
    sql: Stores_location_id ;;
  }

  dimension: population {
    type: number
    sql: Locations_population ;;
  }

  dimension: location_name {
    type: string
    sql: Locations_name ;;
  }

  measure: locations_total_population {
    type: number
    sql: Locations_total_population ;;
  }
}

Wichtige Punkte

Hinweise zu Analysemodellen in Looker

Beachten Sie bei der Verwendung von In-Database-Analysemodellen die folgenden Hinweise und Einschränkungen:

  • Datentypen:Für Analysemodelle werden nur die folgenden Datentypen für Dimensionen und Messwerte unterstützt:

    • Unterstützt für Dimensionen und Measures:
      • string
      • number
      • date
      • yesno
    • Nur für Dimensionen unterstützt:
      • time
      • date_time
  • Messungen:

    • Basismesswerte müssen vordefiniert sein:Basismesswerte müssen im zugrunde liegenden analytischen Datenbankmodell vordefiniert sein. In Looker kann kein neuer Basismesswert definiert werden, indem eine Aggregation (z. B. type: sum oder type: count) für eine Dimension aus einem Analysemodell ausgeführt wird.
    • Messwerte, die auf anderen Messwerten basieren, werden unterstützt:Mit dem Parameter sql eines LookML-Messwerts können Sie Berechnungen ohne Aggregation durchführen, bei denen vordefinierte Basismesswerte aus dem Analysemodell verwendet werden. Wenn Sie ein Measure erstellen, das auf anderen Measures basiert, können Sie das neue Measure nicht als aggregierten Measure-Typ wie sum oder count definieren. Sie müssen den neuen Messwert als nicht aggregierten Messwerttyp definieren, z. B. string, number, date oder yesno. Sehen Sie sich folgendes Beispiel an:

      measure: average_order_amount {
        type: number
        sql: ROUND(${total_order_amount} / NULLIF(${count_orders}, 0), 2) ;;
      }
      
  • Joins:Ein Explore, dessen Basisansicht auf einem Analysemodell basiert, darf keine Joins enthalten. Ebenso kann eine Ansicht, die auf einem Analysemodell basiert, nicht mit einem Explore verknüpft werden, das eine standardmäßige LookML-Basisansicht hat.

  • Implizite Joins:Funktionen, die auf impliziten Joins basieren, werden für Analysemodelle nicht unterstützt. Beispiele für Funktionen, die auf impliziten Joins basieren, sind benutzerdefinierte Kalender und Felder, die mit type: location, type: distance oder type: zipcode definiert sind.

  • Die folgenden Funktionen werden bei Analysemodellen nicht unterstützt:

Das Analysemodell muss über die aktuelle Verbindung zugänglich sein.

Wenn der Parameter sql_analytic_model_name in einem view-Objekt verwendet wird, kann auf dieses view-Objekt in einem explore-Objekt verwiesen werden, auf das wiederum in einem model-Objekt verwiesen wird. Das Modellobjekt enthält eine definierte Datenbank connection. Wenn Sie im Parameter sql_analytic_model_name auf ein Analysemodell verweisen, muss das Analysemodell über die zugehörige Verbindung zugänglich sein, die in der Modelldatei angegeben ist.

Die Standard-Datenbank und das Schema (oder für Google BigQuery das Abrechnungsprojekt und das Dataset) werden von Ihrem Looker-Administrator definiert, wenn er die Looker-Verbindung zu Ihrer Datenbank erstellt.