Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 使用Reporting Services 2008 R2中的参数创建动态表达式_Reporting Services_Ssrs 2008 - Fatal编程技术网

Reporting services 使用Reporting Services 2008 R2中的参数创建动态表达式

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

我需要在SSRS 2008 R2报告上创建一个动态表达式

我有一个包含以下列的表: ID,数字字段1,数字字段2,数字字段3 和一个名为FormulaParameter的参数

在报告中,我需要根据在参数上编写的动态表达式创建另一列。在
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选项集。

该选项集是动态的,而不是固定的。