在报表设计过程中,需要从报表的表格或者交叉报表跳转到仪表板,通过仪表板图表展示数据。
这种场景,需要将报表数据对应的信息传递给仪表板的参数,仪表板通过全局参数进行数据筛选过滤。
如果报表数据为不包含特殊字符的普通文本,则可以参照帮助文档链接:
交互式报表并动态传参:https://help.grapecity.com.cn/pages/viewpage.action?pageId=42086123
如果数据中有包含如:#、@、%、!等特殊字符,则需要进行特殊处理。
需要将特殊字符使用报表表达式中的 Replace函数转换为UrlEncode编码之后的格式。
特殊字符UrlEncode对照表:
具体示例:
1.以示例销售数据为例,货主地区字段值中存在特殊符号“#”、“&”。
2.设计报表,设置 货主地区 单元格的钻取操作为URL。
注意:参考:交互式报表并动态传参:https://help.grapecity.com.cn/pages/viewpage.action?pageId=42086123,提前设计好跳转的仪表板。
此处,跳转Url的属性值需要使用表达式:
="http://localhost:51980/dashboards/view/36ca768c-e2d2-4e53-bc2c-a8224494b540?theme=default&lng=zh-CN&dp={%22area%22:[%22" & Fields!货主地区.Value.replace("#","%23").replace("&","%26") & "%22]}"
和帮助文档中的差异是:参数值不是直接使用字段值Fields!货主地区.Value,而是:Fields!货主地区.Value.replace("#","%23") ,
此处对特殊字符进行处理。如有多个特殊字符,则多次处理:Fields!货主地区.Value.replace("#","%23").replce("&","%26")。
替换之后的效果:
3.点击或者地区,查看调整之后的仪表板参数过滤效果。
点击报表中货主地区列:"#西北",成功跳转到仪表板,并实现数据过滤,参数值传递成功。