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.
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 analytiqueCré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
successCré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
Analytics.create_auto('COSTS', False) // Output successSupprimer 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.
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.
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
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')
)
)
Rubrique parent : Utilisation de l'API Python Data Studio pour Autonomous Database