3、报表联查参数设置的几种方式
2人赞赏了该文章
5,134次浏览
编辑于2014年07月31日 16:54:10
报表联查参数设置的几种方式 系统支持报表之间的联查,即从一个报表联查到其他的报表。一个报表的不同区域可以联查到不同的报表;一个单元格可以联查到多个不同的报表;可以设置联查行为,即根据条件判断是否执行联查;目标报表(即被联查的报表)还可以继续联查到其他报表,即层层联查下去。 下面以图书借阅统计报表联查为例,说明如何设置、使用联查报表。 场景:图书统计表(源报表),根据该表可以联查到图书信息(明细表)。
1、准备报表建立2张报表:(1)源报表:图书统计;(2)目标报表:图书明细 ---- 图书的详细信息,数据集设置过滤参数图书ID;图1 图书信息SQL数据集
图2 图书信息SQL数据集参数
2、报表联查设置(1)首先,编辑源报表,选中要设置联查的单元格,在弹出的“报表联查设置”窗口中,插入要联查的目标报表。 如图3、图4所示,选择要进行联查的单元格,如A2单元格,在该单元格的属性中点击联查,弹出“报表联查设置”窗口。图3 设置联查
图4 联查窗口
图5 选择目标报表
插入一行后(可插入多行),通过F7按钮选择需要联查的明细表(请先建立好所需明细表,且发布并给用户授权),见图5。
(2)参数设置 支持以下列几种种方式传递联查条件,并且一个报表可以联查多个目标报表。不同而场景需要不同的参数设置方式,用户需根据特定场景来设置参数。[i]方法一:直接传递单元格值。[/i] 例如,选中C2单元格(该单元格设置了公式“=FIELD(图书统计, BOOKID)”),点击单元格属性中的“联查”,在弹出的报表联查设置窗口中,将单元格C2的值传递给目标报表的参数id。图6 直接传递单元格值
保存后预览源报表,点击C2单元格,即可根据图书ID值联查明细数据。图7 预览[i]方法二:通过取数公式传单个值[/i] 如选中B2单元格(该单元格中设置了公式“=SELECT(图书统计, BOOKNAME)”),点击单元格属性中的“联查”,在弹出的报表联查设置窗口中,将目标报表的参数id的值设置为公式“FIELD(图书统计,BOOKID)”,该公式返回单个值。图8 通过取数公式传单个值
保存后预览源报表,点击C2单元格,即可将根据公式“FIELD(图书统计,BOOKID)”返回的BOOKID值传递给目标报表的参数id,从而达到联查明细数据的效果。图9 预览
[i]方法三:通过取数公式传多个值[/i] 选中A2单元格(该单元格中设置了公式“=GROUP(图书统计, PUBLISH, True)”),则联查公式需设置为“FIELDS(图书统计,BOOKID)”或“SELECT(图书统计,BOOKID)”,这两个函数都会返回当前分组的所有BOOKID值,将其传递给目标报表的参数id,从而达到联查的效果,见下图:图10 通过取数公式传多个值
图11 预览
[i]方法四:传递固定值[/i]图12 传递固定值-整型
图13 预览
说明:此处将图书ID值40001,40002(整型)传给目标报表。 另外,若传递的值是字符型,则需要加上引号,见下图:图14 传递固定值-字符型
补充场景:如果明细表的数据集过滤参数,既设置了实际取值字段,又设置了显示值字段,且明细表中使用了参数显示值。如参数ID设置了显示值,则参数变量为@id,显示值变量为@id_text。 明细表直接执行时,@id_text可以直接通过数据集获取,但是通过源报表联查至明细表时,若明细表需要用到显示值,需在联查参数处设置。图15 显示值
1、准备报表建立2张报表:(1)源报表:图书统计;(2)目标报表:图书明细 ---- 图书的详细信息,数据集设置过滤参数图书ID;图1 图书信息SQL数据集
图2 图书信息SQL数据集参数
2、报表联查设置(1)首先,编辑源报表,选中要设置联查的单元格,在弹出的“报表联查设置”窗口中,插入要联查的目标报表。 如图3、图4所示,选择要进行联查的单元格,如A2单元格,在该单元格的属性中点击联查,弹出“报表联查设置”窗口。图3 设置联查
图4 联查窗口
图5 选择目标报表
插入一行后(可插入多行),通过F7按钮选择需要联查的明细表(请先建立好所需明细表,且发布并给用户授权),见图5。
(2)参数设置 支持以下列几种种方式传递联查条件,并且一个报表可以联查多个目标报表。不同而场景需要不同的参数设置方式,用户需根据特定场景来设置参数。[i]方法一:直接传递单元格值。[/i] 例如,选中C2单元格(该单元格设置了公式“=FIELD(图书统计, BOOKID)”),点击单元格属性中的“联查”,在弹出的报表联查设置窗口中,将单元格C2的值传递给目标报表的参数id。图6 直接传递单元格值
保存后预览源报表,点击C2单元格,即可根据图书ID值联查明细数据。图7 预览[i]方法二:通过取数公式传单个值[/i] 如选中B2单元格(该单元格中设置了公式“=SELECT(图书统计, BOOKNAME)”),点击单元格属性中的“联查”,在弹出的报表联查设置窗口中,将目标报表的参数id的值设置为公式“FIELD(图书统计,BOOKID)”,该公式返回单个值。图8 通过取数公式传单个值
保存后预览源报表,点击C2单元格,即可将根据公式“FIELD(图书统计,BOOKID)”返回的BOOKID值传递给目标报表的参数id,从而达到联查明细数据的效果。图9 预览
[i]方法三:通过取数公式传多个值[/i] 选中A2单元格(该单元格中设置了公式“=GROUP(图书统计, PUBLISH, True)”),则联查公式需设置为“FIELDS(图书统计,BOOKID)”或“SELECT(图书统计,BOOKID)”,这两个函数都会返回当前分组的所有BOOKID值,将其传递给目标报表的参数id,从而达到联查的效果,见下图:图10 通过取数公式传多个值
图11 预览
[i]方法四:传递固定值[/i]图12 传递固定值-整型
图13 预览
说明:此处将图书ID值40001,40002(整型)传给目标报表。 另外,若传递的值是字符型,则需要加上引号,见下图:图14 传递固定值-字符型
补充场景:如果明细表的数据集过滤参数,既设置了实际取值字段,又设置了显示值字段,且明细表中使用了参数显示值。如参数ID设置了显示值,则参数变量为@id,显示值变量为@id_text。 明细表直接执行时,@id_text可以直接通过数据集获取,但是通过源报表联查至明细表时,若明细表需要用到显示值,需在联查参数处设置。图15 显示值
推荐阅读