0

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

我有一个包含这些列的表:ID、NumericField1、NumericField2、NumericField3 和一个名为 FormulaParameter 的参数。

在报告中,我需要根据写在参数上的动态表达式创建另一列。在FormulaParameter我想写“NumericField1 / NumericField2”或“NumericField2 * NumericField1”中,必须在新列上计算公式。

在这个新列上,我只是添加了表达式=Parameters!FormulaParameter.Value,但它总是作为字符串计算,我需要计算参数内的公式。

4

1 回答 1

0

在生成报告正文之前评估报告参数,因此您尝试执行的操作将不起作用。但是,您可以通过将逻辑放入新列中来执行此操作,该新列将根据参数中选择的内容运行不同的公式,例如

=Iif(
     Parameters!FormulaParameter.Value = "NumericField1/NumericField2",        
     Fields!NumericField1.Value /  Fields!NumericField2.Value,    
     Iif(
        Parameters!FormulaParameter.Value = "NumericField1*NumericField2",       
        Fields!NumericField1.Value * Fields!NumericField2.Value, 
        ""
        )
  )

从您的问题来看,尚不清楚这些公式是否是仅有的两个选项,或者用户将能够输入他们选择的公式。以上假设有一组固定的论坛选项。

于 2013-06-16T10:43:51.647 回答