请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

lucas.Yan

超级版主

6

主题

75

帖子

259

积分

超级版主

Rank: 8Rank: 8

积分
259
lucas.Yan
超级版主   /  发表于:2024-5-10 14:12  /   查看:158  /  回复:0
本帖最后由 lucas.Yan 于 2024-5-14 10:00 编辑

参考文档:正文:        
        对于仪表板,当我们需要使用文档跳转功能的时候,可以选择跳转仪表板或者跳转报表进行跳转同时可以传递参数,当然也可以使用动态变量进行格式化从而实现灵活的自定义跳转。
        但是当我们使用报表进行自定义URL跳转,需要将绑定的参数或者一些自定义值进行拼接形成将要跳转的URL。这个时候我们会发现跳转所用的格式和拿到参数的格式值不同,需要进行额外的处理。而表达式编写所提供的函数无法满足我们的需要,此时我们可以借助自定义函数对数据进行处理来满足格式转换。
效果如下GIF动态图:
2024-04-24 14-31-18.gif224326781.png

具体实现步骤:
1. 设计报表:使用共享数据集Demo销售明细为例,例如矩表组件设计向导进行快速创建矩表。
image-20240424144018961.png993655395.png

2. 设置报表参数
image-20240424144249612.png382126159.png

3. 为矩表中的客户省份添加钻取操作,通过设置钻取类型应用到报表参数,来实现将点选的省份从参数中添加或者取出。
image-20240424144333873.png932656555.png image-20240424145927847.png401824645.png

4. 创建两个文本框,稍后填写数据和表达式

5. 进入系统管理,编写自定义函数
image-20240424144852841.png51632689.png
  1. <font size="3">/// <function name="MultivaluedParameterConversion">
  2. /// <culture>
  3. /// <label>MultivaluedParameterConversion</label>
  4. /// <syntax>MultivaluedParameterConversion(object[] parameters)</syntax>
  5. /// <description>自定义函数描述</description>
  6. /// <example>Code.MultivaluedParameterConversion(object[] parameters)</example>
  7. /// </culture>
  8. /// </function>
  9. &#8203;
  10. public string MultivaluedParameterConversion(object[] parameters)
  11. {
  12.    string ret = "[";
  13.    for (int i = 0; i < parameters.Length; i++)
  14.   {
  15.        if(i == 0)
  16.       {
  17.            ret += """ + parameters[i].ToString() + """;
  18.       }
  19.        else
  20.       {
  21.            ret += ","" + parameters[i].ToString() + """;
  22.       }
  23.   }
  24.    ret += "]";
  25.    return ret;
  26. }</font>
复制代码

这段代码主要作用是将参数 省份 拼接为["省份1","省份2] 这样的格式

6. 填写文本框
在第一个文本框中填写 多选省份:{Join(@省份, ",")} 用作观察参数的值
在第二个文本框中填写 跳转用作跳转的按钮

7. 为第二个文本框设置钻取操作
image-20240424145929274.png925798339.png
  1. http://localhost:51980/dashboards/view/{dashboardId}?theme=default&lng=zh-CN&token={token}&dp={{%22省份%22:{Code.MultivaluedParameterConversion(@省份)}}
复制代码
上面的dashboardId和token可以根据自己的需求进行更换,同时也可以添加其他集成参数对dashboard进行自定义集成.

8. 点击保存报表,即可完成报表带多值参数跳转仪表板



0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部