页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

1、概述

接口查询主要场景是客户不想或者没有办法连接到数据源,需要通过接口的方式获取数;更多的是作为数据集的存在,并且返回的数据是基本都是一个大宽表。

Smartbi 数据模型支持添加 2 种接口查询:Java查询、脚本查询。

信息
title前置条件

1、Java查询、脚本查询只支持抽取模式, 如果模型原先是直连模式,加入了Java查询会强制变成抽取模式!详情可查阅:直连&抽取

2、如果Java查询、脚本查询有定义参数,可参考

参数管理

参数设置进行参数映射。

3、 可参考自定义JavaBean示例获取数据。

4、可参考:带参数Java查询示例


2 Java查询

Java查询是指由用户通过二次开发,自定义JavaQueryData接口实现类,以实现自定义数据结构。

...

  • 读取客户放在服务器上文件:CSV查询、Txt查询。
  • 通过http方式获取数据:WebService作为数据源。
  • 需要写java代码从接口获取不开放数据库取数的场景:自定义类。

2.1 示例说明

2

...

.1 获取文件数据

下面示例演示通"CSV查询"获取文件数据。

刘老师想基于把学生每个月的考试分数进行一个趋势分析,所以把线下数据上传到服务器上方便读取分析。

注意
title前置条件

如果想复现示例,可以下载1、如果想复现示例时,可以把数据先导入到模型中,详细请参考导入文件数据

2、可以下载示例数据:StudentScore.csv 。

具体步骤如下:

...

由于 txt查询CSV查询 都是获取文件数据,逻辑一致,不再单独说明 txt查询。

2

...

.2

...

通过自定义类获取数据

对于技术能力比较强的客户,Smartbi提供了灵活的接口,方便用户自定义Java文件,实现某些业务需求。

...

2、执行成功之后,如果要回到数据模型,建议先点击 保存,再回到模型; 回到数据模型,可以在关系视图可以选中  查询 右键菜单 支持进行更多操作,具体可查看:设置及修改查询

      如果 查询的参数需要在模型中进行映射,可以查看 参数管理; 如果在数据模型不映射,则以 查询 设置的 参数默认值 进行抽取如果在模型中没有映射参数,会一直以默认值的结果集输出数据;如果在模型中的 参数设置 进行了关联映射,可以随着模型设置的默认值改变输出结果集;具体可参考:参数管理

3、基于建好的数据模型去建 交互式仪表查看日期汇总数据:

另外,Java查询自定义类示例,可参考:Java查询介绍 


2.3 通过WebService获取数据

示例可参考:WebService查询示例

3 脚本查询

脚本查询是指通过编写代码脚本获取数据结果;

目前“脚本查询”支持的语言只有JavaScript,因此适用于熟悉JavaScript的技术人员,相关接口文档可参考IJavaQueryData

为了方面理解,以产品自带的数据源“northwind”中的【产品表】为目标资源,展示了如何通过编写JavaScript脚本获取指定节点ID的数据源表数据的例子来进行说明。以产品自带的数据源“northwind”中的 “产品表” 为目标资源,展示了如何通过编写JavaScript脚本获取指定节点ID的数据源表数据的例子来进行说明。

具体操作如下:

1、在左侧 “系统导航栏”中的“数据连接” ,选择  “数据连接” > “northwind” > “产品表” ,右键打开扩展菜单,点击“属性”,找到 “产品表” 资源的节点ID,并且记录下来

...

3、执行成功后,如果想回到数据模型,建议先 保存 再回到数据模型;在模型的关系视图可以选中  查询 右键菜单 支持进行更多操作,具体可查看:设置及修改查询

      如果 查询的参数需要在模型中进行映射,可以查看 参数管理; 如果在数据模型不映射,则以 查询 设置的 参数默认值 进行抽取 如果在模型中没有映射参数,会一直以默认值的结果集输出数据;如果在模型中的 参数设置 进行了关联映射,可以随着模型设置的默认值改变输出结果集;具体可参考:参数管理

      在模型中 预览数据 可以查看 “产品表”的数据信息已获取成功。

...