【报表-交互设计】报表带多值参数 跳转 到 仪表板
本帖最后由 lucas.Yan 于 2024-5-14 10:00 编辑参考文档:URL动态变量-参考文档自定义函数-参考文档正文: 对于仪表板,当我们需要使用文档跳转功能的时候,可以选择跳转仪表板或者跳转报表进行跳转同时可以传递参数,当然也可以使用动态变量进行格式化从而实现灵活的自定义跳转。 但是当我们使用报表进行自定义URL跳转,需要将绑定的参数或者一些自定义值进行拼接形成将要跳转的URL。这个时候我们会发现跳转所用的格式和拿到参数的格式值不同,需要进行额外的处理。而表达式编写所提供的函数无法满足我们的需要,此时我们可以借助自定义函数对数据进行处理来满足格式转换。效果如下GIF动态图:
具体实现步骤:
1. 设计报表:使用共享数据集Demo销售明细为例,例如矩表组件设计向导进行快速创建矩表。
2. 设置报表参数
3. 为矩表中的客户省份添加钻取操作,通过设置钻取类型应用到报表参数,来实现将点选的省份从参数中添加或者取出。
4. 创建两个文本框,稍后填写数据和表达式
5. 进入系统管理,编写自定义函数<font size="3">/// <function name="MultivaluedParameterConversion">
/// <culture>
/// <label>MultivaluedParameterConversion</label>
/// <syntax>MultivaluedParameterConversion(object[] parameters)</syntax>
/// <description>自定义函数描述</description>
/// <example>Code.MultivaluedParameterConversion(object[] parameters)</example>
/// </culture>
/// </function>
public string MultivaluedParameterConversion(object[] parameters)
{
string ret = "[";
for (int i = 0; i < parameters.Length; i++)
{
if(i == 0)
{
ret += "\"" + parameters.ToString() + "\"";
}
else
{
ret += ",\"" + parameters.ToString() + "\"";
}
}
ret += "]";
return ret;
}</font>
这段代码主要作用是将参数 省份 拼接为["省份1","省份2] 这样的格式
6. 填写文本框在第一个文本框中填写 多选省份:{Join(@省份, ",")} 用作观察参数的值在第二个文本框中填写 跳转用作跳转的按钮
7. 为第二个文本框设置钻取操作http://localhost:51980/dashboards/view/{dashboardId}?theme=default&lng=zh-CN&token={token}&dp={{%22省份%22:{Code.MultivaluedParameterConversion(@省份)}}上面的dashboardId和token可以根据自己的需求进行更换,同时也可以添加其他集成参数对dashboard进行自定义集成.其他集成参数-参考文档
8. 点击保存报表,即可完成报表带多值参数跳转仪表板
页:
[1]