...
2.1.1 获取文件数据
下面示例演示通"CSV查询"获取文件数据。
刘老师想基于把学生的每个月的考试分数进行一个趋势分析,所以把线下数据上传到服务器上进行分析。
下载示例数据:刘老师想基于把学生每个月的考试分数进行一个趋势分析,所以把线下数据上传到服务器上方便读取分析。
注意 | ||
---|---|---|
| ||
如果想复现示例,可以下载示例数据:StudentScore.csv 。 |
具体步骤如下:
1)需要先把CSV格式的文件上传到部署Smartbi war包的服务器上,以Linux服务器为例,可以把文件上传到home目录下:路径不限,存放的文件夹可以是自己新建的,也可以是已有的文件夹中。
2)存放好之后再去模型中建【Java查询】,选择”CSV查询“,操作如下图:
...
1、先把 StudentScore.csv 文件上传到 部署Smartbi war包 的服务器上,并且文件上传到home目录下;
以Linux服务器为例,可以把文件上传到home目录下; 路径不限,存放的文件夹可以是自己新建的、也可以是已有的文件夹。
2、去建数据模型,并在模型中建 Java查询 ,并选择 CSV查询 ,操作如下图:
- 文件存放路径:输入刚存放的路径,一定要输入 绝对路径 (即指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径),如果不是绝对路径,会查找不到文件;,如果不是绝对路径,会查找不到文件。
- 编码:一般GBK或UTF-8,也可以根据需求填写其他的编码比如Unicode、ASCII;
- 上传的文件如果没有列头,则默认第一行数据为列头;
- “TXT查询”与”CSV查询“操作逻辑是一致的,不再另写示例说明;其中“TXT查询”需要写“分割符”,分隔符需要与文件保持一致,才能正常取数。
3)获取到数据,想回到数据模型,建议先点击【保存】之后再点击【回到模型】;
回到模型,可以选中该查询,右键菜单可以对该进行进行更多的操作比如编辑、复制等,具体可查看:设置及修改查询
...
- 编码:一般填写GBK或UTF-8,也可以根据需求填写其他的编码比如Unicode、ASCII; 另外,上传的文件如果没有列头,则默认以第一行数据为列头。
- 执行:填写配置信息 点击 执行 ,可以预览到文件的数据。
3、 如果想回到数据模型,建议先点击 保存,再点击 回到模型;回到模型,在关系视图可以选中查询/右键菜单 可以进行更多操作,具体可查看:设置及修改查询。
4、基于模型去建 交互式仪表盘, 最终效果如下,可以查看”学生每个月考试分数趋势分析“:
2.1.2 通过Java代码自定义类获取数据
对于技术能力比较强的客户,Smartbi提供了灵活的接口,方便用户自定义Java文件,实现某些业务需求。
为了方便举例,本文用产品内置的”smartbi.session.SessionQueryData“即获取”每日会话信息“为例。为了方便举例,使用产品内置的类”获取某段日期范围的会话信息“为例进行查看”日期汇总信息“.
具体的操作如下:
1)创建模型并在里面添加“Java查询”
...
1、创建数据模型并在添加 Java查询
- 自定义类名:输入”smartbi.session.SessionQueryData“ 类名;
在输入自定义类名之前,需要先参考二次开发文档,编写IJavaQueryData接口实现类,实现自己的JAVABean逻辑,并将编译好的class文件添加到系统中。相关内容请参考:IJavaQueryData。 - 输入了自定义类名之后,点击右侧的“获取默认配置”,在配置信息中会出现java类中定义的一些配置信息,对此进行配置,如果没有则无需进行配置.
- 配置完毕之后,需要点击工具栏的“执行”按钮或鼠标离开,获取到根据配置项和java类代码,得到的参数和结果字段数据
2)如果要回到模型,建议先点击保存,然后再回到模型,更多操作可查看设置及修改查询;
- 另外,Java查询自定义类示例,可参考:Java查询介绍
...
- 输入了 自定义类名 之后,点击右侧的 获取默认配置 ,在配置信息中会出现java类中定义的一些配置信息,对此进行配置,如果没有则无需进行配置。
- 配置完毕之后,需要点击工具栏的 执行 按钮或 鼠标移开,会根据输入的自定义类和配置信息,输出参数和结果集。
- 设置参数默认值:如果有参数,需要输入参数默认值,给参数”BeginTime“ 默认值设成 ”2023-05-01“, "EndTime"默认值设成”2023-06-01“,"Scale"默认值设成”1“。
- 点击 执行 在 数据预览 区域 可以查看参数默认值的数据。
2、如果要回到数据模型,建议先点击 保存,再回到模型; 回到数据模型,可以在关系视图可以选中 查询 / 右键菜单 支持进行更多操作,具体可查看:设置及修改查询。
如果 查询的参数需要在模型中进行映射,可以查看 参数管理; 如果在模型不映射查询参数,则以 查询 设置的 参数默认值 进行抽取 。
3、基于建好的数据模型去建 交互式仪表,查看日期汇总数据:
另外,Java查询自定义类示例,可参考:Java查询介绍
3 脚本查询
脚本查询是指通过编写代码脚本获取数据结果;
...