Enterprise Reporting Solutions [closed] - sql

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What options are there in the industry for enterprise reporting? I'm currently using SSRS 2005, and know that there is another version coming out with the new release of MSSQL.
But, it seems like it might also be a good time to investigate the market to see what else is out there.
What have you encountered? Do you like it/dislike it? Why?
Thank you.

I've used Cognos Series 7, Cognos Series 8, Crystal Reports, Business Objects XI R2 WebIntelligence, Reporting Services 2000, Reporting Services 2005, and Reporting Services 2008. Here's my feedback on what I've learned:
Reporting Services 2008/2005/2000
PROS
Cost: Cheapest enterprise business intelligence solution if you are using MS SQL Server as a back-end. You also have a best-in-class ETL solution at no additional cost if you throw in SSIS.
Most Flexible: Most flexible reporting solution I've ever used. It has always met all my business needs, particularly in its latest incarnation.
Easily Scalable: We initially used this as a departmental solution supporting about 20 users. We eventually expanded it to cover a few thousand users. Despite having a really bad quality virtual server located in a remote data center, we were able to scale to about 50-100 concurrent user requests. On good hardware at a consulting gig, I was able to scale it to a larger set of concurrent users without any issues. I've also seen implementations where multiple SSRS servers were deployed in different countries and SSIS was used to synch the data in the back-ends. This allowed for solid performance in a distributed manner at almost no additional cost.
Source Control Integration: This is CRITICAL to me when developing reports with my business intelligence teams. No other BI suite offers an out-of-box solution for this that I've ever used. Every other platform I used either required purchasing a 3rd party add-in or required you to promote reports between separate development, test, and production environments.
Analysis Services: I like the tight integration with Analysis Services between SSRS and SSIS. I've read about instances where Oracle and DB2 quotes include installing a SQL Server 2005 Analysis Services server for OLAP cubes.
Discoverability: No system has better discoverability than SSRS. There are more books, forums, articles, and code sites on SSRS than any other BI suite that I've ever used. If I needed to figuire out how to do something in SSRS, I could almost always find it with a few minutes or hours of work.
CONS
IIS Required for SSRS 2005/2000: Older versions of SSRS required installing IIS on the database server. This was not permissible from an internal controls perspective when I worked at a large bank. We eventually implemented SSRS without authorized approval from IT operations and basically asked for forgiveness later. This is not an issue in SSRS 2008 since IIS is no longer required.
Report Builder: The web-based report builder was non-existant in SSRS 2000. The web-based report builder in SSRS 2005 was difficult to use and did not have enough functionality. The web-based report builder in SSRS 2008 is definitely better, but it is still too difficult to use for most business users.
Database Bias: It works best with Microsoft SQL Server. It isn't great with Oracle, DB2, and other back-ends.
Business Objects XI WebIntelligence
PROS
Ease of Use: Easiest to use for your average non-BI end-user for developing ad hoc reports.
Database Agnostic: Definitely a good solution if you expect to use Oracle, DB2, or another database back-end.
Performant: Very fast performance since most of the page navigations are basically file-system operations instead of database-calls.
CONS
Cost: Number one problem. If I want to scale up my implementation of Business Objects from 30 users to 1000 users, then SAP will make certain to charge you a few hundred thousands of dollars. And that's just for the Business Objects licenses. Add in the fact that you will also need database server licenses, you are now talking about a very expensive system. Of course, that could be the personal justification for getting Business Objects: if you can convince management to purchase a very expensive BI system, then you can probably convince management to pay for a large BI department.
No Source Control: Lack of out-of-the-box source control integration leads to errors in accidentally modifying and deploying old report definitions by mistake. The "work-around" for this is promote reports between environments -- a process that I do NOT like to do since it slows down report development and introduces environmental differences variables.
No HTML Email Support: You cannot send an HTML email via a schedule. I regularly do this in SSRS. You can buy an expensive 3rd party add-in to do this, but you shouldn't have to spend more money for this functionality.
Model Bias: Report development requires universes -- basically a data model. That's fine for ad hoc report development, but I prefer to use stored procedures to have full control of performance. I also like to build flat tables that are then queried to avoid costly complex joins during report run-time. It is silly to have to build universes that just contain flat tables that are only used by one report. You shouldn't have to build a model just to query a table. Store procedure support is also not supported out of the box without hacking the SQL Overrides.
Poor Parameter Support: Parameter support is terrible in BOXI WebIntelligence reports. Although I like the meta-data refresh options for general business users, it just isn't robust enough when trying to setup schedules. I almost always have to clone reports and alter the filters slightly which leads to unnecessary report definition duplication. SSRS beats this hands down, particularly since you can make the value and the label have different values -- unlike BOXI.
Inadequate Report Linking Support: I wanted to store one report definition in a central folder and then create linked reports for other users. However, I quickly found out end-users needed to have full rights on the parent object to use the object in their own folder. This defeated the entire purpose of using a linked report object. Give me SSRS!
Separate CMC: Why do you have to launch another application just to manage your object security? Worse, why isn't the functionality identical between CMC and InfoSys? For example, if you want to setup a scheduled report to retry on failed attempts, then you can specify the number of retries and the retry interval in CMC. However, you can't do this in InfoSys and you can't see the information either. InfoSys allows you to setup event-driven schedules and CMC does not support this feature.
Java Version Dependency: BOXI works great on end-user machines so long as they are running the same version of java as the server. However, once a newer version of java is installed on your machine, things starts to break. We're running Java 1.5 on our BOXI R2 server (the default java client) and almost everyone in the company is on Java 1.6. If you use Java 1.6, then prompts can freeze your IE and FoxFire sessions or crash your report builder unexpectedly.
Weak Discoverability: Aside from BOB (Business Objects Board), there isn't much out there on the Internet regarding troubleshooting Business Objects problems.
Cognos Series 8
PROS
Ease of Use: Although BOXI is easier to use for writing simple reports for general business users, Cognos is a close 2nd in this area.
Database Agnostic: Like BOXI this is definitely a good solution if you expect to use Oracle, DB2, or another database back-end.
FrameWork Manager: This is definitely a best-in-class meta-data repository. BOXI's universe builder wishes it was half as good. This tool is well suited to promoting packages across Development, Test, and Production environments.
CONS
Cost: Same issue as Business Objects. Similar cost structure. Similar database licensing requirements as well.
No Source Control: Same issue as Business Objects. I'm not aware of any 3rd party tools that resolve this issue, but they might exist.
Model Bias: Same issue as Business Objects. Has better support for stored procedures in FrameWork Manager, though.
Poor Parameter Support: Same issue as Business Objects. Has better support for creating prompt-pages if you can code in Java. Buggy behavior, though, when users click the back-button to return to the prompt-page. SSRS beats this out hands-down.
Inadequate Error Handling: Error messages in Cognos are nearly impossible to decipher. They generally give you a long negative number and a stack dump as part of the error message. I don't know how many times we "resolved" these error messages by rebuilding reports from scratch. For some reason, it is pretty easy to corrupt a report definition.
No Discoverability: It is very hard to track down any answers on how to troubleshoot problems or to implement functionality in Cognos. There just isn't adequate community support in Internet facing websites for the products.
As you can guess from my answer, I believe Microsoft's BI suite is the best platform on the market. However, I must state that most articles I've read on comparisons of BI suites usually do not rate Microsoft's offering as well as SAP's Business Objects and Cognos's Series 8 products. Also, I've also seen Microsoft come out on the bottom in internal reviews of BI Suites in two separate companies after they were review by the reigning CIO's. In both instances, though, it seemed like it all boiled down to wanting to be perceived as a major department that justified a large operating budget.

I'd like to make two contributions. One is very negative (CR is rubbish) and the other is very positive (SSRS is backing store independent and available at no cost).
On a side note, if you mod an answer down then add a comment explaining why you think the answer is wrong or counterproductive, unless someone else already said the same thing. Even then, a simple "as above" would be helpful.
Crystal Reports is rubbish
Crystal Reports is an insult to the development community. Simple dialog resize bugs that would be the work of moments to fix have remained uncorrected over ten years and six major releases, so I really doubt that any attempt is ever made to address the tough stuff. Crystal Reports is profoundly untrustworthy, as this SQL demonstrates.
SELECT COUNT(*) FROM sometable WHERE 1=0
This statement produces a result of one when it should produce zero. This is a repeatable off-by-one error in the heart of the Crystal Reports SQL engine.
The support for CR is equally dismal, having been moved offshore many years ago. If you cough up $200 for a support call, an unintelligible foreigner will misunderstand your question and insult your intelligence until you give up, at which point he will - because you have chosen to give up - declare the call resolved.
If it's really this bad why is it so popular? It isn't popular. It's very un popular. It gets a toe-hold via great marketing. Management types see glossy adverts promising much, and because CR has been around so long they assume it's all true. Much like bindis (Australian prickle weed) in your lawn, once installed it's nearly impossible to get rid of it. Admitting to incompetence is a bad career move for a manager. When managers lack the technical expertise to make a decision, rather than allow a technical person to make the decision they fall back on precedent and repeat the mistakes of their peers. They also fail to realise that if they want to actually use the web delivery stuff they are up for a server licence. Also, longevity means it's easy to find people with CR experience.
For the details and a good laugh I recommend these links.
Clubbing the Crystal Dodo
Crystal Reports "Sucks"
[Crystal Reports Sucks Donkey Dork ] (dead link, still trying to find content) 3
Or just type "crystal reports sucks" into Google. For a balanced perspective, also try "crystal reports rocks". Don't worry, this won't take much of your time. There are no positive reviews outside their own marketing hype.
Now for something more positive.
SQL Reports is effectively free
You can install it at no charge as part of SQL Express with Advanced Services. You can also install .NET 2.x which brings with it ADO.NET drivers for major database providers as well as generic OLEDB and ODBC support.
Since SSRS uses ADO.NET, this means you can connect SSRS to anything to which you can connect ADO.NET, ie just about anything.
The terms of the licence applying to SSRS as supplied with SQL Express require it to be deployed and installed as part of SQL Express. They don't have anything to say about where reports get their data.
SQL Express is limited, but the accompanying SSRS has no such limitations. If your data is provided by another database engine you can support as many users as that engine is licensed to support. Don't get me wrong, at work we have dozens of licensed copies of MS SQL Server. I'm just saying that you can use SSRS against the backing store of your choice, without having to find or justify budget for it. What you will be missing is scheduling and subscription support. I speak from experience when I say that it is not profoundly difficult to write a service that fills the gap.
SSRS fulfils every promise that CR makes. Easy to use, good support for user DIY, has a schema abstraction tool conceptually similar to CR BO but which works properly, high performance, schedulable, easy to use, stable, flexible, easy to extend, can be controlled interactively or programmatically. In the 2008 edition they even support rich-formatted flow-based templates (mail merge for form letters).
It is the best reporting solution I have ever seen in twenty years of software development on platforms ranging from mainframes through minis to micros. It ticks every box I can think of and has only one profound weakness I can recall - the layout model doesn't support positioning relative to page bottom and the only workaround is positioning relative to page top on a known height page.
It does not address problems like heterogeneous data provision, but IMHO these can and should be addressed outside of the report proper. Plenty of data warehousing solutions (such as SSIS) provide tools for solving such problems, and it would be absurd to put a half-assed duplicate capability in the report engine.
Getting a sane decision out of your pointy-haired boss
Tell him you think that given its problematic history and unpopularity with developers, choosing Crystal Reports is a courageous move that marks him as a risk-taker.
Some bosses are so stupid they will think this is a good thing but with them you are doomed anyway.

Having experiences with both (CR and SSRS) here is the lowdown of what I think:
CR lets you develop a report very fast. As long as its simple. If it gets slightly complicated, it gets fishy trying to make it do what you want. Per example you are limited to a max hierarchy of 2 subreports. It gets weird when you have subreports that need parameters that must be altered in a main report, etc. Plenty of workarounds but sometime they simply suck.
Also the report layout is basically fixed; you have to put your data and info into the specific sections (Page Header/Footer,Details/Report Footer/Header). This is rather helpful as it helps you correctly display data that spans on multiple pages.
Also it has a fairly complete set of functions that can be used to manipulate financial data and etc.
SSRS is more flexible around the report editing. Its report wizard allows you to basically create a report in a WYSIWYG environnement, it allows you multiple subreports so you can easily display multiple datasets in one page. It allows you to connect .NET assemblies to do complicated data manipulation/calculation. However, it can get hard to properly display your reports in a fixed way, you often have to struggle to get everything displayed as you want it.
Crystal Reports is $$$.
SSRS, if I remember correctly is now bundled "free" in the SQL Server Enterprise edition. Of course you probably pay for it in the price of the whole package, I guess it's MS way to try and push it in corporate land.

I've been using SSRS for a while now... and coworkers who look over my shoulder say it looks to be MUCH easier to do the SSRS thing than the Crystal. I've never used Crystal, so I can't tell you which is better, but I get the distinct impression that MS tried to rush SSRS out the door.
Largest weaknesses:
Sharing Datasets. I work in a DoD environment. 90% of my reports use a Service parameter. I get sick of typing the same query over and over again.
Skinning. If you do the report wizard you can skin your report, but not if you do
it manually? huh? I can "skin"things by selecting all the affectedfields and then setting back colors,fore colors, etc. But nowhere (atleast no where I can find) can youskin something with 1 click.
No custom skinning. Report wizard/
manual, there's no where I can find
to implement a custom skin. Would
be nice to just set up something
(like CSS for HTML) and then just
link to it. Tools should help you by reducing your effort rather than add to said effort.
Matrixes need better documentation. I can do VERY simple things, but once I try to get into fun/difficult things, books/the internet seem to let me down. Tables don't have this issue.
Strengths:
Very simple for an old SQL developer to get good reports that at least look better than the drek that dumping a restlt set to Excel provides.
Custom sorting (use on most reports)
Handles SP and Straight SQL. Love that I'm not locked into 1 path or the other (I've used both depending on circumstances).
Price... once you've paid for Visual Studio/SQL Server... it's a freebie.
My 2 cents, hope this helps you.

A "pure Java" solution is i-net Clear Reports (aka i-net Crystal-Clear).
Supports Crystal Reports templates as well as any JDBC data source.
Comes with a FREE visual report designer.
Good price for what it does, especially in comparison to some of the "pricier" alternatives.
The latest version includes a web-based configuration tool as well as an ad-hoc report creation tool.
Has a .NET port (with extensive API)

There are a number of really great solutions out there for Enterprise Reporting. Within the big four (BO/Crystal, MS SRSS, Cognos, Oracle) the basic reporting functions are all covered. You really need to evaluate what core functionality is most important to you and what the pre-dominant architecture in your environment is.
The consolidation within the BI market has made the environment issue all the more relevant. If you have an Oracle enterprise, you may as well use Oracle BI. The same applies for SAP/BO, IBM/Cognos, and Microsoft. Particularly if you are making a new BI decision.
Finally, there are a number of Open Source solutions (BIRT, Jasper, Pentaho) that make sense if you are an OSS shop or if you are looking to avoid some of the licensing fees associated with the major BI players.

You should try BIRT. BIRT is open source so you can start for free. It has a nice graphical designer. You can see some videos of how easy to design BIRT reports at http://www.birt-exchange.com. The BIRT project was sponsored by Actuate Corp who offers commercial servers for deploying BIRT to the Enterprise when you need scheduling, security integration, email notifications, etc. The commercial version also mixes AJAX with the BIRT viewer for more end-user interactivity and offers ad-hoc BIRT reporting through a browser.

We are in the middle implementing Cognos right now, and I really think it's a fairly robust tool. The ETL tool seems pretty straightforward and easy to use and the front end is fairly easy to administer and set up. I don't have much experience in the framework models and the data modeling stuff, but our report designer guy really seems to like it.

One of the most comprehensive solutions is Cognos.
Dislike: You wouldn't believe how many CDs it ships in... its huge.

I'm suprised no-one has mentioned Microstrategy. We do quite a bit of datawarehouse (11TB) work and microstrategy does a great job or generating SQL so the business users can get the data without bothering us. However it is a very expensive solutuion. if you don't need ad-hoc abilities and decide on crystal i recommend lookin into their VS2005 or Eclipse plugins which are "fre for production use".

In his blog at SAP Community Website, Henry Nordstrom, has given a very good evaluation of various reporting tools available. Though he has done the same from SAP usage point of view, the facts are applicable to anything else also.
Henry's Blog on SAP Developer Network

I'm surprised nobody mentioned OpenReports with Jasper report templates. I know it's not quite enterprise level, but it's quite powerful and I think on par with Crystal Reports. I use iReport to create CR-like reports. OpenReports also supports JXLS which is very easy to use to create Excel-based reports.
http://oreports.com/
http://jasperforge.org/projects/ireport

Crystal Reports by Business Objects seems to be a popular choice.
I never wrote any reports in it myself, but others in my team who did sometimes struggled getting the more complex reports to work.
It also might be a bit pricey, depending on your budget.

If you want an enterprise-class report server that works with ANY report designer you want to use, check out Universal Report Server from VersaReports.com. Out-of-the-box it supports Crystal, DevExpress, Telerik, and ActiveReports, and provides an API if you want to support another report designer.

Related

Is there a way to directly migrate SAP BO reports into microstrategy?

I have my existing BI reporting from the SAP BO software and now I want to migrate everything to MicroStrategy. So is there any way to migrate those reports to MicroStrategy directly or just if I can migrate the dimensions and measures created in SAP BO to Attributes and metrics in MicroStrategy. Please suggest a way to do that effectively.
I did research on this topic on other platforms like on MicroStrategy community and Google also, but all those did not answer my question clearly.
If I remember correctly there was once an internal tool in MicroStrategy to do that, I never used it and from what I remember it was quire rough and still required a lot of manual work.
You can try to read this presentation from MicroStrategy to have an idea about the process and the possible approaches.
Personally I did once a conversion from BO to MicroStrategy, it was possible to reuse most of, if not all, the tables created for Business Object, but in MicroStrategy I created everything from scratch, the design of the dashboards was different to make them more interactive/easy to use.
Of course this approach can appear not feasible with big projects (this is why colleagues were using the above mentioned tool), but I think rebuilding from scratch, with a small scope (small team) and build on it will give the best result in the long run. The main issue here is that this could take time and some times organizations don't want to wait, but this is their problem :)

IDS an over-kill for a single-user app?

I have the following dilema: My clients (mom-n-pop pawnshops) have been using my mgmt. system, developed with ISQL, for over 20 years. Throughout these two decades, I have customized the app to each clients desire, or when changes in Laws/Regulations have required it. Most clients are single-user sites. Some have multiple stores, but have never wanted a distributed db, don't trust the reliability or security of the internet or any other type of networking. So, they all use Standard Engines. I've been able to work around some SE limitations and done some clever tricks with ISQL and SE, but sooner or later, new laws may require images of pawnshop customers, merchandise, electronic transmision, etc. and then it will be time to upgrade to IDS, re-write the app in 4GL or change to another RDBMS. The logical and easiest route would be IDS/4GL, however, when I mentioned Linux or Unix-like platforms to my clients, they reacted negatively and demanded a Windows platform, so the easiest solution could be 4Js, Querix, etc.?.. or Access, Visual FoxPro or ???.. anyone have suggestions?
This whole issue probably comes down to a couple of issues that you'll have to deal with.
The first thing is what application programming and development language Are you willing to learn and work with?
The other thing is what kind of Internet capabilities to you want?
So for example while looking at a report do you want to be able to click on a button and have the report converted to a PDF document, and then launch the e-mail client with that PDF attached?
What about after they enter all the information data into the system, perhaps each store would like their own miniature web site in which people in town could go there to check what they've have place of having to phone up the store and ask if they have a $3 used lighter (the labor of phone and checking for these cheap items is MORE than the cost of selling the item – so web really great for this type of scenario).
The other issue is what kind of interface do you want? I assume you currently have some type of green screen or text based interface? Or perhaps over the years you did convert over to a GUI (graphical user interface).
If still green screen (text based) you now you have to sit down and give a considerable amount of effort and time into the layout and how you of screens will work with a graphical based system. I can remember when going from green screens to color, all of a sudden now the choices and effort of having to choose correct colors and layouts for that screen actually increased the workload by quite a bit. And then I went from color test screens to that of a graphical interface, then again all of a sudden now we're presented with a large number of new controls, colors, and in addition to that we have large choices in terms of different fonts and sizes.
And then now with the web, not only do you deal at different kinds a button styles (round, oval, shading, shadows, glow effects), but in addition to all those hover effects and shading effects etc, you now have to get down to some pretty serious issues in terms of what kind of colors (theme) your software will adopt for the whole web site.
This really comes down to how much learning and time you are willing to invest into new tools and how much software you can and will produce for given amount of time and effort.
I quite partial to RAD tools when you get down into the smaller business marketplace. Most of the smaller businesses can not afford rates for a .net developer (it not so much the rate, as the time to build an application). So, using ms-access is a good choice in the smaller business market place. Access is still a good 3 to 5 times many of the other tools in the marketplace. So quote by .net developer to develop something might be 12,000 bucks, and the same thing in Access might be $3000. I mean that small business can not afford to pay you to write unit testing code. This type of extra cost is just not going to happen on the smaller scale projects.
The other big issue you have to deal is what kind of report writing system are you going to build into the system? This is another reason why I like for the smaller business applications is access is because the report writer is really fantastic. Access reports have a whole bunch of abilities to bake connections in from forms and queries and pass filters and parameters into those reports. And, often the forms and queries that you spend time building already can talk to reports with parameters and pass values in a way that again really reduces the workload (development costs).
I think the number one issue that you'll have to address here however is what you're going to do for your web based strategy? You absolutely have to have one. Even if you build the front end part in access, you might still want to use a free edition of SQL server for the back end part. There are several reasons for this, but one reason is then it makes it easy to connect multiple stores up over the Internet.
Another advantage of putting your data in some type of server based system, is now you can set up some type of web server for all the stores to use, and build a tiny little customize system that allows each store to have their products and listings online (but, they use YOUR web server, or one that you paying $15 per month to host all of those customers). This web part could be an optional component that maybe perhaps all customers don't necessarily want. It would work off of the data they have to enter into the system anyway.
One great advantage of adopting these web based systems is not only does it allow these stores to serve their customers far better, but it also opens up the doors for you to convert your software into a monthly fee based system, or at least some part of it such as the optional web hosting part you offer.
When I converted so my longer time applications from green screen mainframe type software into windows desktop based applications it opened up large markets for me. With remote desktop, downloading software, issuing updates from a web site, then these new software systems make all of these nuts and bolts part of delivering software very easy now and especially so for supporting customers in different cities that you've never met face to face.
So, if you talking still primarily single user and one location, Access will reduce your development costs by a lot. It really depends on how complex and rich of an application you are talking about. If the size and scope of the project is beyond one developer, then you talking more about developer scaling (source code control, object development methodology, unit testing, cost and time of setting up a server based database system like SQL server etc). So they're certainly tipping point here when you go beyond that tipping point of cost time in complex city, then I actually don't recommend access. So this all comes down to the right horse for the right course.
Perhaps that the end of the day, it really comes down to what application development system are you willing to invest the time to learn?
Look at Aubit4GL - that is, I believe, available (or can be compiled on) Windows.
Yes, IDS is verging on overkill for a single-user system, but if SE doesn't provide all the features you need, or anticipate needing in the near future, it is a perfectly sensible choice. However, with a modicum of care, it can be set up to be (essentially) completely invisible to the user. And for a non-stressful application like this, the configuration is not complicated. You, as the supplier, would need to be fairly savvy about it. But there are features like silent install such that you could have your own installer run the IDS installer to get the software onto the customer's machine without extra ado. The total size of the system would go up - IDS is a lot bigger on disk than SE is (but you get a lot more functionality). There are also mechanisms to strip out the bigger chunks of code that you won't be using - in all probability. For example, you'd probably use ON-Tape for the backups; you would therefore omit ON-Bar and ISM from what you ship to customers.
IDS is used in embedded systems where there are no users and no managers working with the system. The hardware sits in the cupboard (closet) and works, communicating over the network.
It's good to see folks still getting value out of "old school" Informix Tools. I was never adept at Perform, but the ACE report writer always suited me. We skipped Perform and went straight for FourGen, and I lament that I've never been as productive as I was with FourGen. It had it own kind of elegance from its code generators to it funky, but actually quit powerful, stand alone menu system.
I appreciate the modern UI dynamics, but, damn, is it hard to write applications today. Not just tools, but simply industry requirements et al (such as you may be experiencing in your domain). And the Web is just flat out murder.
I guess part of it is that since most "green screen" apps look the same, it's hard to make one that looks bad! With GUIs and the Web etc., you can't simply get away with a good field order and the labels lining up.
But, alas, such as it is, that is what we have.
I have not used it in, what now, 15 years, but you may also want to look at Alpha 5. It was a pretty powerful, but not overly complicated, database development package, and (apparently) still going strong.
I wouldn't be too afraid of IDS. It runs pretty simply. Out of the box with zero or little tweaking, the DB works and is efficient, and it used to be pretty trivial to install. It was no SE, in that SE's access was tied to the application (using a library) vs an independent server that is IDS. But, operationally, it's really straightforward -- especially for an app like what you're talking about. I appreciate that it might be overkill, but even today, the resource requirements won't necessarily be insane. There's a lot of functionality, of course, and flexibility that you won't use. But frankly, beyond "flat file" DBase style databases, pretty much ALL of the server based SQL databases are very powerful and capable and potentially complicated. But they don't have to be. They can still be used "simply" and easily (well, save for Oracle -- Oracle can't do anything "simply").
As far as exploring other solutions, don't be too afraid of the "OOP" stuff, as most applications, while they leverage OOP libraries, aren't really OOP themselves (they can be, they just typically aren't, they simply don't need to be). The biggest issue with many of the OOPs systems, is they're simply to finely structured. Dealing with events at far too low of a level. While many programs need to access to that fine level of control, most applications, particularly the ones much like yours, do not. So, the extra flexibility simply gets in the way or creates more boiler plate.
That said, you shouldn't be frightened away from them per se, citing lacking of expertise. They can be picked up reasonably quickly. But I would certainly exhaust the more specialized tools (like Alpha 5, or Access, etc.) first to see if they don't offer what you want.
In terms of Visual FoxPro, was and remains a peerless tool (despite flak from people who know little about it). It has a fast, native database engine, built-in SQL and powerful report designer and so on. But you also have to consider that Microsoft support will be dropped for it in 2014, there will never be a 64-bit version, and so on. And the file locking method it uses will be increasingly flaky on future versions of Windows IMO.

Microsoft Master Data Services - When to utilize?

I'm wondering if anyone is currently utilizing Microsoft's Master Data Services? How you are utilizing it? Whether you find it useful? When you believe it would be useful? Thanks!
I have been working with MDS since it was first released as part of a feature pack for SQL Server 2008 R2. While MDS has some compelling features - most notably detailed data lineage, I am not confident in recommending it to clients yet.
My reason for this hesitation is the nature of the install and the tendendency to fail on upgrade or system change. I struggled mightily with the both the SQL Server 2012 RC0 MDS and the RTM installs. There are simply too many brittle aspects of the install (such as the hard requirement that the service be installed on a domain-joined machine and the need to install the Silverlight 5.0 SDK for the client to work properly). I also experienced flakiness in the the Excel add-in.
I see where Microsoft is going and I think the product will eventually be useful. Considering it's purpose (master data repository), MDS must be more 'rock solid' before I would use it in production.
We aren't using it currently in our office, however the presentation Microsoft did in town a while back seemed very interesting. I saw it as sort of a competitor to Oracle's OBAW warehouse. You've probably already looked at these, but Microsoft has a decent set of webcasts that cover how to install and use MDS out here:
http://www.msdev.com/Directory/SeriesDescription.aspx?CourseId=155
I'm anxious to see if anyone else is using it as well, we tend to have a hard time talking our management into letting us try these types of services without being able to point to other corporations that have successfully implemented said product.
We're just starting to investigate the use of MDS to support our consulting practice, specifically around data analytics and ETLs to deduplicate, standardize, and sanitize client data. It's probably just scratching the surface of MDS, but we were led to MDS initially for its inclusion of regular expression capabilities in SQL to transform free-form text data.
Before MDS/DQS, part of the sustainability / enduring-success of a custom database application was heavily dependent on one or both of the following items...
Having a full-time technical resource to manually update the master data. Someone who can work with the Business Experts and make the necessary adjustments to the data in the database.
Developing (in addition to the database/application/etc) a custom UI that is intuitive enough for the less-technical Business Experts to use for managing the master data themselves.
Neither of these were ideal from a cost-perspective. With MDS/DQS, a developer/contractor can come in, design an end-to-end Data Warehouse/BI solution including full integration with DQS/MDS (probably via SSIS packages) with relative ease. The Business-Experts can be trained to manage the master data using a UI they are already very familiar with (ex. Excel), and the developer/contractor can move on to the next project/client.
Also, if the business already has other data sources (via acquisitions or silo'd-yet-overlapping efforts or whatever), MDS can be used to manage all the master data in one centralized location.
It might not be the best MDS product available yet however it does come with SQL Server. Compared to most of the bespoke efforts for accommodating meta-data or master data in warehouse loads it's a pretty good option since most of the time is spent concentrating on the warehouse and the mastering of ancillary or other data isn't normally well accommodated for leaving questionable results. I prefer to use it than create some other flaky option that the customers will find it difficult to maintain. If you have budget however I would consider looking around for something more polished.
Like anything though give master data the respect it deserves. If it is going to be used then it's worth spending the time to model the entities, flow of data and usage correctly. The data stewards will need to savvy and will require training (it's not the most usable interface in the world - to say the least).
As we are a small consulting and development company we don't use MDS internally but we do implement it at customers with a focus on managing the Golden Record as the customers have a myriad of databases and applications all using the same data (customer, product …)
I agree with Lynn Langit's comment about installation and SilverLight dependency and the general comments about the UI. There are also a lot of smaller companies that don't run SQL Enterprise Edition but whom could benefit from MDS.
Those are the reasons why we are now developing a modern web application which we will host for our customers (probably on Azure).
If you're thinking about MDS I'd recommend to have a look at the API to replace (parts) of the UI.
Master Data Service is very useful for managing Master Data,
We have used Master Data Services 2012 and 2016, there are not too many features present in 2012 ,2016 is much better than 2012 with some new features , but I think still Microsoft needs to improve Master Data Services, they should include some flexibility in business rule's area.

SQL Server 2005 Reporting Services - Pros and Cons

I am developing a web application using ASP .NET 2.0, VS 2008 and SQL Server 2005. I would like to Use SSRS 2005 for the various reports I need to build for this web application. I would like to convince the team that we should adopt SSRS as the main reporting platform for most internal and external web applications we have.
What are the pros and cons of Reporting Services? I can see many pros like tight integration with IIS, SQL Server and Visual Studio, rich presentation features and export functionality, subscription etc so I am mainly interested in negatives of SSRS.
EDIT: I understand that if I am not using VS 2005 for my application development, I will be using different Visual Studio versions for application and report development. However, I am more interested in negatives (or not so good aspects) of SSRS itself.
I know you said 2005, but I will put in notes around 2008 as well.
SRS Pros:
- It is free (provided you have the SQL server license)
- Tight data integration with SQL Server, but it handles anything .NET can (Oracle, ODBC etc...) just fine. (2008 has native support for Terradata too)
- Components for Visual Studio, SharePoint and PerformancePoint all exist to make it easy to leverage it. It is just a web app though so integration into any web page or app that can talk to a web server is easy too.
- Built in tools to do subscriptions (i.e. emails that get sent out on a regular basis to a list of people with the report on them). The list of recipients can be static people or a sharepoint site or a dynamic list of people (pulled from a DB) (08 adds support for dynamic to sharepoint too)
- 3rd party vendors exist to enhance the product
- Export to a variety of formats (XML, CSV, Excel, PDF etc...)
- Ability to design templates which power users can use to build reports without knowing SQL (since the SQL is contained in the template). Power users use a special report builder tool which is delivered via click once.
- Works differently to Crystal reports (I don't like Crystal thats why this is a pro for me)
SRS Cons:
- Charting controls look like Excel 2003 and are limited. (2008 has the Dundas controls in by default so they are much more powerful, more varied and better looking)
- Kerberos issues due to it being a web app can cause annoying problems (2008 removes that as it is no longer an IIS web app. It runs it's own web server based off the IIS core but is closer to a stand alone app - so the security issues aren't a problem)
- Designer support is a pain. 2000 Reports must be developed in VS 2003, 2005 reports must be developed in VS 2005, 2008 reports must be developed in VS 2008. By Visual Studio I mean the normal one or the thin downed version you get with the SQL Management tools.
- Compatibility. Each version of reporting services can run only the current version and one version back of the reports.
- Security is limited to Integrated Windows or Anonymous (2008 has added support for forms based security and for custom providers, like you get with ASP.NET)
One of the Cons I see with your setup, is you will have to use Visual Studio 2005 for your reporting project since you are using SSRS 2005.
Since it looks like you are using Visual Studio 2008 for your other development, this means having both versions installed and having to have both open and running most the time.
I'm in the same situation and it is a hassle, but one I've gotten used to.
EDIT:
Some of the other Cons I've run across are usually designer related. They may have been fixed in 2008 (don't know for sure), but I attribute them to the infancy of SSRS compared to other more mature reporting solutions.
Datasets changing to Text even though you set them to Stored Procedure every time you enter the data tab
Web Service datasets losing their parameters when changing the query
The expression editor is very dumbed-down. Its slightly better than using notepad.
The CONS:
Rendering might be different in Firefox or other browsers. When using SSRS ReportViewer on an ASP.NET page, just make sure to verify the look/feel/layout of the report when rendered on browsers other than IE.
One con is that with SSRS, there are so many options available to the developer that it could be confusing at first. I am talking more about whether to use Local Reports or Server Reports, whether to put code inside code modules, in reusable assemblies, or use reusable Managed Code (C#) Stored Procedures.
The biggest con I could think of in SSRS is that the code module is very basic. No intellisense and no debugging features. Also it would be great if SSRS scripting supported C# instead of just VB.NET.
While expressions are great, the problem is there is no single container/place which allows you to see all the expressions defined in a report. This could present a maintenance nightmare down the road.
That said, SSRS is a powerful tool in the hands of a seasoned developer.
Pros:
Free
Probably better tied to MS SQL than most others
Works well for most types of reporting
Cons:
Free; Support access isn't like Crystal
Doesn't have every feature other, older competitors have. Being a newer piece of software, it is still getting new functionality that other products like Crystal Reports has had for years.
I often end up running reports in whatever way they're easiest. Lately I built my own web based interface that drives any combination of PDF/HTML/Crystal/SRSS reports and delivers them. Often Crystal will do some in 2 steps, or SRSS does something else better. If I had to pick one right now as a go-to for all scenarios I'd probably pick Crystal. The more I use SRSS being a few years old and still in active feature development (catching up to products like Crystal), I can see it being used a lot more... not quite yet though.
I find SSRS is very Robust and provides a very large range of capabilities to suit your reporting needs. I have tried others (Crystal) and did not like it nearly as much. (This could just be personal taste though).
Even for a beginner, SSRS has many wizards which will get you the results you desire and for the experienced developer, you can fine tune your reports with drill-throughs, colors, coding, etc.
I honestly have nothing bad to say about SSRS. The one downside that Dustin pointed out is that your VS version and SQL version are different. I have an app that is in VS2005, but uses a SQL 2000 backend and I have to have my reports separate in a VS2003 project to get them to work properly.
In order to better provide an analysis, it would be easier to if we new what alternative you are considering. For example, if it's SSRS vs nothing then the argument is simple, likewise SSRS vs bespoke reports (eg. ASP.NET). However, if you have other reporting tools under consideration, e.g. Crystal then we can be a bit more critical. Also, what kind of reports are you planning, and what features do you ideally need.
Regardless, I'd largely agree with the other posters. SSRS is free & very capable. Other systems might have extra bells & whistles, but would these be issues that mattered, and are prepared for the costs?
I suppose, given that SSRS is free and easy enough to setup, my suggestion would be to run a trial; you'll probably be able to make your own mind up through a bit of experimentation - you've got nothing to lose!
SSRS is amazingly simple to use. We've had interns writing reports the first day on the job with SSRS, and doing a good job at in.
That simplicity goes a long way with developers who just want to get reports done quick so they can get back to actual coding.
Correct me if i'm wrong but SSRS does not use Forms Authentication. For viewing reports from a web app using the built-in components will use what ever authentication is used for the application. However for subscription and using the Report Builder application (click-once) which requires access to the Report Manager its windows authentication.
[Edit] From Robert MacLean - MSSQL 2008 does support Forms Authentication, which is a good thing.
The main problem I had was setting up Reportserver in a stage/production web-environment.
I had to get the reports out of the Reportserver Webservice into the web application. The environment looks pretty simple now, but I remember at that time it was difficult to debug.
An other issue was multilanguage reports. Again: now its easy to use, but be prepared to do some googling.
The designer is crap. Who knows what =First(Fields!Sales.Value,"DataSet1") means? I also had issues with the size of reports (the report was designed to fit on a A4 page but at the end didnt).
I still like the product. After some time I got everything solved and our trainee can design and publish great reports.
SSRS 2005
Pro integrated in Sharepoint
Cons integration in Sharepoint could be a mess to set up using Kerberos etc...
I will only put some cons here as most people have already mentioned the benefits.
SSRS 2008:
Primitive user interface
little flexibility to do fancy stuff i.e. flashy charts, geo maps (w/o lat long)
user interaction is only limited to applying filters, rest is pretty static
MS seriously has to re-think what competitors are doing in the field of BI & Data visualisation.

What is your reporting tool of choice? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
Every project invariably needs some type of reporting functionality. From a foreach loop in your language of choice to a full blow BI platform.
To get the job done what tools, widgets, platforms has the group used with success, frustration and failure?
For knocking out fairly "run of the mill" reports, SQL Reporting Services is really quite impressive.
For complicated analysis, loading the data (maybe pre-aggregated) into an Excel Pivot table is usually adequate for most users.
I've found you can spend a lot of time (and money) building a comprehensive "ad-hoc" reporting suite and after the first month or two of "wow factor", 99% of the reports generated will be the same report with minor differences in a fixed set of parameters.
Don't accept when a user says they want "ad-hoc" reports without specifying what goals and targets their looking for. They are just fishing and they need to actually spend as much time on THINKING about THEIR reporting requirements as YOU would have to spend BUILDING their solution.
I've spent too much time building the "the system that can report everything" and for it to become out of date or out of favour before it was finished. Much better to get the quick wins out of the way as quick as possible and then spend time "systemising" the most important reports.
For most reports we use BIRT.
I've used Reporting Services and Crystal fairly extensively, and I'm writing a few reports using Excel(ick) at the moment.
Reporting Services is pretty good for simple reports but as soon as you need total control over formatting,complex formulas and charts etc. Crystal is a long way ahead. I also find Crystal to be far more usable; being able to change things within the report preview is invaluable (it may be possible in later versions of RS?).
RS also needs to be deployed to a web server which limits it's usefulness if you are writing applications that need to be deployed externally.
Older versions of Crystal were very buggy but the latest ones are much better, it's much more mature than Reporting Services.
For a lot of projects we use ActiveReports.
I am a committer on the BIRT project, so I am biased. BIRT provides a very well thought out report object model (ROM) and appropriate API for the various design and deploy function that is needed. In addition, BIRT provides the best multi-language support and the ability to separate development from design through the use of CSS.
BIRT can be embedded into your application for no license cost through the REAPI or it can be purchased through a couple of commercial offerings.
Cognos is a robust suite of tools (we use it as a front-end for an Oracle back-end), but there's a pronounced lack of documentation on how to accomplish complex reporting tasks -- mostly, you end up banging on it until you get something to work.
I wouldn't discount the usefulness of using Microsoft Access as a reporting front-end. It doesn't have that useful Web-enabled functionality, but for in-house reports it's very versatile and surprisingly powerful.
We use i-net Clear Reports for our reporting (seeing as how we "eat our own dog food"). ;)
It is like Crystal Reports,
can read Crystal Reports templates,
the API is more useful,
costs less than Crystal Reports (and if you factor in support costs, costs less than open source)
is platform independent because written in Java.
we offer a free and fully functional report designer
If you have all the money in the world, go with Cognos. They provide a data cube that essentially makes the reporting "developer free" and the end user can create reports, dashboards, anything they like.
For the "common man", I've grown quite fond of the ComponentOne reports for .NET library/tools. It has a similar feel to Crystal Reports, but has a very friendly XML format that you and edit under the hood and none of the headaches with versioning, keys, and other items that I've had to deal with when making simple updates to either the report or the underlying version.
I don't really have much SSAS work to do but I've been quite taken with this:
Cube Browser for ASP.net
It offers many of the capabilities of an excel pivot table in a web app, (thought I'm not enough of an expert on Excel to really know the whole of the pivot table's capabilities - it at least looks comparable to visual studio's cube browser).
Unfortunately the demos don't seem to be online anymore :(
I would have to agree, I really like SQL Server Reporting Services. It just does stuff, and does it easily.
Crystal Reports, because it is easy to take the same exact report file and
1 - Post it on the intranet
2 - Embed it in an application
3 - Schedule it to be emailed as an Excel output every so often to whoever needs it
Also (as I already suggested), it exports easily to Excel, PDF, and other formats.
We've been using BIRT which had a steep learning curve for me until I realized how many WYSIWIG features it had (I started editing the xml source code direct, which I don't recommend.) There are some output specific tricks (like using a 0 left margin to not get a blank A column when outputting to XLS format) but for the most part it's quick and easy to use, edit and preview.
I have also been impressed on how easy it is to intermix different datasets in a single report. While not a silver bullet, its a better all around tool than 99.999% of people are going to build on their own.
"Give them data and they will love you for it"
Out of the methods and tools I've used in the past, I would rank them in the following order based on abilities/versatility/usability/speed to deploy. I'm leaving cost out of it because while it is always a factor it is a different factor for everyone.
1 is Cognos (version 8)
2 is SQL Server Reporting
3 is Crystal Reports
4 is Custom written code
I haven't used any of the other tools mentioned. Cognos 8 is nothing short of awesome. While pricey, you are only limited by your imagination. It can do anything.
This isn't so much a positive suggestion, but more of a cautionary tale against crystal reports... As with other people, getting the right version of the crystal runtime is important, but having done that, I still had this problem:
Spent weeks developing reports that had embedded images.
Tested on dev and staging environment, all A-OK.
Deploy to live server - doesn't work... Hmmm...
Spent two weeks trawling forums and looking for advice, eventually got a response from a crystal body on their forums. Suggested that he had seen a similar problem to do with MS Paint being set up as the default application for a certain file extension.
At this point, we gave up trying (after I convinced my boss that this wasn't a take the piss answer, but actually a formal response from Crystal). Handily we were migrating to new servers about a month later (where the reports worked), but honestly, wouldn't touch them again...
Oh, and have used SSRS and found it to be pretty good for most things (particularly the most recent version).
Tableau software is an amazing tool to run your reports and get easily deep throught analysis
For simple reports I use the standard ReportViewer included in Visual Studio.
For more complicated reports and ones that require more performance I've used both Report Sharp Shooter and devExpress XtraReports. Surprisingly, in both products creating tables isn't as easy as it should but both are faster than ReportViewer and handle extremely well multi-column reports, barcodes and aggregate data.
We use Cognos, it's a fairly complex system, but very powerful.
i have a small reporting set, made in 2 months:
at least 10 times faster than crystal reports;
easy editing;
.net formula;
easy usage;
small code usage;
serialization and deserialization(fast and small);
extreme security;
multi threaded;
no errors;
We had used MS Reporting Services, but we was completely unhappy with it.
Reasons:
it is needed to make difficult configuration of server
it is not possible to embed report editor into our app without buying SQL server license for every user
it is possible only to use embedded report parameters input form UI or send them from app, but not to create parameters UI by report designer
Now we a using Stimulsoft Reports. It have no such limitations like MS Reporting Services, and we and your users are happy with it.
1) I would think Reporting Services is very good for most of the needs, when in comes to developing table based reports and also matrix reports (drilldown - pivot like functionality).Considering the price of Cognos etc. An SME can't even dream of getting Congns AFAIK
2) Report Scheduling / Subscription functionality can be invoked to send reports to a set of users (data driven) to deliver reports. Subscriptions can be delivered to custom locations such as an SFTP, by writing .Net code.
3) Using Report Models, end user can drag and drop columns and develop customized reports
To Note:
1) It can get trickier once you develop really complex graphical/dashboard kind reports - which involve few charts and small tables to be displayed in A4. Report Designer (the tool we use to design reports) and Web display use different rendering engines. So it is better if you deploy the reports often and see how they look, if you develop complex graphical reports
2) If you write custom functionality, you may have to change the XML configuration files(RSReportServer.Config etc). If there is any problem in the edit, ReportServer service may stop. So be careful to back up before doing anything custom
Cognos with an Oracle backend is what we use. We also use spotfire for visualization on top of cognos.
I'm the CTO at Windward and I do believe that Windward Reports is by far both the easiest to use and you can do more with it than any other reporting - and both traits are for the same reason, you design your reports in Word, Excel, & PowerPoint.
As to the generated reports, it's fast, it's rock solid, and incorporating it into your program can be as little as 3 lines of code.
We use Crystal Reports where I work. It has quite a few limitations, and we find ourselves doing almost all of the logic in Database procedures and Views.
One limitation to note is that Crystal Reports does not allow multiple layered sub-reports. In other words, you cannot have a sub-report inside a sub-report.