如何使用SSRS矩阵报告中的行组获取所有被选为行的参数?
How to get all the parameters that are selected as a rows using row groups in SSRS matrix report?
我需要获取在参数(多值参数)中选择的所有值(假设管辖权)。我的存储过程仅返回少数管辖区,因为 table 仅具有该数据。但是我需要显示其他被选为输入参数的司法管辖区,相应的值为 Null 或 0。
就像我选择了 NJ、VA、IA、NY 并且我的报告数据集的 SP 正在从 table 中获取 NJ、VA、IA 的值,我需要用 table 值来表示这些值,而 NY 用空格来表示或 0.
现在我得到了
Jurisdiction Value
NJ 1
VA 23
IA 5
但我需要
Jurisdiction Value
NJ 1
VA 23
IA 5
NY 0 or Null
管辖权用作 SSRS 矩阵报表中的行组。
这里有两种方法。
首先,如果您可以更改存储过程或为您的数据集编写自己的 SQL,那么您可以使用左外连接来实现。例如,您的 SQL 可能看起来像这样:
SELECT Jurisdiction, Value
FROM JurisdictionValues
WHERE Jurisdiction IN (@Jurisdictions)
这只会为您提供有价值的结果。如果我们离开 outer join 反对司法管辖区 table 那么我们可以 return 一些选择的所有参数值,即使该值将为 null。
SELECT J.Jurisdiction, JV.Value
FROM Jurisdictions J
LEFT OUTER JOIN JurisdictionValues JV ON J.Jurisdiction = JV.Jurisdiction
AND J.Jurisdiction IN (@Jurisdictions)
另一种方法是直接在 SSRS 中进行查找。您将有两个数据集,一个是 Jurisdictions,另一个是 JurisdictionValues。报告的 table 基于司法管辖区并具有以下 SQL:
SELECT Jurisdiction
FROM Jurisdictions
WHERE Jurisdiction IN (@Jurisdictions)
JurisdictionValues table return 来自您的存储过程的管辖区和值。在值的 table 单元格中,输入以下公式:
=Lookup(Fields!Jurisdiction.Value, Fields!Jurisdiction.Value, Fields!Value.Value, "JurisdictionValues")
Lookup 找到 Jurisdiction 和 returnValue 字段的对应值。
我需要获取在参数(多值参数)中选择的所有值(假设管辖权)。我的存储过程仅返回少数管辖区,因为 table 仅具有该数据。但是我需要显示其他被选为输入参数的司法管辖区,相应的值为 Null 或 0。
就像我选择了 NJ、VA、IA、NY 并且我的报告数据集的 SP 正在从 table 中获取 NJ、VA、IA 的值,我需要用 table 值来表示这些值,而 NY 用空格来表示或 0.
现在我得到了
Jurisdiction Value
NJ 1
VA 23
IA 5
但我需要
Jurisdiction Value
NJ 1
VA 23
IA 5
NY 0 or Null
管辖权用作 SSRS 矩阵报表中的行组。
这里有两种方法。
首先,如果您可以更改存储过程或为您的数据集编写自己的 SQL,那么您可以使用左外连接来实现。例如,您的 SQL 可能看起来像这样:
SELECT Jurisdiction, Value
FROM JurisdictionValues
WHERE Jurisdiction IN (@Jurisdictions)
这只会为您提供有价值的结果。如果我们离开 outer join 反对司法管辖区 table 那么我们可以 return 一些选择的所有参数值,即使该值将为 null。
SELECT J.Jurisdiction, JV.Value
FROM Jurisdictions J
LEFT OUTER JOIN JurisdictionValues JV ON J.Jurisdiction = JV.Jurisdiction
AND J.Jurisdiction IN (@Jurisdictions)
另一种方法是直接在 SSRS 中进行查找。您将有两个数据集,一个是 Jurisdictions,另一个是 JurisdictionValues。报告的 table 基于司法管辖区并具有以下 SQL:
SELECT Jurisdiction
FROM Jurisdictions
WHERE Jurisdiction IN (@Jurisdictions)
JurisdictionValues table return 来自您的存储过程的管辖区和值。在值的 table 单元格中,输入以下公式:
=Lookup(Fields!Jurisdiction.Value, Fields!Jurisdiction.Value, Fields!Value.Value, "JurisdictionValues")
Lookup 找到 Jurisdiction 和 returnValue 字段的对应值。