sql_analytic_model_name (pour les vues)

Cette page fait référence au sql_analytic_model_name paramètre qui fait partie d'une vue.

sql_analytic_model_name peut également être utilisé dans une exploration, comme décrit sur la page de documentation du paramètre sql_analytic_model_name (pour les explorations).

Utilisation

view: view_name {
  sql_analytic_model_name: analytic_model_name ;;
}
Hiérarchie
sql_analytic_model_name
Valeur par défaut
Aucun

Acceptation
Nom d'un modèle analytique dans la base de données

Règles spéciales
  • Les modèles analytiques ne sont compatibles qu'avec les connexions BigQuery et Snowflake.
  • Le modèle analytique référencé par sql_analytic_model_name doit être accessible dans la connexion à la base de données de son modèle.
  • Si le modèle analytique se trouve dans une base de données, un schéma, un projet ou un ensemble de données différent du chemin par défaut que vous avez défini dans votre connexion à la base de données, vous devez définir le champ d'application du nom du modèle analytique.

Définition

Pour les connexions BigQuery et Snowflake, le paramètre sql_analytic_model_name spécifie le nom d'un modèle analytique existant dans la base de données (un graphique BigQuery ou une vue sémantique dans Snowflake) à utiliser comme base pour une vue LookML. Cela vous permet d'exploiter des modèles analytiques définis directement dans votre base de données, tels que des graphiques BigQuery ou des vues sémantiques dans Snowflake.

Dans ce scénario, l'objet de modèle analytique existe déjà dans votre base de données et est géré par celle-ci. Le modèle analytique n'est pas créé, géré ni contrôlé par Looker. Cela est analogue à la façon dont les tables de base de données standards exposées en tant que vues LookML à l'aide de sql_table_name ne sont pas contrôlées par Looker.

Dans le fichier d'affichage LookML, utilisez le paramètre sql_analytic_model_name pour indiquer à Looker le modèle analytique de votre base de données. Créez ensuite des dimensions et des mesures Looker à mapper au modèle analytique afin de pouvoir utiliser Looker pour interroger le modèle analytique.

Définir le champ d'application des noms de modèles analytiques

Lorsque vous référencez un modèle analytique en utilisant uniquement son nom, Looker utilise le chemin de recherche par défaut (la base de données et le schéma) que votre administrateur Looker a configuré dans les paramètres de la connexion à la base de données.

Si vous devez référencer un modèle analytique dans une base de données et un schéma différents qui ne figurent pas dans le chemin de recherche par défaut de l'utilisateur de la base de données, vous pouvez définir le champ d'application du nom du modèle analytique en utilisant le format <database_name>.<schema_name>.<analytic_model_name> pour pointer vers une autre base de données ou un autre schéma :

  • Pour référencer un modèle analytique à partir d'un autre schéma, utilisez <schema_name>.<analytic_model_name>.
  • Pour référencer un modèle analytique à partir d'une autre base de données, utilisez le format complet <database_name>.<schema_name>.<analytic_model_name>.

Pour une connexion Google BigQuery, vous pouvez référencer un modèle analytique dans un autre projet et un autre ensemble de données en définissant le champ d'application du nom du modèle analytique au format <project_name>.<dataset_name>.<analytic_model_name>. Pour en savoir plus, consultez la page de documentation sur la connexion Google BigQuery.

Créer des dimensions et des mesures LookML en fonction de votre vue analytique

Une fois que vous avez créé un fichier de vue et identifié un modèle analytique comme sql_analytic_model_name, vous pouvez définir dans le même fichier de vue des dimensions et des mesures LookML basées sur le modèle analytique.

Consultez la documentation de votre dialecte pour obtenir des informations sur la syntaxe SQL appropriée à utiliser pour faire référence à des éléments de votre modèle analytique. Par exemple, pour créer une dimension LookML à partir d'une entité BigQuery Graph, vous devez utiliser des traits de soulignement pour séparer les éléments lors de la définition du champ d'application. Par exemple, pour BigQuery Graph, cette dimension LookML est basée sur la propriété location_id dans la table de nœuds Stores :

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

Toutefois, pour créer une dimension LookML basée sur une vue sémantique Snowflake, vous devez utiliser le nom non qualifié d'une métrique ou d'une dimension.

Exemple

Voici un exemple de graphique BigQuery nommé StoreGraph qui est défini sur une base de données BigQuery :

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)
  );

Voici un exemple de vue LookML basée sur le graphique BigQuery StoreGraph, y compris les dimensions et les mesures mappées au graphique :

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 ;;
  }
}

Éléments à prendre en compte

Considérations concernant les modèles analytiques dans Looker

Lorsque vous utilisez des modèles analytiques dans une base de données, tenez compte des considérations et des limites suivantes :

  • Types de données : seuls les types de données suivants pour les dimensions et les mesures sont compatibles avec les modèles analytiques :

    • Types compatibles avec les dimensions et les mesures :
      • string
      • number
      • date
      • yesno
    • Types compatibles uniquement avec les dimensions :
      • time
      • date_time
  • Mesures :

    • Les mesures de base doivent être prédéfinies : les mesures de base doivent être prédéfinies dans le modèle analytique de la base de données sous-jacente. Looker ne peut pas définir de nouvelle mesure de base en effectuant une agrégation (telle que type: sum ou type: count) sur une dimension à partir d'un modèle analytique.
    • Les mesures basées sur d'autres mesures sont compatibles : vous pouvez utiliser le paramètre sql d'une mesure LookML pour effectuer des calculs non agrégés qui utilisent des mesures de base prédéfinies à partir du modèle analytique. Lorsque vous créez une mesure basée sur d'autres mesures, vous ne pouvez pas définir la nouvelle mesure comme un type de mesure agrégée tel que sum ou count. Vous devez définir la nouvelle mesure comme un type de mesure non agrégée, tel que string, number, date, ou yesno. Consultez l'exemple ci-dessous :

      measure: average_order_amount {
        type: number
        sql: ROUND(${total_order_amount} / NULLIF(${count_orders}, 0), 2) ;;
      }
      
  • Jointures : une exploration dont la vue de base est basée sur un modèle analytique ne peut pas inclure de jointures. De même, une vue basée sur un modèle analytique ne peut pas être jointe à une exploration qui comporte une vue de base LookML standard.

  • Jointures implicites : les fonctionnalités qui reposent sur des jointures implicites ne sont pas compatibles avec les modèles analytiques. Par exemple, les fonctionnalités qui reposent sur des jointures implicites sont les calendriers personnalisés et les champs définis avec type: location, type: distance ou type: zipcode.

  • Les fonctionnalités suivantes ne sont pas compatibles avec les modèles analytiques :

Le modèle analytique doit être accessible à partir de la connexion actuelle

Lorsque le paramètre sql_analytic_model_name est utilisé dans un objet view, cet objet view peut être référencé dans un objet explore, qui est à son tour référencé dans un objet modèle. L'objet de modèle comporte une base de données connection définie. Lorsque vous référencez un modèle analytique dans le paramètre sql_analytic_model_name, le modèle analytique doit être accessible dans la connexion associée spécifiée dans le fichier de modèle.

La base de données et le schéma par défaut (ou, pour Google BigQuery, le projet de facturation et l'ensemble de données) sont définis par votre administrateur Looker lorsqu'il crée la connexion Looker à votre base de données.