自定义数据源如何引用

26330
21

lzg19861022 初学数据Lv2

发表于2018-7-12 09:12

悬赏1

已解决

楼主
想问下自定义的数据源报表里怎么引用呢,有没有操作指南。

最近看过此主题的会员

TESE123

hand

esen_4Y3L5ADO80

esen_4ZJ3CXOHKU

esen_4YO0F42DH6

Ly_LJY

15373604551

zhuhc

养蚯蚓吃沙漠

18833889871

esen_4WCDKR2VC8

tonglx

esen_4UUKEMYGNT

杨国签

zhaojinjin

esen_4SBQYN0BZ5TZ

最佳答案
lzg19861022 发表于 2018-7-17 15:15
你好,你说的这个我不太理解啊。能直接给调试一下么。
http://222.74.140.54:4663/bi42/editrpt.do?actio ...

这个问题需要将维表关联进去,若参数选择的级次为0则使用维表的ORG_TYPE_CODE字段过滤,若参数选择的级次为1则使用主题表org_code字段过滤。具体sql写法如下图:

另外,友情建议您把环境的密码改一下
21个回答

只看楼主

lzg19861022 初学数据Lv2

发表于2018-7-12 09:45

只看该作者

取消 关注该作者的回复

沙发

这种的。

ever 小试身手Lv3

发表于2018-7-12 09:52

只看该作者

取消 关注该作者的回复

地板

操作指南在菜单帮助里面

张浮 数据小白Lv1

发表于2018-7-12 11:09

只看该作者

取消 关注该作者的回复

5#

根据您的描述。报表想要引用自定义数据源的数据,您先要新建自定义数据源。再引用sql结果中的字段,然后将报表参数传递给SQL数据源或者通过表元值传递给数据源。这样您的报表里就可以引用自定义的数据源了。具体的详细步骤您可以参照楼上发的图片上标注的“帮助”链接。

lzg19861022 初学数据Lv2

发表于2018-7-12 11:32

只看该作者

取消 关注该作者的回复

6#

自定义数据源得日期参数条件写到哪呢?我现在写道单元格得过滤条件,查询结果没有生效。

ever 小试身手Lv3

发表于2018-7-12 12:26

只看该作者

取消 关注该作者的回复

7#

lzg19861022 发表于 2018-7-12 11:32
自定义数据源得日期参数条件写到哪呢?我现在写道单元格得过滤条件,查询结果没有生效。 ...

日期参数条件可以写到sql里,用where语句,例如where a.bbq like "201807%"
如果还有问题,可以把表样发过来,还有sql查询结果的详情,我们一起研究下

lzg19861022 初学数据Lv2

发表于2018-7-12 12:48

只看该作者

取消 关注该作者的回复

8#


这个是数据源。我想把上面的日期作为条件。

ever 小试身手Lv3

发表于2018-7-12 13:46

只看该作者

取消 关注该作者的回复

9#

这里就需要把上报的日期参数传递给sql数据源,需要使用宏<#=#>将传递的表达式包起来。
假如你要取“RQ”字段,上面的日期参数代码是@p3005,  那么sql里加上where RQ =<#=@p3005#>
或者where t.register_time=<#=@p3005#>

混乱七星天 数据达人Lv4

发表于2018-7-12 16:56

只看该作者

取消 关注该作者的回复

10#

ever 发表于 2018-7-12 13:46
这里就需要把上报的日期参数传递给sql数据源,需要使用宏将传递的表达式包起来。
假如你要取“RQ”字段,上 ...

sql中宏引用要用单引号哦

lzg19861022 初学数据Lv2

发表于2018-7-12 17:46

只看该作者

取消 关注该作者的回复

11#

再问个问题,如果参数条件不选择任何数据,默认显示全部结果,怎么写呢?
比如:
select to_char(t.Settlement_Time, 'MM') as rq, count(1) as sl
  from PM_PAY_ACCOUNT t, pos@kfpt pk
where t.org_code = pk.pos_id
   AND T.STATUS = 1
   AND T.REFUND_STATUS = 0
   AND TO_CHAR(T.SETTLEMENT_TIME, 'YYYY') = '<#=if(@rq='',' 1 = 1 ','REGION_ID = '+year(@rq))#>'
   AND t.org_code = '<#=@jcjg#>'
group by to_char(t.Settlement_Time, 'MM')
order by to_char(t.Settlement_Time, 'MM')
@rq如果是不选择,怎么写呢,我这么写是错得。

混乱七星天 数据达人Lv4

发表于2018-7-12 17:57

只看该作者

取消 关注该作者的回复

12#

lzg19861022 发表于 2018-7-12 17:46
再问个问题,如果参数条件不选择任何数据,默认显示全部结果,怎么写呢?
比如:
select to_char(t.Settlem ...

'<#=if(@rq='',' 1 = 1 ','REGION_ID = '+year(@rq))#>'这是我们文档上的示例哦,您要把REGION_ID换成您前面那个TO_CHAR(T.SETTLEMENT_TIME, 'YYYY')
这里的逻辑就是用了一个if判断,如果@rq为空,就不做过滤,如果不为空,就还是数据库字段=参数值,只是用if判断就需要用宏,宏里面引用数据库字段就需要用+号来拼字符
AND <#=if(@rq=””,”1=1”,"TO_CHAR(T.SETTLEMENT_TIME, 'YYYY')='"+year(@rq)+"'")#>
这样试试

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号