Auf dieser Seite wird auf den
sql_analytic_model_nameParameter verwiesen, der Teil einer Ansicht ist.
sql_analytic_model_namekann auch als Teil eines Explores verwendet werden. Weitere Informationen finden Sie auf der Dokumentationsseite zum Parametersql_analytic_model_name(für Explores).
Nutzung
view: view_name {
sql_analytic_model_name: analytic_model_name ;;
}
|
Hierarchie
sql_analytic_model_name |
Standardwert
Keine
Akzeptiert
Ein Name eines Analysemodells in der Datenbank
Sonderregeln
|
Definition
Bei BigQuery- und Snowflake-Verbindungen gibt der sql_analytic_model_name Parameter den Namen eines vorhandenen Analysemodells in der Datenbank (eines BigQuery-Graphen oder einer semantischen Ansicht in Snowflake) an, das als Grundlage für eine LookML-Ansicht verwendet werden soll. So können Sie Analysemodelle nutzen, die direkt in Ihrer Datenbank definiert sind, z. B. BigQuery-Graphen oder semantische Ansichten in Snowflake.
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 mit regulären Datenbanktabellen, die mit sql_table_name als LookML-Ansichten verfügbar gemacht werden und nicht Looker unterliegen.
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 auf ein Analysemodell verweisen, indem Sie nur den Namen des Analysemodells verwenden, verwendet Looker den Standardsuchpfad (die Datenbank und das Schema), den Ihr Looker-Administrator in den Einstellungen für die Datenbankverbindung konfiguriert hat.
Wenn Sie auf ein Analysemodell in einer anderen Datenbank und einem anderen Schema verweisen müssen, das nicht im Standardsuchpfad des Datenbanknutzers enthalten ist, können Sie den Namen des Analysemodells mit dem <database_name>.<schema_name>.<analytic_model_name> Format eingrenzen, um auf eine andere Datenbank oder ein anderes Schema zu verweisen:
- Verwenden Sie
<schema_name>.<analytic_model_name>, um auf ein Analysemodell aus einem anderen Schema zu verweisen. - Verwenden Sie
<database_name>.<schema_name>.<analytic_model_name>, um auf ein Analysemodell aus einer anderen Datenbank zu verweisen.
Bei einer Google BigQuery-Verbindung können Sie auf ein Analysemodell in einem anderen Projekt und Dataset verweisen, indem Sie den Namen des Analysemodells mit dem Format <project_name>.<dataset_name>.<analytic_model_name> eingrenzen. Weitere Informationen finden Sie auf der Dokumentationsseite zur Google BigQuery-Verbindung.
LookML-Dimensionen und ‑Messwerte basierend auf Ihrer Analyseansicht erstellen
Nachdem Sie eine Ansichtsdatei erstellt und ein Analysemodell als sql_analytic_model_name angegeben haben, können Sie in derselben Ansichtsdatei LookML-Dimensionen und ‑Messwerte 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 zu Ihrem Dialekt. Wenn Sie beispielsweise eine LookML-Dimension aus einer BigQuery-Graph-Entität erstellen möchten, müssen Sie beim Eingrenzen Unterstriche verwenden, um Elemente 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 Ansicht von Snowflake basiert, müssen Sie den nicht qualifizierten Namen eines Messwerts oder einer Dimension verwenden.
Beispiel
Hier ist ein Beispiel für einen BigQuery-Graphen namens 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)
);
Und hier ist eine Beispiel-LookML-Ansicht, die auf dem BigQuery-Graphen StoreGraph basiert, einschließlich Dimensionen und Messwerten, die dem Graphen 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
Überlegungen zu Analysemodellen in Looker
Beachten Sie bei der Verwendung von Analysemodellen in der Datenbank die folgenden Überlegungen und Einschränkungen:
Datentypen:Für Dimensionen und Messwerte werden mit Analysemodellen nur die folgenden Datentypen unterstützt:
- Unterstützt für Dimensionen und Messwerte:
stringnumberdateyesno
- Nur für Dimensionen unterstützt:
timedate_time
- Unterstützt für Dimensionen und Messwerte:
Messwerte :
- Basismesswerte müssen vordefiniert sein:Basismesswerte müssen im zugrunde liegenden Analysemodell der Datenbank vordefiniert sein. Looker kann keinen neuen Basismesswert definieren, 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:Sie können den Parameter
sqleines LookML-Messwerts verwenden, um nicht aggregierte Berechnungen auszuführen, bei denen vordefinierte Basismesswerte aus dem Analysemodell verwendet werden. Wenn Sie einen Messwert erstellen, der auf anderen Messwerten basiert, können Sie den neuen Messwert nicht als aggregierten Messwerttyp 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 Analysemodell der Datenbank vordefiniert sein. Looker kann keinen neuen Basismesswert definieren, indem eine Aggregation (z. B.
Verknüpfungen:Ein Explore, dessen Basisansicht auf einem Analysemodell basiert, darf keine Verknüpfungen 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 Verknüpfungen:Funktionen, die auf impliziten Verknüpfungen basieren, werden für Analysemodelle nicht unterstützt. Beispiele für Funktionen, die auf impliziten Verknüpfungen basieren, sind benutzerdefinierte Kalender und Felder, die mit
type: location,type: distanceodertype: zipcodedefiniert sind.Die folgenden Funktionen werden mit Analysemodellen nicht unterstützt:
Auf das Analysemodell muss über die aktuelle Verbindung zugegriffen werden können
Wenn der sql_analytic_model_name Parameter in einem view-Objekt verwendet wird, kann auf dieses view-Objekt in einem explore-Objekt verwiesen werden, auf das wiederum in einem Modell-Objekt verwiesen wird. Das Modellobjekt enthält eine definierte Datenbank connection. Wenn Sie im Parameter sql_analytic_model_name auf ein Analysemodell verweisen, muss auf das Analysemodell über die zugehörige Verbindung zugegriffen werden können, die in der Modelldatei angegeben ist.
Die Standard-Datenbank und das Standard-Schema (oder bei Google BigQuery das Abrechnungsprojekt und das Dataset) werden von Ihrem Looker-Administrator definiert, wenn er die Looker-Verbindung zu Ihrer Datenbank erstellt.