页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 3 下一个 »

示例

本示例在电子表格中实现资产负债表,表格中如“流动资产”、“货币资金”、“短期借款”等数据,都是直接从数据库中获取。当切换年度指标后,点击刷新按钮,数据也随之变化。如下:

切换参数时:




实现步骤

1.数据准备

资产负债表中的所有数据储存于balance_sheet表中,如下:

 

2.数据基础设置

创建数据源“回写”,连接数据存储的数据库,如下:

数据源相关设置项请参考:关系数据源

 

3.创建年参数

由于资产负债表中需要切换年度,需要建立年度参数。

在定制管理-》公共设置-》参数定义节点下新建年参数,控件类型为“平铺勾选面板”

 

参数备选值及默认值设置如下:

参数相关设置项请参考:参数定义

 

 

4.创建电子表格

在Excel中登录服务,新建电子表格,并填入资产负债表的各个指标,如下:

 

5.设置年度参数

选中D4单元格,点击工具栏上的填报属性按钮,选择“可修改”、“绑定参数”,在弹出的选择参数窗口中选择步骤3中建立的“年”参数

填报属性相关设置项请参考:填报属性

 

6.设置指标值

选中单元格B6,填入公式=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim(?)",D4,A6)

 

其中D4单元格对应的是年参数的参数值,假设参数值选择“2010”;A6单元格对应的是“流动资产”

则该公式实现的功能是:在数据源“回写”所连接的数据库中,执行sql语句“select qichu from balance_sheet where f_year="2010" And kemu=trim("流动资产”)",并将返回的唯一结果数据,如“134002”,填写到单元格B6中。

 

函数说明:

SSR_ExecSQL

函数原型:SSR_ExecSQL(datasourceid,sql,rowIndex,columnIndex,param1,param2,...)

函数功能:执行SQL语句,将查询结构填入单元格中

参数说明:datasourceid为数据源ID;sql为需要执行的sql语句;rowIndex为结果集中的行位置,可以忽略不填写;columnIndex为结果集中的列位置,可以忽略不填写;param1为SQL中的参数值,可以是静态数据也可以指定单元格;param2同理,可以传多个参数。

函数详解:

(1)该函数实现的功能是在数据库中执行sql,并将结果集数据填写到单元格中

(2)公式中datasourceid,可以通过在资源定制-》数据源节点中找到对应的数据源,右键-》属性 窗口中的“节点ID”获取

(3)若sql中需要对数据进行过滤,可将sql语句直接填写到公式中,如=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year='2010' And kemu='流动资产'")

  • 过滤条件中的值也可以进行传递,在sql中以 ?(问号)代替值,并且在公式中传递值,传递的类型可以是静态数据,也可以是单元格位置。

如:

=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=?  And kemu=trim('流动资产')","2010"),表示将静态数据“2010”传递给第一个?的位置

=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim('流动资产')",D4),表示将D4单元格对应的值传递给第一个?的位置

  • sql中若有多个过滤条件中的值需要传递,则在sql中以均以 ? 代替,公式中再传递多个值。

如:

=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim(?)",D4,A6),表示将D4单元格对应的值传递给第一个?的位置,A6单元格的值传递给第二个?的位置


  • 传递的值类型:若传递给?的是单元格位置,则传递的值得类型由单元格的格式决定,单元格格式为字符串,则传递的值类型为字符串,若单元格的值为整形,则传递的值类型为整形;若传递给?的是静态数据,则传递的值类型均为字符串。

(4)rowIndex和columnIndex为结果集中的行位置和列位置

 

 

 

 

 

 

 

注:

 

  • 无标签