Reporting services 使用Reporting Services 2008 R2中的参数创建动态表达式
我需要在SSRS 2008 R2报告上创建一个动态表达式 我有一个包含以下列的表: ID,数字字段1,数字字段2,数字字段3 和一个名为FormulaParameter的参数 在报告中,我需要根据在参数上编写的动态表达式创建另一列。在Reporting services 使用Reporting Services 2008 R2中的参数创建动态表达式,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,我需要在SSRS 2008 R2报告上创建一个动态表达式 我有一个包含以下列的表: ID,数字字段1,数字字段2,数字字段3 和一个名为FormulaParameter的参数 在报告中,我需要根据在参数上编写的动态表达式创建另一列。在FormulaParameter中,我想写“NumericField1/NumericField2”或“NumericField2*NumericField1”,并且必须在新列中计算公式 在这个新列中,我只需添加表达式=参数!FormulaParameter.Val
FormulaParameter
中,我想写“NumericField1/NumericField2”或“NumericField2*NumericField1”,并且必须在新列中计算公式
在这个新列中,我只需添加表达式
=参数!FormulaParameter.Value
但它始终作为字符串计算,我需要计算参数内的公式。报表参数在生成报表正文之前进行计算,因此您尝试执行的操作将不起作用。
但是,您可以通过将逻辑放在新列中来实现这一点,该列将根据参数中选择的内容运行不同的公式,例如
=Iif(
Parameters!FormulaParameter.Value = "NumericField1/NumericField2",
Fields!NumericField1.Value / Fields!NumericField2.Value,
Iif(
Parameters!FormulaParameter.Value = "NumericField1*NumericField2",
Fields!NumericField1.Value * Fields!NumericField2.Value,
""
)
)
从您的问题来看,不清楚这些公式是唯一的两个选项,还是用户能够键入他们选择的公式。以上假设存在固定的forumla选项集。该选项集是动态的,而不是固定的。