如何根据从下拉列表属性控件中选择的值更改多个默认筛选器?
如何实现此功能?
任何帮助,不胜感激。
你的问题中没有很多细节,所以我在这里做了很多假设,最重要的是你正在处理ListBox过滤器;此代码不适用于其他筛选器类型。 这是我正在使用的数据集:
名称部门 爱丽丝营销 鲍勃销售 查理销售 Dave Engineering
- 在分析中,添加一个文本区域并插入一个下拉列表属性控件
- 单击">新建...">以创建一个名为
Department
的新文档属性,该属性将是一个字符串,并包含默认值sales
-
通过以下方式设置属性值:列中的唯一值,然后选择
Department
列 - 单击脚本...,然后在对话框中,选择执行下面选择的脚本,然后点击新建...
- 为脚本指定一个类似
ChangeFilter
的名称。加。。。a脚本参数 - 调用脚本参数
department_name
,将其设置为字符串,然后选择属性:,最后单击选择属性...以将其设置为我们的department
文档属性 - 粘贴以下代码片段:
# 导入列表框过滤器类 从 Spotfire.Dxp.Application.Filters 导入 ListBoxFilter # 找到数据表,抓取过滤器集合 dt = Document.Data.Tables["Data Table"] filters = Document.FilteringSchemes.DefaultFilteringSchemeReference[dt] # 对要更改的任何其他过滤器重复以下行 # 选择我们感兴趣的过滤器 f = 过滤器["部门"]。As[ListBoxFilter]() # 取消设置"包含所有值",否则我们更改的任何内容都无关紧要 f.包含所有值 = 假 # 设置我们感兴趣的值 f.SetSelection(department_name)
- 接受所有对话框,直到您回到分析并进行测试。