我有一个jaspersoft报告(在工作室中构建折线图),我希望图表中的数据系列是钻取以打开仪表板的超链接。
基于此wiki page我能够创建参考超链接,以便单击图表中的任何数据系列可打开正确的仪表板。但我无法正确传递输入控制参数。
JRXML:
dictionary = [i.strip('\n') for i in open('dictionary.txt')]
s = "roaispnba"
import itertools
import random
def get_words(new_s, word_list):
if not new_s:
return word_list
else:
possibilities = [i for i in dictionary if all(new_s.count(b) >= i.count(b) for b in i)]
print possibilities
if not possibilities:
return get_words([], word_list)
else:
word = random.choice(possibilities)
word_list.append(word)
word_dict = {i:word.count(i) for i in word}
new_final_word = list(itertools.chain.from_iterable([[a for i in range(abs(s.count(a)-b))] for a, b in word_dict.items()]))
return get_words(new_final_word, word_list)
final_words = get_words(s, [])
print(final_words)
JRXML:
<itemHyperlink hyperlinkType="Reference">
<hyperlinkReferenceExpression><![CDATA["./dashboard/viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile"]]></hyperlinkReferenceExpression>
</itemHyperlink>
我也很感激,如果有人有其他参考,他们可以指点我从报告中钻取到仪表板。
答案 0 :(得分:2)
我正在使用6.3并且能够通过对HyperlinkReferenceExpression语法进行少量修改来解决问题。
具体来说,我删除了&#34; _hidden&#34;在输入控制资源ID之前:
HyperlinkReferenceExpression:
原始语法:
&#34; ./仪表板/ viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile&#34;
+&#34;&安培; hidden_WellConcatenated_0 =&#34; + $ V {WellConcatenated_0}
+&#34;&安培; hidden_OccurrenceDate_1 =&#34; + $ P {RecordDate_0_1}
+&#34;&安培; hidden_OccurrenceDate_2 =&#34; + $ P {TimeStampMinusOneWeek}
修改后的语法:
&#34; ./仪表板/ viewer.html#%2Fpublic%2FP2%2FMidcap%2FFinancial%2FDashboards%2FWell_Profile&#34;
+&#34;&安培; WellConcatenated_0 =&#34; + $ V {WellConcatenated_0}
+&#34;&安培; OccurrenceDate_1 =&#34; + $ P {RecordDate_0_1}
+&#34;&安培; OccurrenceDate_2 =&#34; + $ P {TimeStampMinusOneWeek}
答案 1 :(得分:1)
我假设你正在运行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!
答案 2 :(得分:0)
我的解决方案是一个糟糕的解决方案。但是它对我有用。
在我的数据集中-查询中,我使用了以下内容:
Select p.printer_name, p.display_name, $P{start_date_1} as start_date_param, ....
然后,将start_date_param
用作超链接中的字段。