洞察功能

Insight 函数为 Data Studio 工具套件中的 Insight 工具提供应用程序编程接口的类、方法、属性和参数的语法和说明。生成洞察是在后台执行的,需要检查完成情况。

获取请求列表过程

返回请求名称及其参数的列表

语法

Insight.get_request_list(owner)

参数

  • owner(所有者):此字段显示对象的所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例

在此示例中,可以列出洞察的作业:

adp.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
  },
  ...
]
获取洞察列表过程

返回洞察列表。每个洞察都有以下字段: insight_namevisualization_idinsight_columninsight_valueinsight_dimensiondimension

语法

Insight.get_insights_list(request_name)

参数

  • request_name :请求的名称。

示例

在此示例中,您可以列出洞察:

adp.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"
  },..
]
删除洞察过程

删除洞察请求

语法
Insight.drop(request_name)

参数

  • request_name :请求的名称。

示例

在此示例中,可以删除请求:
adp.Insight.drop('REQUEST_INSIGHT_1')
生成洞察过程

为“分析”视图生成度量洞察。

语法

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

参数

  • av_name :分析视图的名称。
  • 度量:度量。
  • job_owner :此字段显示作业的所有者。如果缺少此字段,该工具将使用当前模式所有者。
  • source_owner :此字段显示对象的所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例

在此示例中,您可以为分析视图生成洞察:
adp.Insight.generate('COSTS_AV', 'UNIT_COST')
 
// Output
 {
  "object_owner": "ADMIN",
  "request_name": "REQUEST_INSIGHT_1",
  "max_insight_count": 20,
  "source_object": "COSTS_AV",
  "source_owner": "COSTS_AV",
  "request_metadata": "{\"targets\":[\"UNIT_COST\"],\"appName\":\"INSIGHTS\"}",
  "default_job_settings": "{\"insightTypes\":[\"FITTED_SHARE_COMPARISON\"]}",
  "new_request": "true"
}
获取任务状态

获取指定作业的状态为“请求名称”。当字段 insight_job_status 为 COMPLETED 时,将完成洞察生成。

语法

Insight.get_job_status(request_name, owner)

参数

  • request_name :请求的名称。
  • owner(所有者):此字段显示对象的所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例

在此示例中,可以显示作业状态:

adp.Insight.get_job_status('REQUEST_INSIGHT_1')
 
// Output
{
  "insight_job_status": "COMPLETED",
  "progress_msg": " ",
  "error_msg": null
}
获取图形详细信息过程

返回可能绘制的数据的 json 字典。

结果由两个字段组成:

item 包含来自洞察分析的总体信息: descriptionXAXISmeasureinsight_type_labelvisualization_conditionsource_object

query 包含绘图信息,并包含三个列表: labelsactualsestimates

语法
Insight.get_graph_details(name, id, count, query_manipulation,
                          owner)

参数

  • name :Insight 的名称。
  • id :可视化 ID。
  • count :显示值的数量
  • query_manipulation :如果不是“无”,则将光标类型和总计字段添加到查询中。
  • owner(所有者):此字段显示对象的所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例

在此示例中,您可以获取数据来绘制图形:

adp.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
    ]
  }
}