找回密码
 立即注册

QQ登录

只需一步,快速开始

星海末

初级会员

20

主题

75

帖子

221

积分

初级会员

积分
221
星海末
初级会员   /  发表于:2022-6-17 12:25  /   查看:4197  /  回复:10
8金币
本帖最后由 星海末 于 2022-6-20 08:38 编辑

不知道是不是bug,先说明下过程,案例是钻取主从报表,主表有所有子表的数据,通过穿透查询,显示子表,如图,主表设置了钻取到子表,传递参数,主表查询的子表id是汇总逗号分开的。如下图
image.png989818420.png
1.数据库查询,查出来的信息列,我进行了组合,用逗号分开。如下图
image.png723647155.png 2.
2.在Wyn数据源配置那边,查询,也是可以查询,数据源这边选了多值,是整型的,(因为后续测试不行,我选了字符串也不可以)
image.png413728331.png
image.png370010985.png 在数据源这里直接查询是可以的
image.png254267272.png

3.报表这边也是选了整型,多值
image.png218103026.png
4.查询的时候就不行了
image.png728571777.png
如果输入单个是可以的
image.png871023254.png
所以,这个是bug把,版本Wyn5.1后续分析了下网页源代码,发现是下面这个,数据对不上,第一个图是有逗号的,第二个图是去除逗号,下拉框的数据,
image.png506661681.png
image.png738541869.png
image.png202362364.png






最佳答案

查看完整内容

您好,按照您说得,您的 orderid 的默认参数是通过 sql 语句查询出来的话,那么建议您将参数的默认值通过新建数据集来获取,具体的实现步骤如下: ① 新建数据集: 查询出你要作为默认值的字段值: 然后对参数进行如下设置:数据来源修改为 ->"查询结果",数据集名称修改为 ->"数据集1"(我们刚刚建立的查询参数值的专门的数据集),数据字段就是我们要作为条件查询的字段: 结果展示如下:

10 个回复

正序浏览
Bella.YuanWyn认证
超级版主   /  发表于:2022-6-20 13:54:04
11#
星海末 发表于 2022-6-20 13:12
你好,传递到子报表,还要根据传递的参数进行查询,您这个是显示。我试一试把,其实我觉得软件方面,代码 ...

您好,上面的demo确实是显示,如果您需要在子报表中使用参数进查询,也是可以的。参考附件demo。主要就是子报表接收主报表传递的参数进行过滤即可。如果您还有别的问题,欢迎另开新贴哦~

demo.zip

392.58 KB, 下载次数: 112

回复 使用道具 举报
星海末
初级会员   /  发表于:2022-6-20 13:12:11
10#
Bella.Yuan 发表于 2022-6-20 11:10
您好,我理解您的意思了,附件是我根据您的描述做的对应demo,您看看是否是您想实现的。主报表跳转到子报 ...

你好,传递到子报表,还要根据传递的参数进行查询,您这个是显示。我试一试把,其实我觉得软件方面,代码改动下,支持这样的传参查询就好了,减少配置。
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-6-20 11:10:14
9#
星海末 发表于 2022-6-20 10:33
如果是在主从报表钻取跳转显示的话,您这个方案还适用么?

您好,我理解您的意思了,附件是我根据您的描述做的对应demo,您看看是否是您想实现的。主报表跳转到子报表并传递参数。

demo0620.zip

390.62 KB, 下载次数: 565

回复 使用道具 举报
星海末
初级会员   /  发表于:2022-6-20 10:33:00
8#
橙子是蓝色 发表于 2022-6-17 12:25
您好,按照您说得,您的 orderid 的默认参数是通过 sql 语句查询出来的话,那么建议您将参数的默认值通过 ...

如果是在主从报表钻取跳转显示的话,您这个方案还适用么?
回复 使用道具 举报
星海末
初级会员   /  发表于:2022-6-20 10:16:32
7#
橙子是蓝色 发表于 2022-6-20 09:31
您好,按照您说得,您的 orderid 的默认参数是通过 sql 语句查询出来的话,那么建议您将参数的默认值通过 ...

我知道了,我那个骚操作暂时不行,不过我建议后续支持这种传递数据的方法。
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-6-20 09:56:04
6#
橙子是蓝色 发表于 2022-6-20 09:31
您好,按照您说得,您的 orderid 的默认参数是通过 sql 语句查询出来的话,那么建议您将参数的默认值通过 ...

感谢老铁回复
回复 使用道具 举报
星海末
初级会员   /  发表于:2022-6-19 10:12:20
4#
本帖最后由 星海末 于 2022-6-19 10:16 编辑
橙子是蓝色 发表于 2022-6-17 15:52
您好,我也用 wyn5.1  然后做了一个测试:
首先,从您的这张截图来看,您的数据库中的 orderid 是没有组合 ...

大神,你好,我是做了穿透查询,第一层查询,汇总出来了orderid,用逗号分开,然后点击穿透,查询 orderid in (参数里面的),,如果按照大神您说的,如果我在不确定默认值有多少行的的情况下,那我应该怎么做呢,比如新增一百行么?如果我数据库查询出来的list合并成字符串里面的数量不确定,那么就有点尴尬了,这边是否会有优化?
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-6-17 16:23:12
3#
您好,可以参考楼上老铁的回复 ,先检查一下您是否是这个原因导致的。
回复 使用道具 举报
橙子是蓝色
注册会员   /  发表于:2022-6-17 15:52:25
2#
本帖最后由 橙子是蓝色 于 2022-6-17 15:59 编辑

您好,我也用 wyn5.1  然后做了一个测试:
首先,从您的这张截图来看,您的数据库中的 orderid 是没有组合的,
image.png612948913.png

然后,我用excel模拟了数据源:
image.png215474547.png

基于以上两步,我创建了对应的参数、报表和数据集:
报表:
image.png142934569.png

数据集:
image.png72962645.png

参数,根据您的截图来看,你的默认值是四个:
image.png749931945.png


我的预览结果:
image.png262787169.png



我是可以查询到结果的,然后我对比了一下咱们的参数设置,发现您是吧四个默认值写在了一个参数值中:
image.png156016539.png

这样的话,系统就会把您的默认值“6957,15371,17392,17709” 看作是一个整体值,而数据库中是一个一个单独的值,所以查询不到数据;
您看一下是不是这个情况(如果我理解的不对,还请麻烦您再具体描述一下您的需求和情况)。



回复 使用道具 举报
最佳答案
最佳答案
橙子是蓝色
注册会员   /  发表于:2022-6-17 12:25:16
来自 5#
星海末 发表于 2022-6-19 10:12
大神,你好,我是做了穿透查询,第一层查询,汇总出来了orderid,用逗号分开,然后点击穿透,查询 orderid ...

您好,按照您说得,您的 orderid 的默认参数是通过 sql 语句查询出来的话,那么建议您将参数的默认值通过新建数据集来获取,具体的实现步骤如下:
① 新建数据集:
查询出你要作为默认值的字段值:
image.png472249755.png

然后对参数进行如下设置:数据来源修改为 ->"查询结果",数据集名称修改为 ->"数据集1"(我们刚刚建立的查询参数值的专门的数据集),数据字段就是我们要作为条件查询的字段:
image.png745551147.png

结果展示如下:
image.png798543700.png


回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部