Reporting services SSRS-是否可以为图表和tablix共享相同的过滤器定义?

Reporting services SSRS-是否可以为图表和tablix共享相同的过滤器定义?,reporting-services,Reporting Services,在Excel中,您可以选择在图表下方显示一个表,该表显示了图表中使用的数据——我正试图在SSRS中复制这种行为 场景: 我有一个数据集,我想从中填充两个(图表+表格)元素(两个图表和两个表格)。每个图表+表格组合都需要使用完全相同的过滤器,但我不想在每个对象上手动定义完全相同的过滤器(如果需要更改,我不想在两个实体上进行更改) 是的,我知道还有其他方法可以实现相同的最终结果,比如在SQL中执行过滤器,或者相反,定义两个独立的数据集,然后在数据集本身上应用过滤器(因此它将级联到图表和表)……或者换

在Excel中,您可以选择在图表下方显示一个表,该表显示了图表中使用的数据——我正试图在SSRS中复制这种行为

场景:
我有一个数据集,我想从中填充两个(图表+表格)元素(两个图表和两个表格)。每个图表+表格组合都需要使用完全相同的过滤器,但我不想在每个对象上手动定义完全相同的过滤器(如果需要更改,我不想在两个实体上进行更改)


是的,我知道还有其他方法可以实现相同的最终结果,比如在SQL中执行过滤器,或者相反,定义两个独立的数据集,然后在数据集本身上应用过滤器(因此它将级联到图表和表)……或者换句话说,我不是在问这是否是一个好主意,我在问这是否可能

我能想到的最接近您需要的是在自定义代码中定义过滤器的逻辑,并在两个过滤器中调用自定义代码

如果逻辑发生了变化,你只需要在一个地方改变它


但不可能在tablix上定义过滤器,例如,然后在图表中输入某种“使用与我的tablix相同的过滤器”命令。

我会添加一个计算字段,该字段检查您的标准,并根据是否满足所有标准给出1或0

字段名称:MeetCriteria

不完全是你想要的,但比到处重复标准容易得多

对于多值状态参数,可以执行以下操作:

=IIF(Fields!AGE.Value < 10 
  AND INSTR("|" & Join(Parameters!Status.Value, "|") & "|", "|" & Fields!Status.Value & "|") > 0, 
  1, 0)
=IIF(字段!AGE.Value<10
和INSTR(“|”&Join(参数!Status.Value,“|”)和“|”、“|”&Fields!Status.Value&“|”)0,
1, 0)

有趣的问题。我从未尝试过,但我想知道在报表中使用自定义代码(报表属性->代码)是否可以做到这一点。它是报告的核心,您可以应用一次过滤器,然后在一个地方进行将来的更改。@R.Richards也许这就是我的想法。但是,我会避免使用带有参数的函数,以防将来需要更改这些参数。如果函数可以返回您需要的内容,而不必向其中传递某些内容,那么您可以避免以后在多个地方更改内容。理论上,这可以参考参数而不是硬编码的值,对吗?对于多选参数,它能处理吗?可以替换参数,但多值参数会更难,因为表达式不适用于集合。可能类似于:
…和INSTR(“|”)和Join(参数!Status.Value,“|”)和“|”、“|”&字段!Status.Value&“|”)0
。这将在状态参数值中查找状态字段。管道(|)用于确保当其中一个参数值未支付时,您不会获得付款。
Expression: Fields!MeetCriteria.Value
Type: INTEGER
Operator: = 
Value: 1
=IIF(Fields!AGE.Value < 10 
  AND INSTR("|" & Join(Parameters!Status.Value, "|") & "|", "|" & Fields!Status.Value & "|") > 0, 
  1, 0)