• 报表跳转仪表板传参时,数据中有特殊字符如何处理?


    报表设计过程中,需要从报表的表格或者交叉报表跳转到仪表板,通过仪表板图表展示数据。
    这种场景,需要将报表数据对应的信息传递给仪表板的参数,仪表板通过全局参数进行数据筛选过滤。
    如果报表数据为不包含特殊字符的普通文本,则可以参照帮助文档链接:
    交互式报表并动态传参: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.点击或者地区,查看调整之后的仪表板参数过滤效果。
    点击报表中货主地区列:"#西北",成功跳转到仪表板,并实现数据过滤,参数值传递成功。

  • 相关阅读:
    求解奖学金问题--贪心
    装饰模式(Decorator Pattern)
    组合模式(Composite Pattern)
    Java基础:容器
    DatabaseMetaData类
    Java命名规范
    MyEclipse快捷键
    工厂模式(Factory)
    单例模式详解以及需要注意的地方(Singleton)
    SpringBoot启动流程与源码
  • 原文地址:https://www.cnblogs.com/edoo/p/13446757.html
Copyright © 2020-2023  润新知