分析ビュー関数
クラスAdp.Analyticsは、Data Studio Suiteのツールの分析ビュー・ツールに対するアプリケーション・プログラミング・インタフェースのクラス、メソッド、属性およびパラメータの構文と説明を提供します。要求された分析ビューが存在しない場合(作成を除く)、すべての関数はAnalytic view does not existメッセージを返します。
分析ビュー名のリストを返します。
Analytics.get_list(owner)パラメータ:
- owner: このフィールドには、データベース・リンクの所有者が表示されます。このフィールドがない場合、ツールは現在のスキーマ所有者を使用します。
例
この例では、分析ビューのリストを表示できます。
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"
}
},...
]
}分析ビュー・プロシージャの作成ディメンション表のリストおよびメジャーのリストに基づいて分析ビューを作成します。
構文
Analytics.create(fact_table, dimensions, measures, av_name,
owner)パラメータ:
- fact_table: ファクト表の名前です。
- 「ディメンション」は、ディメンション表名のリストです。ディメンション表にファクト表のキーとの結合がない場合は、エラーがスローされます。
- メジャー: このフィールドは、集計に使用されるファクト表の列のリストを指定します。
- av_name: このフィールドは分析ビュー名です。このパラメータがない場合は、ファクト表の名前に基づくデフォルトの分析ビュー名"<fact_table>_AV"を使用します。
- owner: このフィールドには、分析ビューの所有者が表示されます。このフィールドがない場合、ツールは現在のスキーマ所有者を使用します。
例
この例では、4つのディメンションと2つのメジャーに基づいて分析ビューを作成できます。
tables = ["CHANNELS","PRODUCTS","PROMOTIONS","TIMES"]
measures = [ 'UNIT_COST', 'UNIT_PRICE']
adp.Analytics.create('COSTS', tables, measures)
// Output
success分析ビューの自動作成プロシージャ
ファクト表に基づいて分析ビューを作成します。メジャーは、ファクト表の列に基づいて自動的に選択されます。ディメンションは、適切なディメンション表から選択されます。
このファンクションでは、ファクト表の名前(<fact_table>_AV)に基づいて、デフォルトの分析ビュー名が使用されます。
構文
Analytics.create_auto(fact_table, skip_dimensions,
owner)パラメータ:
- fact_table: ファクト表の名前です。
- skip_dimensions: フィールド値がTrueの場合、ファクト表の列がディメンションとして選択されます。デフォルトの値はFalseです。
- owner: このフィールドには、分析ビューの所有者が表示されます。このフィールドがない場合、ツールは現在のスキーマ所有者を使用します。
例
Analytics.create_auto('COSTS', False) // Output success分析ビューの削除プロシージャ
指定された名前の分析ビューを削除します
構文
Analytics.drop(model_name, delete_objects)パラメータ:
- model_name: 分析ビューの名前です。
- delete_objects: フィールド値がTrueの場合、すべての関連オブジェクト(ディメンションおよびメジャー)が削除されます。デフォルトの値はFalseです。
例
この例では、分析ビューを削除できます。
adp.Analytics.drop('COSTS_AV', True)分析ビューのコンパイル手順
分析ビューをコンパイルします。問合せを最適化して、ファクト表からデータを効率的に取得します。
Analytics.compile(av_name, owner)パラメータ:
- av_name: 分析ビューの名前です。
- owner: このフィールドには、分析ビューの所有者が表示されます。このフィールドがない場合、ツールは現在のスキーマ所有者を使用します。
例
この例では、分析ビューをコンパイルできます。
adp.Analytics.compile('COSTS_AV')メジャー・リスト取得プロシージャ
指定された分析ビューからメジャーのリストを取得します。
構文
Analytics.get_measures_list(av_name, owner)パラメータ:
- av_name: 分析ビューの名前です。
- owner: このフィールドには、分析ビューの所有者が表示されます。このフィールドがない場合、ツールは現在のスキーマ所有者を使用します。
例
この例では、分析ビューのメジャー・リストを取得できます。
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"
}
},...
]
}プレビュー・プロシージャの取得
分析ビューからデータを選択するための分析ビュー(階層(名前とキャプション)およびメジャー)、集計データおよびSQL問合せのメタデータを返します。
構文
Analytics.get_data_preview(entity_name, owner)パラメータ:
- entity_name: 分析ビューの名前です。
- owner: このフィールドには、分析ビューの所有者が表示されます。このフィールドがない場合、ツールは現在のスキーマ所有者を使用します。
例
この例では、分析ビューのプレビュー・データを取得できます。
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": "..."
}メタデータ・プロシージャの取得
分析ビューの詳細メタデータを返します。
構文
Analytics.get_metadata(av_name, owner)パラメータ:
- av_name: 分析ビューの名前です。
- owner: このフィールドには、分析ビューの所有者が表示されます。このフィールドがない場合、ツールは現在のスキーマ所有者を使用します。
所有者のスキーマ内の分析ビューの詳細メタデータが戻されます(所有者が欠落しているか、Noneに設定されている場合、現在のスキーマを使用します)。
例
この例では、分析ビューのメタデータを取得できます。
adp.Analytics.get_metadata('COSTS_AV')ディメンション名プロシージャ
分析ビューのディメンション名の配列を返します
構文
Analytics.get_dimension_names(av_name)パラメータ:
- av_name: 分析ビューの名前です。
例
この例では、分析ビューのディメンション名を取得できます。
adp.Analytics.get_dimension_names('COSTS_AV')ファクト表名のプロシージャ
分析ビューのファクト表の名前を返します。
Analytics.get_fact_table_name(av_name)パラメータ:
- av_name: 分析ビューの名前。
例
この例では、分析ビューのファクト表の名前を取得できます。
adp.Analytics.get_fact_table_name('COSTS_AV')ディメンションからのエラー・クラスの取得プロシージャ
分析ビューの分析中に指定されたディメンションのエラーに関する情報が戻されます。このメソッドは、分析ビューのディメンションにエラーがないことをチェックするために使用されます。エラーERROR_COUNTが0でなく、errorDataが空でなく、ERROR_MESSAGE (エラーのテキスト表現)、ERROR_NUMBER(Oracleエラー・コード)が含まれています。
構文
Analytics.get_error_classes_from_dim(av_name,
dimension)パラメータ:
- av_name: 分析ビューの名前。
- ディメンション: ディメンション名。
例
この例では、分析ビューのディメンションのエラー・クラス名を取得できます。
adp.Analytics.get_error_classes_from_dim('COSTS_AV', 'CHANNELS')ファクト表からのエラー・クラスの取得プロシージャ
分析ビューの分析中に指定されたファクト表のエラーに関する情報が戻されます。このメソッドは、分析ビューのファクト表にエラーがないことを確認するために使用されます。エラーの場合、ERROR_COUNTが0ではなく、errorDataが空ではなく、ERROR_MESSAGE (エラーのテキスト表現)およびERROR_NUMBER (Oracleエラー・コード)が含まれます。
構文
Analytics.get_error_classes_from_fact_tab(av_name,
fact_tab)パラメータ:
- av_name: 分析ビューの名前です。
- fact_table: ファクト表の名前です。
例
adp.Analytics.get_error_classes_from_fact_tab('COSTS_AV', 'COSTS')分析ビューの分析中に指定されたファクト表のエラーに関する情報が戻されます。このメソッドは、分析ビューのファクト表にエラーがないことを確認するために使用されます。エラーERROR_COUNTが0ではなく、errorDataが空ではなく、ERROR_MESSAGE (エラーのテキスト表現)およびERROR_NUMBER (Oracleエラー・コード)が含まれています。
品質レポート手順
av_nameで指定された分析ビューのエラーに関する情報を返します。このメソッドは、分析ビューのファクト表およびディメンションをチェックします。エラーの場合は、エラーのテキスト表現がレポートに含まれます。
構文
Analytics.quality_report(av_name)パラメータ:
- av_name: 分析ビューの名前です。
例
この例では、分析ビューの品質レポートを取得できます。
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"
]データ取得プロシージャ
分析ビューから集計データを返します。戻り値は、問合せ結果のリストです。
構文
Analytics.get_data(levels, column_names, entity_name, hierarchies,
measures, where_condition, owner)パラメータ:
- levels: 分析ビューのレベル。
- column_names: 列の配列。
- entity_name: 分析ビューの名前です。
- 階層: 選択した階層の配列。
- メジャー: メジャーの配列。
- where_condition: 条件の配列で、各条件には、階層、列、演算子および値の4個のフィールドがあります。
- owner: このフィールドには、分析ビューの所有者が表示されます。このフィールドがない場合、ツールは現在のスキーマ所有者を使用します。
例
この例では、分析ビューの品質レポートを取得できます。
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},...},SQL問合せプロシージャ
get_dataで使用されるSQL問合せを返します。
構文
Analytics.get_sql(levels, column_names, entity_name, hierarchies,
measures, where_condition, owner)パラメータ:
- levels: 分析ビューのレベル。
- column_names: 列の配列。
- entity_name: 分析ビューの名前です。
- 階層: 選択した階層の配列。
- メジャー: メジャーの配列。
- where_condition: 条件の配列で、各条件には、階層、列、演算子および値の4個のフィールドがあります。
- owner: このフィールドには、分析ビューの所有者が表示されます。このフィールドがない場合、ツールは現在のスキーマ所有者を使用します。
例
この例では、分析ビューの集計データのSQLを取得できます。
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')
)
)