我正在尝试使用报表生成器(直接从Reporting Server默认Web界面启动)过滤Reporting Services报表图表中的系列。
我想要的是最初使用OR子句过滤不同值的系列。因为在对话中这是不可能的,我想开发人员创建实现括号的所需逻辑是一项过于复杂的任务。)我尝试使用运算符" IN"。
我想过滤数据集中的值,如下所示: IN('%处理器时间','缓冲区缓存命中率')
多次尝试将字符串输入到此过滤器可用的一个(!)文本框中失败。有时我得到的没有数据。如果我只输入这样的字符串:
% Processor Time, Buffer cache hit ratio
并确认这一点,重新打开对话框,该值会自动更改为某事。那样:
"""% Processor Time, Buffer cache hit ratio"""
在再次确认之后,我得到了这个未经证实的例外:
System.ArgumentNullException: Value cannot be null.
Parameter name: items2
at Microsoft.ReportingServices.Common.CollectionUtil.ElementsEqual[T](ICollection`1 items1, ICollection`1 items2, IEqualityComparer`1 comparer)
at Microsoft.ReportDesigner.Dialogs.Controls.FilterItemControl.SaveData()
at Microsoft.ReportDesigner.Controls.ListControlBinding.SaveData()
at Microsoft.ReportDesigner.Controls.PropertyControl.SaveData()
at Microsoft.ReportDesigner.Controls.PropertyDialog.OnClosing(CancelEventArgs e)
at System.Windows.Forms.Form.CheckCloseDialog(Boolean closingOnly)
之后我只是尝试在IN运算符中使用ONE参数,但这也不起作用,因为它只传递NO DATA。
enter code here
所以我的问题是,有没有人知道使用Microsoft Report Builder中的OR或IN子句过滤数据集的解决方案?