11.1.3 インサイト関数

クラスAdp.Insightは、インサイトの操作に使用されます。

インサイトの生成はバックグラウンドで実行され、完了を確認する必要があります。

Insight.generate(av_name, measure,job_owner=None,source_owner=None)

これにより、分析ビューのメジャーのインサイトが生成されます。

次に、フィールドとその説明を示します:

av_name: このフィールドは分析ビューの名前です。

measure: これは、分析ビューのメジャーの名前です。

job_owner: ジョブのスキーマ名です。

object_owner: オブジェクトのスキーマ名です。1つまたは2つの所有者としてのNoneは、現在のスキーマが使用されることを意味します。

Insight.get_job_status(request_name,owner=None)

前述の関数は、インサイト・リクエストのステータス・リストを返します。ownerはインサイトのスキーマ名です(Noneは、現在のスキーマが使用されることを意味します)。フィールドinsight_job_statusがCOMPLETEDになると、インサイトの生成が終了します。

Insight.drop(request_name)

前述の関数は、インサイトの削除リクエストです。

Insight.get_request_list(owner=None)

前述の関数は、リクエスト名とそのパラメータのjsonリストを返します。ownerはリクエストのスキーマ名です。Noneは、現在のスキーマが使用されることを意味します。

Insight.get_insights_list(requestName)

前述の関数は、インサイトのjsonリストを返します。各インサイトには次のフィールドがあります:

insight_namevisualization_idinsight_columninsight_valueinsight_dimensionおよびdimension

Insight.get_graph_details(name, id, count=0, query_manipulation=None, owner=None)

前述の関数は、プロットされたデータのJSONデータ・ディクショナリを返します。

次に、パラメータとその説明を示します:

name: これはインサイト名です。

id: これはビジュアライゼーションIDです。

query_manipulationがNoneでない場合、問合せのadd cursor typeおよびgrand totalsフィールド。

owner: これはインサイトのスキーマ名です(Noneは、現在のスキーマが使用されることを意味します)。

結果は、2つのフィールドで構成されます: itemにはインサイトの全体的な情報(description、XAXIS、measure、insight_type_label、visualization_condition、source_object)が含まれます。

queryには、プロットに関する情報が含まれ、labels、actualsおよびestimatesの3つのリストがあります。

インサイトの例

この項では、インサイトAPIの使用を開始する際に役立つ次の例を提供します:

  • インサイトの生成
  • インサイトの削除
  • インサイト・リクエストのリスト
  • インサイトのリスト
  • インサイトの完了の確認
  • ビジュアライゼーション・ビューからのデータの取得

これらの例を使用する前に、ADPインスタンスを作成してAutonomous Databaseに接続する必要があります:

import adp

adp_instance = adp.login('<protocol://host:port>', 'schema_name', 'schema_password')

インサイトの生成

adp_instance.Insight.generate('SALES_AV', 'AMOUNT_SOLD')

Output:

{

  "object_owner": "ADPTEST",

  "request_name": "REQUEST_INSIGHT_1",

  "max_insight_count": 20,

  "source_object": "SALES_AV",

  "source_owner": "SALES_AV",

  "request_metadata": "{\"targets\":[\"AMOUNT_SOLD\"],\"appName\":\"INSIGHTS\"}",

  "default_job_settings": "{\"insightTypes\":[\"FITTED_SHARE_COMPARISON\"]}",

  "new_request": "true"

}

インサイトの削除

adp_instance.Insight.drop('REQUEST_INSIGHT_1')

インサイト・リクエストのリスト

adp_instance.Insight.get_request_list()



Output:

[

  ... 

  {

    "owner": "ADMIN",

    "request_name": "REQUEST_INSIGHT_1",

    "request_type": "TABLE_INSIGHT",

    "source_object": "SALES",

    "source_owner": "ADMIN",

    "request_metadata": "{\"targets\":[\"ACTUAL\"],\"appName\":\"INSIGHTS\"}",

    "created": "2022-10-31T08:03:26.634Z",

    "updated": "2022-10-31T08:03:26.634Z",

    "request_job_setting": "{\"EXTRACTION\":{\"selectionRule\":{\"value\":\"MAX_DIFFERENCE\"},\"fittedShareConvergence\":{\"value\":\"LAX\"},\"maxNumExtractionDims\":{\"value\":10000},\"insightValueType\":{\"value\":\"MEMBER\"},\"excludeZero\":{\"value\":\"YES\"},\"minXAxisCount\":{\"value\":2}},\"sessionId\":null,\"applicationName\":\"INSIGHTS\",\"insightTypes\":[\"FITTED_SHARE_COMPARISON\"]}",

    "max_num_insights": 20

  },

  ...

]
インサイトのリスト
adp_instance.Insight.get_insights_list('REQUEST_INSIGHT_1')

Output:

[

  {

    "insight_name": "INSIGHT_62",

    "visualization_id": 199,

    "insight_column": "ACTUAL",

    "insight_value": "COUNTRY.2",

    "insight_dimension": "COUNTRY",

    "dimension": "FORECST"

  },..

]

インサイトの完了の確認

adp_instance.Insight.get_job_status('REQUEST_INSIGHT_1')



Output:



{

  "insight_job_status": "COMPLETED",

  "progress_msg": " ",

  "error_msg": null

}

ビジュアライゼーション・ビューからのデータの取得

adp_instance.Insight.get_graph_details("INSIGHT_62", 199, 5, True)



Output:

{

  "items": {

    "description": "COUNTRY.2",

    "XAXIS": "FORECST",

    "measure": "ACTUAL",

    "insight_type_label": "Expected",

    "visualization_condition": "COUNTRY.2",

    "source_object": "C0"

  },

  "query": {

    "labels": [

      "01:[66.7-1590]",

      "02:[829-2350]",

      "04:[2350-3870]",

      "06:[3870-5390]",

      "07:[4630-6150]"

    ],

    "actuals": [

      2200,

      6200,

      24600,

      26600,

      14200

    ],

    "estimates": [

      2671.105013588167,

      4830.820533674098,

      7135.506976989193,

      24772.963909661587,

      22121.48462234561

    ]

  }

}