尝试使用自定义代码部署SSRS项目时的标识符预期错误

时间:2014-05-12 20:07:40

标签: reporting-services ssrs-2008

我有一个包含此自定义代码的项目:

Public Function GetStdDev(ByVal Sum1 as Integer, ByVal Sum2 as Integer, 
                                          ByVal Sum3 as Integer, ByVal Sum4 as Integer,
                                          ByVal Sum5 as Integer, ByVal WAvg as double) as Double
   Dim aleph = 5/60
   Dim w1 = (Sum1 - WAvg)^2 
   Dim w2 = 2 * ((Sum2 - WAvg)^2)
   Dim w3 = 3 * ((Sum3 - WAvg)^2)
   Dim w4 = 4 * ((Sum4 - WAvg)^2)
   Dim w5 = 5 * ((Sum5 - WAvg)^2)
   Dim alpha = (w1 + w2 + w3 + w4 + w5) / 5
   Dim beta = sqrt(alpha * aleph)
   Return beta
End Function

报告可以很好地预览,但是当我部署它时,我收到了这个错误:

There is an error on line 0 of custom code: [BC30203] Identifier expected.  

我不知道SSRS的问题是什么。谁能开导我?

谢谢!

2 个答案:

答案 0 :(得分:11)

这是编程规则#1的经典案例:"我是一个傻瓜"。问题是我做到了 没有放在函数声明的下划线,因为我忘了你必须在VB中这样做。为什么预览没有抱怨,我永远不会知道。更正的代码是:

Public Shared Function GetStdDev(ByVal Sum1 as Integer, ByVal Sum2 as Integer, _ 
                                          ByVal Sum3 as Integer, ByVal Sum4 as Integer, _
                                          ByVal Sum5 as Integer, ByVal WAvg as double)     as Double
   Dim aleph as double = 5/60
   Dim w1 as double  = (Sum1 - WAvg)^2 
   Dim w2 as double = 2 * ((Sum2 - WAvg)^2)
   Dim w3 as double = 3 * ((Sum3 - WAvg)^2)
   Dim w4 as double = 4 * ((Sum4 - WAvg)^2)
   Dim w5 as double = 5 * ((Sum5 - WAvg)^2)
   Dim alpha as double = (w1 + w2 + w3 + w4 + w5) / 5
   Dim beta as double = sqrt(alpha * aleph)
   Return beta
End Function

答案 1 :(得分:0)

您需要标记以下功能:

Public Shared Function GetStdDev`(ByVal Sum1 as Integer, ByVal Sum2 as Integer, 
                                          ByVal Sum3 as Integer, ByVal Sum4 as Integer,
                                          ByVal Sum5 as Integer, ByVal WAvg as double) as Double