Question

Question:

We (that is to say I, single person) should implement "user generated reports" (in 1 month at most, presentation at the end of the month/start of the new month).

Problem 1:
By user, I mean users that do not have any technical skills, like SQL or VBA.

Problem 2:
Technology is .NET ONLY, so I cannot use Java (and things based on Java like Jasper)

Problem 3:
Exports to Excel should be possible (and I mean XLS or XLSX, not XML or CSV)

Problem 4:
Grouping of data should be possible (multiple groups)

Problem 5:
Database is Microsoft SQL-Server (presumable 2008 R2, but could end-up being 2008 R1 or 2005)

Bonus "Problem":
Web based, with ASP.NET WebForms, but can also be desktop based, if web is not possible


Now apart from the sheer ridiculousness of those requirements and time constraints...

One solution would be the report builder supplied by SSRS (SQL-Server Reporting Service). However, there are some disadvantages, which I think are pretty severe:

  1. The user creating the report basically still needs to know SQL (left, right, inner, outer join and their consequences). Since the user probably doesn't understand the difference, they will just blame me if they get no or wrong results (inner join on a null column for example).

  2. The user creating the report knows nothing about the database/data-structure (e.g. soft deletes, duration dates). Also garbage-in garbage-out is probably going to be a problem, complete with wrong data etc. ...

  3. If they are going to make a matrix, and are going to sum subtotals from unrounded values, the sum of the total is not going to match the sum of the subtotals, because the report is going to display something like only 2 digits after the comma (and therefore round the value to 2 digits) for subtotals, but it's going to calculate the total from the sum of all values (which are NOT rounded), not from the sum of the subtotals (which are rounded). Again, they will blame me or the data, or the report builder for it.

  4. Since the report-builder is not going to display the number of results after adding an additional table with a join, a user will have no way of telling whether they have the right number of records, which will inevitably result in wrong results. Again, they will blame me.

  5. Filters on dates: One needs to apply them, but not necessarily in the where, but in the join. Report builder doesn't support that. It's not possible to create a serious report like that.

  6. Status: As said, we use soft-deletes, and a status field with status 99 for deleted records. Filtering status in the where is dangerous, and must sometimes occur in the join. Again, Report Builder doesn't support that, unless you use raw SQL, which is pointless since the users are not going to know SQL.

  7. Installing report builder requires admin rights, or the IT department of the customer company to install it. And the appropriate .NET framework for the appropriate ReportBuilder , and the appropriate ReportBuilder for the appropriate Report-Server, since SQL-Server 2005 Reporting Service is NOT going to work with reports for SQL-Server 2008 Reporting Services, and SQL 2008 R1 not with R2. And also this requires all users capable of that to be in a certain SQL-Server reporting service report generator user role, which requires the IT department to put users into the appropriate active-directory group, which so far has never worked with any of the customers we had. Plus I don't trust the IT department to know that they install the appropriate ReportBuilder, if they agree to install it at all.


Now I once (a longer time ago) happened to view a presentation of SSAS (SQL-Server Analysis Services) on youtube.
But I don't find the link anymore.
But anyway, I don't have any experience in SSAS, only SSRS.

I think it would be possible to abuse SSAS in such a way, that the users could connect to it via Excel, and get the data and sum them more or less like they want to. Also, they would be able to see the raw data.

And I could pre-prepare a few queries for raw-data from tables (that, I could do with reportbuilder as well, via datasets).

Does anybody know SSAS well enough to tell me whether this is feasible in that amount of time ?
And if the add-in required for analysis server and Excel-versions (2007/2010) is compatible with all analysis-server versions, or if there are problems accessing 2008 R2 from Excel 2007 or SSAS-2005 from Excel 2010.

Or whether I am bound to run into more problems with SSAS than with ReportBuilder ?

Was it helpful?

Solution

If your question is whether SSAS is a reasonable approach to your problem, my answer is yes. The benefit of SSAS is that generally speaking the data is modeled in a way that is readily understood by business users and easily manipulated in Excel to produce a variety of reports with no knowledge of a query language. With any version of SSAS, you can use Excel versions 2007 or 2010. There is no add-in required for this - the provider is built into both Excel versions already. Furthermore, by putting the model into SSAS, you are actually making your data more readily accessible by a variety of tools - you can use Excel or SSRS or a variety of 3rd party tools if you so desire. In other words, you're not limiting your options with this approach, but expanding your options as compared to Report Builder.

That said, working with SSAS can be simple or hard. It depends on the type of data you're working with and the complexity of any calculations that must be added to the model. Whether you can achieve your goals in the amount of time you have available is not a question I can answer. It really depends on the type of data that you have and the type of reports that your users need.

I can point you to a couple of resources. I wrote an article for TechNet as a gentle introduction: http://technet.microsoft.com/en-us/magazine/ee677579.aspx. It was written for SSAS 2008 but the principles apply to SSAS 2005, SSAS 2008, SSAS 2008 R2, and SSAS 2012.

If you prefer a video introduction, see http://channel9.msdn.com/Blogs/rdoherty/Demo-Developing-a-SQL-Server-2008-R2-Analysis-Services-Database to start. You can find a lot of free video material on SSAS at channel9. Just do a search for SSAS.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top