输入控制参数未传递到仪表板的 Jaspersoft 参考超链接
Input Control Parameters not passing in Jaspersoft Reference Hyperlink to Dashboard
我有一个 jaspersoft 报告(在工作室中构建的折线图),我希望图表中的数据系列是 hyperlink 可以向下钻取以打开仪表板。
基于此 wiki page 我能够创建 Reference hyperlinks 以便单击图表中的任何数据系列打开正确的仪表板。但是我无法让输入控制参数正确传递。
- 当我直接从存储库加载我的仪表板时URL(不是通过单击折线图报告中的 hyperlinks)是
- 当我在我的hyperlink参考表达式中不包含输入控件时生成的URL是相同的:
JRXML:
<itemHyperlink hyperlinkType="Reference">
<hyperlinkReferenceExpression><![CDATA["./dashboard/viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile"]]></hyperlinkReferenceExpression>
</itemHyperlink>
- 当我 包含输入控制参数值 时生成的 URL 不同,但仍然加载空的仪表板(不传递参数值):
JRXML:
<itemHyperlink hyperlinkType="Reference">
<hyperlinkReferenceExpression><![CDATA["./dashboard/viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile"+"&hidden_WellConcatenated_0=" + $V{WellConcatenated_0} + "&hidden_OccurrenceDate_1=" + $P{RecordDate_0_1} + "&hidden_OccurrenceDate_2=" + $P{TimeStampMinusOneWeek}]]></hyperlinkReferenceExpression>
</itemHyperlink>
- 我知道我正在正确命名输入控件,因为如果我将我的 link 类型更改为报告执行并将 link 更改为使用这些输入控件的简单报告,正确的报告将打开并且输入控件值已正确传递。
如果有人有其他参考资料可以指出我从报告中向下钻取到仪表板,我将不胜感激。
我假设你是 运行 6.4.0。我不确定该方法是否仍然有效。
您可能需要在报告中注册一个自定义超链接处理程序,以便向下钻取到仪表板。详情请看这里:http://community.jaspersoft.com/wiki/how-use-custom-hyperlink-handler-dashboard-jasperreports-server
这里:http://www.helicaltech.com/use-custom-hyperlink-handler-with-a-dashboard-in-jasperreports-server/
让我知道这是否适用于 6.4.0!
我正在使用 6.3,并且能够通过对 HyperlinkReferenceExpression 语法进行小的修改来解决问题。
具体来说,我删除了输入控件资源 ID 之前的“_hidden”:
HyperlinkReferenceExpression:
原始语法:
"./dashboard/viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile"
+"&hidden_WellConcatenated_0=" + $V{WellConcatenated_0}
+"&hidden_OccurrenceDate_1=" + $P{RecordDate_0_1}
+"&hidden_OccurrenceDate_2=" + $P{TimeStampMinusOneWeek}
修改后的语法:
"./dashboard/viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile"
+"&WellConcatenated_0=" + $V{WellConcatenated_0}
+"&OccurrenceDate_1=" +$P{RecordDate_0_1}
+"&OccurrenceDate_2=" + $P{TimeStampMinusOneWeek}
我的解决方案是一个糟糕的解决方案。但它对我有用。
在我的数据集 - 查询中,我使用了以下内容:
Select p.printer_name, p.display_name, $P{start_date_1} as start_date_param, ....
然后,使用 start_date_param
作为超链接中的字段。
我有一个 jaspersoft 报告(在工作室中构建的折线图),我希望图表中的数据系列是 hyperlink 可以向下钻取以打开仪表板。
基于此 wiki page 我能够创建 Reference hyperlinks 以便单击图表中的任何数据系列打开正确的仪表板。但是我无法让输入控制参数正确传递。
- 当我直接从存储库加载我的仪表板时URL(不是通过单击折线图报告中的 hyperlinks)是
- 当我在我的hyperlink参考表达式中不包含输入控件时生成的URL是相同的:
JRXML:
<itemHyperlink hyperlinkType="Reference">
<hyperlinkReferenceExpression><![CDATA["./dashboard/viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile"]]></hyperlinkReferenceExpression>
</itemHyperlink>
- 当我 包含输入控制参数值 时生成的 URL 不同,但仍然加载空的仪表板(不传递参数值):
JRXML:
<itemHyperlink hyperlinkType="Reference">
<hyperlinkReferenceExpression><![CDATA["./dashboard/viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile"+"&hidden_WellConcatenated_0=" + $V{WellConcatenated_0} + "&hidden_OccurrenceDate_1=" + $P{RecordDate_0_1} + "&hidden_OccurrenceDate_2=" + $P{TimeStampMinusOneWeek}]]></hyperlinkReferenceExpression>
</itemHyperlink>
- 我知道我正在正确命名输入控件,因为如果我将我的 link 类型更改为报告执行并将 link 更改为使用这些输入控件的简单报告,正确的报告将打开并且输入控件值已正确传递。
如果有人有其他参考资料可以指出我从报告中向下钻取到仪表板,我将不胜感激。
我假设你是 运行 6.4.0。我不确定该方法是否仍然有效。
您可能需要在报告中注册一个自定义超链接处理程序,以便向下钻取到仪表板。详情请看这里:http://community.jaspersoft.com/wiki/how-use-custom-hyperlink-handler-dashboard-jasperreports-server
这里:http://www.helicaltech.com/use-custom-hyperlink-handler-with-a-dashboard-in-jasperreports-server/
让我知道这是否适用于 6.4.0!
我正在使用 6.3,并且能够通过对 HyperlinkReferenceExpression 语法进行小的修改来解决问题。
具体来说,我删除了输入控件资源 ID 之前的“_hidden”:
HyperlinkReferenceExpression:
原始语法:
"./dashboard/viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile"
+"&hidden_WellConcatenated_0=" + $V{WellConcatenated_0}
+"&hidden_OccurrenceDate_1=" + $P{RecordDate_0_1}
+"&hidden_OccurrenceDate_2=" + $P{TimeStampMinusOneWeek}
修改后的语法:
"./dashboard/viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile"
+"&WellConcatenated_0=" + $V{WellConcatenated_0}
+"&OccurrenceDate_1=" +$P{RecordDate_0_1}
+"&OccurrenceDate_2=" + $P{TimeStampMinusOneWeek}
我的解决方案是一个糟糕的解决方案。但它对我有用。
在我的数据集 - 查询中,我使用了以下内容:
Select p.printer_name, p.display_name, $P{start_date_1} as start_date_param, ....
然后,使用 start_date_param
作为超链接中的字段。