请问下各位,现在有个普通报表A,里面都是人员基本信息,包括性别、民族、政治面貌、所在部门等,另有一个决策报表页面B,里面是性别分布、籍贯分布、年龄段分布等分析图表。现在想实现在A页面点击“女性”即可跳转到B,并且B页面只显示所有女性的分析结果;点击“汉族”也可跳转到B,并且B页面只显示所有汉族的分析结果,等等等等。怎么快速实现,目前是A设置超链接传参,B页面数据集where里嵌套多个if实现的,但是随着跳转条件的增多,无限嵌套if显然不现实,请问有更简单的办法吗
想复杂了哈 传性别是用参数名SEX,传民族时用mingzu
子表SQL
SELECT * FROM TABLE WHERE 1=1 ${IF(LEN(SEX)==,""," AND SEX='"+SEX+"'")}${IF(LEN(mingzu)==,""," AND mingzu='"+mingzu+"'")}
-------
这样写你传SEX时mingzu空的查的全是性别相同的数据。这样就不用嵌套if免得出错
这个你表结构是固定的,没办法,只能多个嵌套,增加写
你肯定是固定列的格式
如果是行结构数据格式,那就可以写一个数据字典去判断的
=======
当然,if可以改成Switch函数
1、可以在B页面中把所有人员信息的分析数据union在一起,每个信息打上标记,如:
select *
from(
select '汉族'as flag,
其他分析字段
from 汉族
union all
select '女性' as flag,
其他字段
from 女性
)where flag = A页面传递过来的参数
需要保证A页面传递过来的参数和B页面数据集中定义的flag内容一一对应。
2、可以在B页面中把人员的不同基本信息做在不同的图表中,通过A页面传递过来的参数判断图表的行高为不为零来控制图表的展示