SQL Server Performance

Executing Custom Functions

Discussion in 'SQL Server Reporting Services' started by dmatta59, Feb 9, 2004.

  1. dmatta59 New Member

    Have created a namespace that contains a class with my personnal functions for various
    string manulations. Have one called secsToHMS() within the class of MyRptFx within the namespace dmatta under the project MyFx.

    Have my reporting project called report project1 and have included the class as another project. Within a matrix cell, the function is called:

    =dmatta.myrptfx.secsToHMS(param)

    When building, it doesn't recognize the reference. I believe that this is possible?
    If it is then what might I be missing?

    THanxs,
    dmatta
  2. jasper_smith New Member

  3. dmatta59 New Member

    Have tried this approach. It is using a static member of a newly created class with a namespace of dmatta. When compiling, the expression doesn't recognize the namespace. Have tried a number of variations but can't seem to identify the problem.

    Any suggestions?

    Thanxs,
    dmatta
  4. dmatta59 New Member

    Please verify that this is the right approach. To add a reference to a web project, one would need to:

    1) Created a namespace and class using a ClassLibrary template.
    Solution name: MyLib
    Project Name : MyLib
    VB Code Name: MyRptFx.vb

    Within VB Code, have the following which builds with no problem:

    namespace dmatta
    public class MyRptFx

    Public shared Function SecsToHMS(byVal secs as Long) as String
    SecsToHMS = strout
    End Function
    end class
    end namespace

    2) Under the solution Report Project 1, have two projects.
    a) Web application porject call Report Project1.
    b) Vb Application called MyLib which was added to Report Projects as an
    existing project.
    c) Added a reference to the to MyLib using the MyLib.dll

    Using expression as =dmatta.MyRptFx.SecsToHMS.....
    Build Fails with dmatta not defined. Am I adding the reference to the MyLib dll properly???

    Any suggestions appreciated.

    Thanxs,
    dmatta

  5. jasper_smith New Member

    These are the steps I took to do this<br /><br />1) Create a brand new project that is a VB Class Library<br />2) Give it a root namespace of RSTest<br />3) Add the following code<pre>Public Class RSClass<br /><br /> Public Shared Function RSAdd4(ByVal i As Integer) As Integer<br /> Return (i + 4)<br /> End Function<br /><br />End Class</pre><br />4) Build the solution<br />5) Copy the output (RSTest.dll) to the following folders<br />C:program FilesMicrosoft SQL ServerMSSQLReporting ServicesReportServerin<br />C:program FilesMicrosoft SQL Server80ToolsReport Designer<br />6) Create a brand new Reporting Services Project<br />7) Add a new Report<br /><img src='/community/emoticons/emotion-11.gif' alt='8)' /> In the Report&gt;Report Properties Menu select the References Tab and browse to the output of my Class Library project and select RStest.dll<br />9) In an expression in the Report call it like so<pre>=RSTest.RSClass.RSAdd4(Fields!qty.Value)</pre><br />10) Deploy the report to the server<br /><br /><br />HTH<br /><br />Jasper Smith
  6. dmatta59 New Member

    Jasper,

    Suppose I already have a reporting services solution with a project in it and two reports. Is there a way to do this with
    existing reports?

    Currently viewing report properties for r100Perf.rdl and it displays the fullPath and Name. There is no reference tab...
    When a new report is added and the properties viewed there still is no reference tab....
    I looking in the right place?

    dmatta
  7. jasper_smith New Member

    Not quite [<img src='/community/emoticons/emotion-1.gif' alt=':)' />]<br />With Report Designer open, open an existing report and choose the Layout Tab. Click anywhere on the layout and you should see a Report menu item in the top menu of Visual Studio. For example, my top menu in VS looks like<br /><br />File Edit View Project Build Debug Format Report Tools Window Help<br /><br />You want the Report menu and then choose Report Properties and you should see the References Tab on that<br /><br /><br />HTH<br /><br />Jasper Smith
  8. dmatta59 New Member

    Will try and let you know. Have a subsequent question....

    Was trying to add the dll by adding the class library project to the report solution. It can be done with other .Net development. Is it not possible with Reports server?

    Thanxs,
    dmatta

  9. jasper_smith New Member

    I don't see ahy you can't do this to kepp the dll and the reports it depends on together but Report Designer won't deploy the dll for you so you still need to copy it to the locations indicated in my previous reply plus the dll has to exist and be references before you can use it in your report. I don't think it matters, I was just keeping them separate to (hopefully) make the walkthrough clearer [<img src='/community/emoticons/emotion-2.gif' alt=':D' />]<br /><br /><br />HTH<br /><br />Jasper Smith
  10. dmatta59 New Member

    Appreciate the information and feel much better since adding the project would work as a declaration and distribution of the .dll in .NET but now know not in reports server....<br /><br />Thanxs, <br />dmatta<br /><br /><img src='/community/emoticons/emotion-1.gif' alt=':)' /> <img src='/community/emoticons/emotion-1.gif' alt=':)' /><br />

Share This Page