Auf dieser Seite wird auf den Parameter
sql_analytic_model_nameverwiesen, der Teil einer Ansicht ist.
sql_analytic_model_namekann auch als Teil eines Explores verwendet werden. Dies wird auf der Dokumentationsseite zum Parametersql_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
|
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:
stringnumberdateyesno
- Nur für Dimensionen unterstützt:
timedate_time
- Unterstützt für Dimensionen und Measures:
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: sumodertype: count) für eine Dimension aus einem Analysemodell ausgeführt wird. Messwerte, die auf anderen Messwerten basieren, werden unterstützt:Mit dem Parameter
sqleines 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 wiesumodercountdefinieren. Sie müssen den neuen Messwert als nicht aggregierten Messwerttyp definieren, z. B.string,number,dateoderyesno. Sehen Sie sich folgendes Beispiel an:measure: average_order_amount { type: number sql: ROUND(${total_order_amount} / NULLIF(${count_orders}, 0), 2) ;; }
- 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.
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: distanceodertype: zipcodedefiniert 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.