组合框用作筛选器
仪表板中的常见做法是在一个报告中使用组合框以控制在一个或多个其他报告中显示的值。在组合框中选择的值将传递给变量,这些变量将用作报告参数。报告放置在仪表板上的小组件中。将自动链接具有相同参数或引用相同查找的其他报告。例如,从组合框中选择日期将更新包括日期参数的所有小组件。
如果按此方式使用组合框,那么一定要确保同步组合框和值。例如,用户应该无法从组合框中选择日期,但可查看所链接报告中不同日期的值。
若要确保组合框和值得到同步,则将组合框传递的变量用作输入和输出变量。
如果正在创建动态报告,及不依赖于特定数据源的报告,那么将组合框作为筛选器使用并不恰当。相反,应考虑使用 XML 变量。
示例
该示例阐述了组合框和值如何会出现不同步的情况:
报告显示包括日期列表的组合框。默认情况下,日期为“所有年份”。
组合框输出至变量,但没有输入变量。该变量作为报告参数使用。
将该报告及其链接的其他报告放置在仪表板上。
从组合框中选择 2004。2004 将被传递给变量。
仪表板上的已链接小组件将自动更新以显示关于 2004 的值。
保存仪表板。
默认情况下,参数的值与仪表板一并保存。这样,将保存参数 (2004) 的当前值。
注销并随后重新加载仪表板。
将会看到 2004 已经选中,但组合框已恢复为“所有年份”。
这是因为尽管已保存了变量/参数的值,但是因为没有输入变量,仪表板仍然无法将值传递给组合框。
但是,其他小组件的值也随仪表板一并储存并在加载仪表板时显示。因此,当重新打开仪表板时,组合框将恢复为“所有年份”,但其他小组件仍显示 2004 的值。
此问题有两种解决方案。一种是在 Application Studio 中实施,而另一种是在仪表板中实施。在 Application Studio 中,解决方案是将相同的变量同时作为“输出”和“输入”变量使用。
在仪表板中,唯一的选项是关闭参数存储并将组合框设置为“主要小组件”。当重新加载仪表板时,组合框将驱动其他小组件。这不会阻止组合框恢复为“所有年份”,但会确保已链接报告中的值也与“所有年份”有关。