Funzioni vista analitica
La classe Adp.Analytics fornisce la sintassi e le descrizioni delle classi, dei metodi, degli attributi e dei parametri dell'interfaccia di programmazione dell'applicazione allo strumento Viste analitiche della suite di strumenti Data Studio. Se la vista analitica richiesta non esiste (eccetto la creazione), tutte le funzioni restituiscono il messaggio Analytic view does not exist.
Restituisce l'elenco dei nomi delle viste analitiche.
Analytics.get_list(owner)Parametri:
- Proprietario: questo campo visualizza il proprietario del database link. Se manca questo campo, lo strumento utilizza il proprietario dello schema corrente.
Esempio
In questo esempio è possibile visualizzare l'elenco delle viste analitiche.
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"
}
},...
]
}Procedura di creazione della vista analiticaCreare la vista analitica in base all'elenco di tabelle dimensione e all'elenco di misure.
Sintassi
Analytics.create(fact_table, dimensions, measures, av_name,
owner)Parametri:
- fact_table: il nome della tabella fact.
- dimensioni è la lista di nomi di tabella delle dimensioni. Se la tabella dimensioni non dispone di join con alcuna tabella fact, restituisce l'errore.
- misure: questo campo specifica la lista delle colonne della fact table che verranno utilizzate per l'aggregazione.
- av_name: questo campo è un nome di vista analitica. Se questo parametro non è presente, utilizzare il nome predefinito della vista analitica in base al nome della tabella fact "<fact_table>_AV".
- Proprietario: questo campo visualizza il proprietario della vista analitica. Se manca questo campo, lo strumento utilizza il proprietario dello schema corrente.
Esempio
In questo esempio è possibile creare la vista analitica in base a quattro dimensioni e due misure:
tables = ["CHANNELS","PRODUCTS","PROMOTIONS","TIMES"]
measures = [ 'UNIT_COST', 'UNIT_PRICE']
adp.Analytics.create('COSTS', tables, measures)
// Output
successProcedura di creazione automatica della vista analitica
Creare la vista analitica in base alla fact table. Le misure vengono selezionate automaticamente in base alle colonne della fact table. Le dimensioni vengono selezionate dalle tabelle dimensioni appropriate.
La funzione utilizza il nome predefinito della vista analitica basato sul nome della tabella fact: "<fact_table>_AV".
Sintassi
Analytics.create_auto(fact_table, skip_dimensions,
owner)Parametri:
- fact_table: il nome della tabella fact.
- skip_dimensions: se il valore del campo è True, le colonne della tabella fact vengono selezionate come dimensioni. Il valore predefinito è False.
- Proprietario: questo campo visualizza il proprietario della vista analitica. Se manca questo campo, lo strumento utilizza il proprietario dello schema corrente.
Esempio
Analytics.create_auto('COSTS', False) // Output successProcedura di eliminazione della vista analitica
Elimina la vista analitica con il nome specificato
Sintassi
Analytics.drop(model_name, delete_objects)Parametri:
- nome_modello: il nome della vista analitica.
- delete_objects: se il valore del campo è True, tutti gli oggetti correlati (dimensioni e misure) verranno eliminati. Il valore predefinito è False.
Esempio
In questo esempio è possibile eliminare la vista analitica:
adp.Analytics.drop('COSTS_AV', True)Procedura di compilazione della vista analitica
Compilare la vista analitica. Ottimizza la query per recuperare in modo efficiente i dati dalle tabelle fact.
Analytics.compile(av_name, owner)Parametri:
- av_name: il nome della vista analitica.
- Proprietario: questo campo visualizza il proprietario della vista analitica. Se manca questo campo, lo strumento utilizza il proprietario dello schema corrente.
Esempio
In questo esempio è possibile compilare la vista analitica:
adp.Analytics.compile('COSTS_AV')Procedura di recupero elenco misure
Recupera l'elenco delle misure dalla vista analitica specificata.
Sintassi
Analytics.get_measures_list(av_name, owner)Parametri:
- av_name: il nome della vista analitica.
- Proprietario: questo campo visualizza il proprietario della vista analitica. Se manca questo campo, lo strumento utilizza il proprietario dello schema corrente.
Esempio
In questo esempio è possibile ottenere l'elenco delle misure della vista analitica.
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"
}
},...
]
}Ottieni procedura anteprima
Restituisce i metadati della vista analitica (gerarchie (nome e didascalia) e delle misure), i dati aggregati e la query SQL per la selezione dei dati dalla vista analitica.
Sintassi
Analytics.get_data_preview(entity_name, owner)Parametri:
- nome_entità: il nome della vista analitica.
- Proprietario: questo campo visualizza il proprietario della vista analitica. Se manca questo campo, lo strumento utilizza il proprietario dello schema corrente.
Esempio
In questo esempio è possibile ottenere i dati di anteprima della vista analitica:
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": "..."
}Procedura recupero metadati
Restituisce i metadati dettagliati della vista analitica.
Sintassi
Analytics.get_metadata(av_name, owner)Parametri:
- av_name: il nome della vista analitica.
- Proprietario: questo campo visualizza il proprietario della vista analitica. Se manca questo campo, lo strumento utilizza il proprietario dello schema corrente.
Restituisce i metadati dettagliati della vista analitica nello schema del proprietario (se manca o è impostato su Nessuno, utilizzare lo schema corrente).
Esempio
In questo esempio è possibile ottenere i metadati della vista analitica.
adp.Analytics.get_metadata('COSTS_AV')Procedura nomi dimensione
Restituisce l'array dei nomi delle dimensioni della vista analitica
Sintassi
Analytics.get_dimension_names(av_name)Parametri:
- av_name: il nome della vista analitica.
Esempio
In questo esempio è possibile ottenere i nomi delle dimensioni della vista analitica.
adp.Analytics.get_dimension_names('COSTS_AV')Procedura nome tabella fact
Restituisce il nome della fact table della vista analitica.
Analytics.get_fact_table_name(av_name)Parametri:
- av_name: il nome della vista analitica.
Esempio
In questo esempio è possibile ottenere il nome della fact table della vista analitica.
adp.Analytics.get_fact_table_name('COSTS_AV')Procedura di recupero delle classi di errore dalle dimensioni
Restituisce le informazioni sugli errori nella dimensione specificata durante l'analisi della vista analitica. Questo metodo viene utilizzato per verificare che la dimensione della vista analitica non contenga errori. In caso di errore ERROR_COUNT non è 0 e errorData non è vuoto e contiene ERROR_MESSAGE (rappresentazione del testo dell'errore), ERROR_NUMBER (codice di errore Oracle).
Sintassi
Analytics.get_error_classes_from_dim(av_name,
dimension)Parametri:
- av_name: il nome della vista analitica.
- dimensione: nome della dimensione.
Esempio
In questo esempio è possibile ottenere il nome delle classi di errore delle dimensioni della vista analitica.
adp.Analytics.get_error_classes_from_dim('COSTS_AV', 'CHANNELS')Procedura Recupera classi di errore da tabella fatti
Restituisce le informazioni sugli errori nella fact table specificata durante l'analisi della vista analitica. Questo metodo viene utilizzato per verificare che la fact table della vista analitica non contenga errori. In caso di errore, ERROR_COUNT non è 0 e errorData non è vuoto e contiene ERROR_MESSAGE (rappresentazione del testo dell'errore) e ERROR_NUMBER (codice di errore Oracle).
Sintassi
Analytics.get_error_classes_from_fact_tab(av_name,
fact_tab)Parametri:
- av_name: il nome della vista analitica.
- fact_table: il nome della tabella fact.
Esempio
adp.Analytics.get_error_classes_from_fact_tab('COSTS_AV', 'COSTS')Restituisce le informazioni sugli errori nella fact table specificata durante l'analisi della vista analitica. Questo metodo viene utilizzato per verificare che la fact table della vista analitica non contenga errori. In caso di errore ERROR_COUNT non è 0 e errorData non è vuoto e contiene ERROR_MESSAGE (rappresentazione del testo dell'errore) e ERROR_NUMBER (codice di errore Oracle).
Procedura report qualità
Restituisce le informazioni sugli errori nella vista analitica specificata da av_name. Questo metodo controlla la tabella dei fatti e le dimensioni della vista analitica. In caso di errore, la rappresentazione del testo degli errori è inclusa nel report.
Sintassi
Analytics.quality_report(av_name)Parametri:
- av_name: il nome della vista analitica.
Esempio
In questo esempio è possibile ottenere il report qualità della vista analitica.
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"
]Procedura recupero dati
Restituisce i dati aggregati dalla vista analitica. Il valore restituito è l'elenco dei risultati della query.
Sintassi
Analytics.get_data(levels, column_names, entity_name, hierarchies,
measures, where_condition, owner)Parametri:
- livelli: il livello della vista analitica.
- nomi_colonna: l'array di colonne.
- nome_entità: il nome della vista analitica.
- gerarchie: l'array delle gerarchie selezionate.
- misure: l'array di misure.
- where_condition: è l'array di condizioni, ogni condizione dispone di 4 campi: gerarchia, colonna, operatore e valore.
- Proprietario: questo campo visualizza il proprietario della vista analitica. Se manca questo campo, lo strumento utilizza il proprietario dello schema corrente.
Esempio
In questo esempio è possibile ottenere il report qualità della vista analitica.
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},...},Procedura query SQL
Restituisce la query SQL utilizzata in get_data.
Sintassi
Analytics.get_sql(levels, column_names, entity_name, hierarchies,
measures, where_condition, owner)Parametri:
- livelli: il livello della vista analitica.
- nomi_colonna: l'array di colonne.
- nome_entità: il nome della vista analitica.
- gerarchie: l'array delle gerarchie selezionate.
- misure: l'array di misure.
- where_condition: è l'array di condizioni, ogni condizione dispone di 4 campi: gerarchia, colonna, operatore e valore.
- Proprietario: questo campo visualizza il proprietario della vista analitica. Se manca questo campo, lo strumento utilizza il proprietario dello schema corrente.
Esempio
In questo esempio è possibile ottenere SQL per i dati aggregati della vista analitica.
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')
)
)
Argomento padre: Utilizzo dell'API di Python Data Studio per Autonomous Database