Fonctions de vue analytique

La classe Adp.Analytics fournit la syntaxe et les descriptions des classes, méthodes, attributs et paramètres de l'interface de programmation d'application à l'outil Vues analytiques de la suite d'outils Data Studio. Si la vue analytique demandée n'existe pas (sauf la création), toutes les fonctions renvoient le message Analytic view does not exist.

Liste des noms de vue analytique - Procédure

Renvoie la liste des noms de vue analytique.

Analytics.get_list(owner)

Paramètres:

  • owner : Ce champ affiche le propriétaire du lien de base de données. Si ce champ est manquant, l'outil utilise le propriétaire de schéma actuel.

Exemple

Dans cet exemple, vous pouvez afficher la liste des vues analytiques :

Analytics.get_list()
 
{
  "nodes": [
    {
      "label": "ANALYTIC_VIEW1",
      "type": "ANALYTIC_VIEW",
      "id": "\"ADMIN\".\"DB\".\"ANALYTIC_VIEW1\"",
      "data": {
        "name": "ANALYTIC_VIEW1",
        "namespace": "DB",
        "path": "\"DB\".\"ANALYTIC_VIEW1\"",
        "schema": "ADMIN",
        "classifications": {
          "CAPTION": "Analytic View1",
          "DESCRIPTION": "Analytic View1"
        },
        "application": "DATABASE",
        "created": "2021-06-09T14:19:06Z",
        "updated": "2021-06-15T10:23:07Z"
      }
    },...
    ]
}

Créer la procédure de vue analytique

Créez la vue analytique en fonction de la liste des tables de dimension et des mesures.

Syntaxe

Analytics.create(fact_table, dimensions, measures, av_name,
                        owner)

Paramètres:

  • fact_table : nom de la table de faits.
  • dimensions est la liste des noms de table de dimensions. Si la table de dimension ne comporte aucune jointure avec aucune clé de la table de faits, génère l'erreur.
  • mesures : ce champ indique la liste des colonnes de table de faits qui seront utilisées pour l'agrégation.
  • av_name : Ce champ est un nom de vue analytique. Si ce paramètre est manquant, utilisez le nom de vue analytique par défaut basé sur le nom de la table de faits : "<fact_table>_AV".
  • propriétaire : Ce champ affiche le propriétaire de la vue analytique. Si ce champ est manquant, l'outil utilise le propriétaire de schéma actuel.

Exemple

Dans cet exemple, vous pouvez créer la vue analytique en fonction de quatre dimensions et de deux mesures :

tables = ["CHANNELS","PRODUCTS","PROMOTIONS","TIMES"]
measures = [ 'UNIT_COST', 'UNIT_PRICE']
adp.Analytics.create('COSTS', tables, measures)
 
// Output
 
success

Créer automatiquement la vue analytique - Procédure

Créez la vue analytique à partir de la table de faits. Les mesures sont sélectionnées automatiquement en fonction des colonnes de la table de faits. Les dimensions sont sélectionnées à partir des tables de dimensions appropriées.

La fonction utilise le nom de vue analytique par défaut en fonction du nom de la table de faits : "<fact_table>_AV".

Syntaxe

Analytics.create_auto(fact_table, skip_dimensions,
                      owner)

Paramètres:

  • fact_table : nom de la table de faits.
  • skip_dimensions : Si la valeur du champ est True, les colonnes de la table de faits sont sélectionnées en tant que dimensions. Valeur par défaut : False.
  • propriétaire : Ce champ affiche le propriétaire de la vue analytique. Si ce champ est manquant, l'outil utilise le propriétaire de schéma actuel.

Exemple

Dans cet exemple, vous pouvez créer la vue analytique :
Analytics.create_auto('COSTS', False) // Output success

Supprimer la vue analytique - Procédure

Supprimer la vue analytique portant le nom indiqué

Syntaxe

Analytics.drop(model_name, delete_objects)

Paramètres:

  • model_name : nom de la vue analytique.
  • delete_objects : Si la valeur du champ est True, tous les objets liés (dimensions et mesures) seront supprimés. Valeur par défaut : False.

Exemple

Dans cet exemple, vous pouvez supprimer la vue analytique :

adp.Analytics.drop('COSTS_AV', True)

Compiler la vue analytique - Procédure

Compilez la vue analytique. Il optimise l'interrogation pour extraire efficacement les données des tables de faits.

Syntaxe
Analytics.compile(av_name, owner)

Paramètres:

  • av_name : nom de la vue analytique.
  • propriétaire : Ce champ affiche le propriétaire de la vue analytique. Si ce champ est manquant, l'outil utilise le propriétaire de schéma actuel.

Exemple

Dans cet exemple, vous pouvez compiler la vue analytique :

adp.Analytics.compile('COSTS_AV')

Obtenir la liste des mesures - Procédure

Obtenir la liste des mesures à partir de la vue analytique indiquée.

Syntaxe

Analytics.get_measures_list(av_name, owner)

Paramètres:

  • av_name : nom de la vue analytique.
  • propriétaire : Ce champ affiche le propriétaire de la vue analytique. Si ce champ est manquant, l'outil utilise le propriétaire de schéma actuel.

Exemple

Dans cet exemple, vous pouvez obtenir la liste des mesures de la vue analytique :

adp.Analytics.get_measures_list('COSTS_AV')
 
// Output
 
{
  "nodes": [
    {
      "label": "UNIT_COST",
      "type": "MEASURE",
      "id": "\"ADMIN\".\"DB\".\"COSTS_AV\".\"MEASURE\".\"UNIT_COST\"",
      "data": {
        "name": "UNIT_COST",
        "namespace": "MEASURE",
        "path": "\"DB\".\"COSTS_AV\".\"MEASURE\".\"UNIT_COST\"",
        "schema": "ADMIN",
        "application": "DATABASE",
        "created": "2022-08-16T17:04:08Z",
        "updated": "2022-08-16T17:04:08Z"
      }
    },...
    ]
}

Obtenir un aperçu de la procédure

Renvoie les métadonnées de la vue analytique (hiérarchies (nom et légende) et des mesures), les données agrégées et la requête SQL permettant de sélectionner des données dans la vue analytique.

Syntaxe

Analytics.get_data_preview(entity_name, owner)

Paramètres:

  • entity_name : nom de la vue analytique.
  • propriétaire : Ce champ affiche le propriétaire de la vue analytique. Si ce champ est manquant, l'outil utilise le propriétaire de schéma actuel.

Exemple

Dans cet exemple, vous pouvez obtenir des données d'aperçu de la vue analytique :

adp.Analytics.get_data_preview('COSTS_AV')
 
// Output
 
{
  "av": "COSTS_AV",
  "caption": null,
  "description": null,
  "metadata": {
    "hierarchies": [
      {
        "name": "CHANNEL_ID",
        "caption": "CHANNEL_ID"
      },
      {
        "name": "PROD_ID",
        "caption": "PROD_ID"
      }
    ],
    "measures": [
      {
        "name": "UNIT_COST",
        "caption": "UNIT_COST"
      },
      {
        "name": "UNIT_PRICE",
        "caption": "UNIT_PRICE"
      }
    ]
  },
  "data": [...],
  "SQL": "..."
}

Procédure d'obtention des métadonnées

Renvoyer les métadonnées détaillées de la vue analytique.

Syntaxe

Analytics.get_metadata(av_name, owner)

Paramètres:

  • av_name : nom de la vue analytique.
  • propriétaire : Ce champ affiche le propriétaire de la vue analytique. Si ce champ est manquant, l'outil utilise le propriétaire de schéma actuel.

Renvoyer les métadonnées détaillées de la vue analytique dans le schéma du propriétaire (si elle est manquante ou définie sur Aucun, utilisez le schéma en cours).

Exemple

Dans cet exemple, vous pouvez obtenir les métadonnées de la vue analytique :

adp.Analytics.get_metadata('COSTS_AV')

Procédure de noms de dimension

Renvoie le tableau des noms de dimension de la vue analytique

Syntaxe

Analytics.get_dimension_names(av_name)

Paramètres:

  • av_name : nom de la vue analytique.

Exemple

Dans cet exemple, vous pouvez obtenir les noms de dimension de la vue analytique :

adp.Analytics.get_dimension_names('COSTS_AV')

Procédure de nom de la table de faits

Renvoie le nom de la table de faits de la vue analytique.

Syntaxe
Analytics.get_fact_table_name(av_name)

Paramètres:

  • av_name : nom de la vue analytique.

Exemple

Dans cet exemple, vous pouvez obtenir le nom de la table de faits de la vue analytique :

adp.Analytics.get_fact_table_name('COSTS_AV')

Obtenir les classes d'erreur à partir des dimensions - Procédure

Renvoyer les informations sur les erreurs dans la dimension spécifiée lors de l'analyse de la vue analytique. Cette méthode permet de vérifier que la dimension de la vue analytique ne comporte aucune erreur. Dans le cas d'une erreur ERROR_COUNT n'est pas égal à 0, et errorData n'est pas vide et contient ERROR_MESSAGE (représentation textuelle de l'erreur), ERROR_NUMBER (code d'erreur Oracle).

Syntaxe

Analytics.get_error_classes_from_dim(av_name,
                      dimension)

Paramètres:

  • av_name : nom de la vue analytique.
  • dimension : nom de la dimension.

Exemple

Dans cet exemple, vous pouvez obtenir le nom des classes d'erreur des dimensions de la vue analytique :

adp.Analytics.get_error_classes_from_dim('COSTS_AV', 'CHANNELS')

Obtenir les classes d'erreur à partir de la table de faits - Procédure

Renvoyer les informations sur les erreurs dans la table de faits spécifiée lors de l'analyse de la vue analytique. Cette méthode permet de vérifier que la table de faits de la vue analytique ne comporte aucune erreur. Dans le cas d'une erreur, ERROR_COUNT n'est pas égal à 0 et errorData n'est pas vide. Il contient ERROR_MESSAGE (représentation textuelle de l'erreur) et ERROR_NUMBER (code d'erreur Oracle).

Syntaxe

Analytics.get_error_classes_from_fact_tab(av_name,
                      fact_tab)

Paramètres:

  • av_name : nom de la vue analytique.
  • fact_table : nom de la table de faits.

Exemple

Dans cet exemple, vous pouvez obtenir les classes d'erreur du nom de la table de faits de la vue analytique :
adp.Analytics.get_error_classes_from_fact_tab('COSTS_AV', 'COSTS')

Renvoyer les informations sur les erreurs dans la table de faits spécifiée lors de l'analyse de la vue analytique. Cette méthode permet de vérifier que la table de faits de la vue analytique ne comporte aucune erreur. Dans le cas d'une erreur ERROR_COUNT n'est pas égal à 0, et errorData n'est pas vide et contient ERROR_MESSAGE (représentation textuelle de l'erreur) et ERROR_NUMBER (code d'erreur Oracle).

Procédure de rapport qualité

Renvoie les informations sur les erreurs dans la vue analytique indiquée par av_name. Cette méthode vérifie la table de faits et les dimensions de la vue analytique. En cas d'erreur, la représentation des erreurs est incluse dans le rapport.

Syntaxe

Analytics.quality_report(av_name)

Paramètres:

  • av_name : nom de la vue analytique.

Exemple

Dans cet exemple, vous pouvez obtenir un rapport qualité de la vue analytique :

adp.Analytics.quality_report('COSTS_AV')
 
// Output
 
[
    "Fact table COSTS has no errors",
    "Dimension COSTS_AV_CHANNELS_AD has no errors",
    "Dimension COSTS_AV_PRODUCTS_AD has no errors",
    "Dimension COSTS_AV_PROMOTIONS_AD has no errors",
    "Dimension COSTS_AV_TIMES_AD has no errors"
]

Procédure d'obtention de données

Renvoie les données agrégées de la vue analytique. La valeur renvoyée correspond à la liste des résultats de la requête.

Syntaxe

Analytics.get_data(levels, column_names, entity_name, hierarchies,
                          measures, where_condition, owner)

Paramètres:

  • levels : Niveau de la vue analytique.
  • column_names : tableau de colonnes.
  • entity_name : nom de la vue analytique.
  • hiérarchies : tableau des hiérarchies sélectionnées.
  • measures : tableau de mesures.
  • where_condition : tableau de conditions, chaque condition comporte 4 champs : hierarchy, column, operator et value.
  • propriétaire : Ce champ affiche le propriétaire de la vue analytique. Si ce champ est manquant, l'outil utilise le propriétaire de schéma actuel.

Exemple

Dans cet exemple, vous pouvez obtenir un rapport qualité de la vue analytique :

adp.Analytics.get_data(True,
    ["COSTS_AV_PROD_HIER_PROD_ID_ATTR",
     "UNIT_COST",
     "COSTS_AV_PROD_HIER_DEPTH"], 'COSTS_AV',
     ["COSTS_AV_PROD_ID_HIER"],
     ["UNIT_COST", "UNIT_PRICE"],
    [{"hierarchy": "COSTS_AV_PROD_ID_HIER", "column": "LEVEL_NAME", "operator": "=", "value": "ALL:PROD_ID"}])
 
//Output
 
[{"UNIT_COST":808685.68},{"UNIT_COST":213170.06},{"UNIT_COST":16778.02},...},

Procédure de requête SQL

Renvoyer la requête SQL utilisée dans get_data.

Syntaxe

Analytics.get_sql(levels, column_names, entity_name, hierarchies,
                          measures, where_condition, owner)

Paramètres:

  • levels : Niveau de la vue analytique.
  • column_names : tableau de colonnes.
  • entity_name : nom de la vue analytique.
  • hiérarchies : tableau des hiérarchies sélectionnées.
  • measures : tableau de mesures.
  • where_condition : tableau de conditions, chaque condition comporte 4 champs : hierarchy, column, operator et value.
  • propriétaire : Ce champ affiche le propriétaire de la vue analytique. Si ce champ est manquant, l'outil utilise le propriétaire de schéma actuel.

Exemple

Dans cet exemple, vous pouvez obtenir des instructions SQL pour les données agrégées de la vue analytique :

adp.Analytics.get_sql(True,
    ["COSTS_AV_PROD_HIER_PROD_ID_ATTR",
     "UNIT_COST",
     "COSTS_AV_PROD_HIER_DEPTH"], 'COSTS_AV',
     ["COSTS_AV_PROD_ID_HIER"],
     ["UNIT_COST", "UNIT_PRICE"],
    [{"hierarchy": "COSTS_AV_PROD_ID_HIER", "column": "LEVEL_NAME", "operator": "=", "value": "ALL:PROD_ID"})
 
//Output
 
SELECT
  "MEASURES"."UNIT_COST" AS "UNIT_COST"
FROM "ADMIN"."COSTS_AV" HIERARCHIES(
    "PROD_ID"."PROD_ID")
WHERE
  (
    (
      "PROD_ID"."PROD_ID"."LEVEL_NAME" IN ('ALL', 'PROD_ID')
    )
  )