views:

636

answers:

6

I'm essentially brand new to the reporting world, and I've been tasked with creating a series of reports, and I'm trying to figure out how to best start. Since we're a Microsoft shop, using VS 2005 right now, Crystal Reports and SSRS both look like possible candidates. But I'd like to improve my chances for picking a winner out of the gate, so I'm asking here.

The key elements that I can think of, offhand:

  • The reports will be driven by a website. People will be able to create them on demand.
  • The reports must be flexible, where the user can ask for different date ranges, specific filters on some columns, etc.
  • The data will initially be coming from an AS400. We can have an intermediary process to massage the data, but the ability to take it directly from the AS400 would be a plus.
  • Some of these reports will need to be scheduled on a repeating basis, and automatically generated at certain intervals.
  • The reports should be viewable on the web (html), or downloadable as Excel or PDF.
  • We'll be using C# for the code.
  • EDIT: We need to be able to have internationalization/localization for these reports.

So, finally, the key questions:

  1. Is there anything in here that would preclude either SSRS or Crystal Reports?
  2. If either would work, has is one of them easier or more flexible than the other?

Any help (even if it's just to point me other sites that point out advantages or limitations of one or both of them) would be greatly appreciated.

+1  A: 

Not sure how old this is but have a read

http://www.kenhamady.com/ssrscomp.pdf

I would pick SSRS since you are dotnet shop familiar with VS already.

CodeToGlory
+1  A: 

I do not have any experience with Crystal Reports, however, I am quite fluent with ReportingServices.

The ReportViewer control is capable of running in Local Processing mode, which means that you do not require a SQL Server backend to generate reports.

Also, this control comes in two flavors, a Winform and Webform control depending on your solution.

Running the ReportViewer control in local processing mode will allow you to export the reports in PDF or Excel. Both rendering extensions are available. However, no other rendering extensions are available when running in local mode.

Scheduling is possible, but you will need to code your app to do this. I am assuming that the reports would need to be saved at specific times. Best way to do this is to run the export command and save it as Excel or PDF.

As far as retrieving the DATA from an AS400 mainframe, this is not supported. Like you mentioned, the data would need to be massaged into a .NET object, such as a datatable/dataset prior to sending it to the reportviewer control.

More information about Reporting Services can be found at www.gotreportviewer.com

If you want more specific details on this option, let me know, and I will do my best to answer your questions.

EDIT: EXPORTING TO PDF -- The render method is used inside this custom function.

  'Export Report to PDF
  Private Sub ReportCommandExportToPDF()
    Dim warnings As Warning() = Nothing
    Dim streamids As String() = Nothing
    Dim mimeType As String = Nothing
    Dim encoding As String = Nothing
    Dim extension As String = Nothing
    Dim bytes As Byte()

    SaveFileDialog1.DefaultExt = "pdf"
    SaveFileDialog1.Filter = "pdf files (*.pdf)|*.pdf"
    SaveFileDialog1.FileName = "YOURFILENAME"
    Dim returnValue As DialogResult = SaveFileDialog1.ShowDialog()
    If (returnValue = Windows.Forms.DialogResult.OK) Then
      bytes = ReportViewer1.LocalReport.Render("PDF", Nothing, mimeType, encoding, extension, streamids, warnings)
      Dim fs As New FileStream(SaveFileDialog1.FileName, FileMode.Create)
      fs.Write(bytes, 0, bytes.Length)
      fs.Close()
    End If
  End Sub
Jon
I have several questions that I'm trying to work through, but one thing that I'm noticing is when you say "...run the export command and save it as Excel or PDF." I don't see an export method...am I missing something?
Beska
Maybe I don't need the viewer for this at all? I could just use Report.Render()?
Beska
Yes, you can simply call the Render method, however, this method is contained within the reportViewer control object. I posted some code in my reply up top (VB.NET) that shows you how I do my PDF exports.
Jon
A: 

SSRS will do everything you asked for except for reporting directly from AS400. You will have to write data set extensions in SSRS to talk to AS400.

msvcyc
+1  A: 

I think most of SO leans towards SSRS over Crystal Reports.

see... http://stackoverflow.com/questions/168427/compare-sql-server-reporting-services-to-crystal-reports

I like them both, but I'll agree with them to say that SSRS is probably the better way to go.

Dusty
Thanks for the SO link...very relevant! (Believe it or not, I did a search before I posted this question, but somehow didn't find that question.)
Beska
It's all good. I reference that question a lot because I think it is funny how much people on SO have down voted the accepted answer because it is pro-Crystal. :)
Dusty
A: 

Ive got a vast experience with CR and some experience (very little comparing to) with SSRS. I think that CR is more powerful when it comes to building complicated reports. What I dislike about CR is a lack of tabular data formating options. This have own downsides of course. For example, its little harder to output simple tabular data and due to the nature of formating mechanism reports exported to MS Word consist of a whole lot of small textboxes, separated lines ect which makes it really hard to format/edit them. Its little better with Excel but you will have to ensure you have exactly needed amount of guidelines in a proper positions as when exported to Excel each guideline separates a new column...

Ray
A: 

I have quite a bit of experience using both CR and SSRS and have come to appreciate and recommend SSRS (2005/2008) as a preferred reporting solution.

For someone who is new to reporting I would definately go with SSRS for the simple reason that the resources available if you enoucnter problems are so much more vast. There are reams of information available on the web that support most aspects of SSRS development. However, it is my experience that CR is just not as well supported or documented (it seems that many searches for Crystal related problems turn up websites that are trying to sell you something!).

Daveed