SAP Crystal Reports

9 Posts authored by: Andrew Baines

I've always thought that Service Packs for any product were a way of fixing bugs in software after release. If a software company wanted to introduce new features, they waited until the next full or point release. When I install software, I always patch to the latest Service Pack. I normally leave any in-between patches as they can introduce more problems than they solve due to less testing.

 

Following installation, unless a customer had a specific problem, I would always advise not to apply a new Service Pack. The thinking being that there's no point fixing ten bugs that aren't causing any problems, then introducing one new bug that breaks something important. The exception to all this has been security or compatibility fixes in a Service Pack, but they're normally solved at the operating system or application server level.

 

Looks like I need to change my recommendations!

 

Last year (2012) there were some major changes in functionality for the Crystal products introduced through Service Packs. SAP have justified this by renaming Service Pack to Minor Release but as the installer still says Service Pack, it looks like marketing have been getting involved rather than there being any technical change.

 

Let's take a quick look:

 

Crystal Server 2011 was released at Service Pack 2. Bit of an oddity, but due to being the same platform as Business Objects Enterprise. I seem to have missed Service Pack 3 (they were released thick and fast), but Service Pack 4 fixed a lot of the problems with the migration wizard. More importantly for the purpose of this post, the add-on for Mobile Solutions was made available. This had previously been available for the higher products, but not for Crystal Server. Dreadful name for the add-0n, but just meant you could use a native app for the iPad to access your Crystal Reports. This first release was very basic, just rendering an image of the report with none of the interactivity you expect with a Crystal Report.

 

This lack of interactivity was fixed with the introduction of Service Pack 5. Now I can start to get excited about the iPad app as it supports drill-down, interactive parameters, search and has a proper group tree. There's no longer a need to send complicated opendoc links to users.  Sadly, none of this has been extended to Android users yet. The current mobile solution of Android doesn't support Crystal Reports at all. I'm sure it's on the way, let's just wait for Service Pack 6 or 7!  On another note, if you do decide to install a Service Pack on Crystal Server, make sure you have all your custom configuration files saved somewhere safe. They disappear when the application is redeployed to Tomcat.

 

Crystal Dashboard (neé Xcelsius) had some mobile functionality added recently too. It seems strange that when I first started selling Xcelsius, its big selling point was the as it was flash based, most client computers could be used to view the dashboards! This all changed with the introduction of the iPad which is lacking flash. There are two options for application developers now - HTML 5 or a native application. I'm glad to say that SAP have gone for HTML 5 which will hopefully avoid all the issues of different functionality between platforms.

 

We're not quite there yet - when you save a dashboard to Crystal Server, you have the option to 'Save for mobile'. There are currently two caveats. The first is that not all the widgets are available, so some just won't render. The second is that not all data access options are supported. I'm frustrated that Web Services aren't there as it prevents use of the excellent Flynet. I guess that will be introduced in the future.

 

Crystal Reports for Enterprise Despite my initial reservations this product is rapidly improving. Graph support when you upgrade an existing rpt file is a bit odd, but other than that, I'm getting happier with every Service Pack. Native connections to databases (the important ones) has been around for a while now. The best bit about the native connections is that they're stored centrally when you save the report to Crystal Server. That means that when you change your database password or connection information, you only have one connection to edit rather than every report.  I still wouldn't recommend dropping Crystal Reports 2011 yet (could we call it Crystal Classic?), but I think it's worth examining Crystal Reports for Enterprise ready for the next release.

 

Crystal Reports 2011. Sorry to get you excited, but there's nothing going on here. Yes, we're up to Service Pack 5, but it's just bug fixes as far as I'm aware. I've no doubt I'll still be writing Crystal Reports in 5 years (that'll make 22 years of Crystal Reports for me), but we should all be preparing for the new kid on the block - Crystal Reports for Enterprise.

 

Where are they then? I had a strange discussion with my account manager the other day as I was struggling to find the Service Packs for Crystal Reports 2011. The initial response was that you had to buy an upgrade to get the latest Service Pack. Seemed a bit extreme given how frequently they're being released, and how minor some of the changes are, so I persevered.

The Crystal 2008 Service Packs are available for download at http://scn.sap.com/docs/DOC-27917

Crystal 2011 from here: http://scn.sap.com/docs/DOC-28273

Crystal Dashboard is in there somewhere too.

For Crystal Server, you need to have a current support contract, then download from support .

Needless to say, if you're struggling with this, and you're a customer of mine, just give me a call and I'll sort it out for you.

 

To end, a big thank you to whoever was reading my blog on Christmas Day. I salute your dedication to all things Crystal. There was also a lone reader on New Year's Day. Possibly an accident induced by a hangover, but thanks anyway.

 

Happy New Year!

It's long been a complaint that if you insert an image into Crystal Reports, the transparency is lost. It came up again in a support call from a customer.

Glad to say I've found a solution - use Crystal Dashboard/Xcelsius.

 

It works well too:

  1. Start up Crystal Dashboard, insert your various images, using the Excel model to control visibility. All the transparency settings are respected.
  2. Save the swf file.
  3. Insert the swf file into your Crystal Report.
  4. Clench your teeth while you fight with the data connections between Crystal and the Dashboard
  5. Job done.

 

If I get more time, I'll try and sort out some screenshots to walk through the various steps.

When Twitter first made headlines, I was rather unimpressed - not only was I not interested in what various celebrities were having for lunch, I couldn't see why anyone would be interested in my plate of sandwiches (cottage cheese, since you ask).

Then, I started to write this blog, and found that by posting my creation to Twitter, I could automatically notify my contacts on LinkedIn. That was when it dawned on me that Twitter is nothing more than a standard messaging protocol, more useful for passing messages between different web applications than as a product in it's own right.

Where does Crystal Reports fit into this? One very disappointing feature in Crystal is alerting. In the standalone product, you get a pop up box listing your alerts when you run a report. For scheduled reports in Crystal Server and Business Objects Enterprise, a user has to login to see if there are any alerts - not very useful for people who are mobile or have 'real' work to do.  So, why don't we combine the market-leading reporting application with the messaging power of Twitter? Users can receive alerts with the Twitter client of their choice, with the alerts being generated using trusted business reports. Even better, use the scheduling capability of of Crystal Server or Business Objects Enterprise to automate the whole process!

Security - Your Tweets don't have to be public. Change the Twitter account to be 'protected', then people have to be approved to see your Tweets. Alternatively, send a direct message to a specific user.  Limitations - there have to be some!

  • You can't post duplicate Tweets within 24 hours. If you want to notify a salesperson that Joe Bloggs has just placed an order, just add the order number or the current time to ensure it's unique. Alternatively, just leave as is, if you don't want the salesperson to receive the same notification twice.
  • There is a limit of 250 direct messages per day and 1000 updates (tweets) per day.

How does it work? Crystal Reports allows the formula language to be extended using 'User Function Libraries' (UFLs). I wrote Crystal Tweet to allow a Twitter function to be added to Crystal. Once installed, and authorised to work with your Twitter account, you can use the functions in any Crystal Report. The function (PTechCrystalTweetSendTweet) appears in the Function tree under Additional Functions, COM and .Net UFLs.Here:  Crystal Tweet function in Crystal Reports

The other function PTechCrystalTweetSendDirectMessage() allows you to send a direct message to another Twitter account.  All you need to do then is to add a string (plain text and/or database fields/other formulae)  and off it goes.  Further information and details of how to authorise the function are over at Pursuit Technology

I've only really thought about using Crystal Reports & Twitter together to send company alerts. I'd love to hear of any other ideas for combining the two.

 

** I've had a couple of emails from people with problems with the installer. Looks like there may have been a problem at my ISP. I've uploaded a fresh copy of the installer, and all should now be fine. Thanks for notifying me of the problem **

Last August, I wrote my first blog on Crystal Server 2011 giving my first impressions, I followed this up with a discussion on the merits of upgrading from Crystal Reports Server 2008 to Crystal Server 2011.

I'm now sufficiently bruised and battered to give second impressions following my first migration.  I'd forgotten the details of my earlier posts, on re-reading, I'm feeling remarkably prescient!

Here's a comment from my First Impressions post regarding the original release already being at SP2:

"Service Pack 2?! Isn’t this fresh off the press? OK, so select customers have been running BI 4.0 since early this year, so maybe it’s a sign that this is mature software. But two service packs in 6 months? I’m glad I wasn’t running the original release.On the other hand, imagine if Microsoft release Windows 8 this time next year after a 6 month testing phase with select customers. The first shrink wrap installs as Windows 8 SP2. Imaging the howls of derision! Let’s give SAP the benefit of the doubt for now."

Looks like I was wrong to give SAP the benefit of the doubt. Try this for a bug: It is not possible to migrate from an earlier release if there are any instances of any report that aren't in rpt format.

That's right, read it again.

If you have scheduled a report to pdf, Word, Excel or text the migration wizard will fail. It won't just skip the bad instance, it will fail completely and not import anything. There are only 2 workarounds; delete all the rogue instances, or migrate a few folders/reports at a time. The 2nd option doesn't really work as any non-rpt files in user's personal folders will cause the migration to fail, and they're seen as a dependency.

So despite an incredibly long beta program, and two Service Packs, the vast majority of existing installations won't migrate. To make life even more difficult, it's no longer possible to migrate by just copying instances and changing the location of the system database - you have to use the new migration wizard.

This has been fixed in the latest fix pack for the larger products, but fix packs aren't available for Crystal Server. Smaller installations will have to wait until SP3 which is mooted for March.

Another comment from my earlier blogs:

"Minimum system requirements of 6GB RAM. That compares to 2GB for the 2008 release. From experience to date, 6GB really is the absolute minimum. I’d be more comfortable with double that, which would compare well with a typical 2008 installation with 4GB."

Sad to say that I was 100% correct on that point. Crystal Server will install with 6GB RAM, but that's about it. Anything more than a couple of users and memory use goes through the roof. Assume 12GB minimum, 16GB if you're a heavy user.

And another comment:

"64 bit only. Yes, I know I mentioned this in the good stuff too, but every silver lining has a cloud. If you have an obscure ODBC driver, it’s not going to work as only 64 bit ODBC drivers will work."

Only half right there - if you're using classic Crystal Reports with regular connections to a database, you'll find that the reports run as 32 bit processes, so need 32 bit database drivers. It's only the system database that must be 64 bit, and the new meta-layer stuff.

Last one:  "If you use InfoView a lot, are happy to train your users in the new BI Launch Pad, and have budget for a new server, just upgrade now."

Really badly wrong, I'm afraid. Chances are your upgrade won't work!  So, to upgrade or not to upgrade? SP3 should be out soon, assuming that fixes the migration problems, then work through my earlier posting to see if the upgrade is for you.

I had a call this morning from my accounts software vendor (Intuit Quickbooks Pro since you ask). They were trying to sell me the upgrade to their latest release. Nothing exceptional in that, and little to do with Crystal Server, but it did get me thinking about upgrades in general, which led me to thinking about Crystal Server 2011.

I'm mostly happy with Quickbooks. I generate invoices, monitor payments, bank accounts, sales etc. The difficulty for  Intuit, is that my happiness means that I'm not about to switch to Sage or another competitor, but it also means that I'm not ready to upgrade to the newer release. It doesn't cost much, but there's the time involved, and an element of risk - if it messes up my data file, I can revert to backup, but if I don't notice for a couple of months, what then? So, I carry on with 4 year old software running on a Windows XP Virtual Machine. Invoices go out, payments come in, life goes on.

Then I got to thinking about my relationship with Microsoft. I subscribe to the Partner Action Pack from them for about £300 per year. This gives me everything I need (plus more) to run my business. My PCs and laptops always have the latest release of Windows and Office - why not, I can install at my leisure and there's no risk. However, my main server is still running Windows Small Business Server 2008 - one release behind the current SBS 2011. The difference? Risk. Upgrading SBS is not a trivial task as it involved not only your entire domain, but also your Exchange Server (Blackberry Server too in my case). It's a lot to mess up.

Finally, we get to Crystal Server! Hand on heart, I consider Crystal Server 2011 to be the best solution to small/medium company and departmental reporting currently on the market. Anyone running the XI release or earlier needs to upgrade sharpish - the 2011 release really is that good. However, that question mark is in the title for a reason!

Let's look at the good stuff first (this isn't a review, plenty of other places to find one of those):

         
  1. BI Launch Pad. New release, so a new name for the user web site. It still has the same failing as every previous release - when you login for the first time, it really isn't obvious where you're supposed to go next. That's a training issue. However, once you're past that first login, the ease of use is far better than any of the previous releases, with no more guessing about where right click may or may not work.
  2.      
  3. Lifecycle Management. The improved ability to publish reports across multiple servers is great for installations with separate development, test & live servers. (Hang on, we're talking about small companies here!)
  4.      
  5. 64 bit, so can handle bigger data sets (Hang on, we're talking about small companies here!)
  6.      
  7. There's so much good stuff in number 1, that there's no need for more! I could have created a long list including the alerts, improved dashboards, but this isn't a review.

Before we look at the bad stuff, let's look at the typical usage of Crystal Reports Server 2008 (remember, we're talking small/medium companies):

         
  • The typical user needs the information in the reports to do their job, they're not data analysts.
  •      
  • There are a handful of office/home based workers who view reports through InfoView.
  •      
  • There are a few more using SharePoint.
  •      
  • The rest just receive a report in pdf format as an attachment in an email.

Now, the bad stuff:

         
  1. Minimum system requirements of 6GB RAM. That compares to 2GB for the 2008 release. From experience to date, 6GB really is the absolute minimum. I'd be more comfortable with double that, which would compare well with a typical 2008 installation with 4GB.
  2.      
  3. 64 bit only. Yes, I know I mentioned this in the good stuff too, but every silver lining has a cloud. If you have an obscure ODBC driver, it's not going to work as only 64 bit ODBC drivers will work.
  4.      
  5. New hardware. Combining 1 & 2, chances are you'll need new hardware. A lot of small companies reuse an old server for their reporting server (lots of overnight scheduling), not this time.
  6.      
  7. No support for IIS (Microsoft's web server). Not a bad thing in it's own right, but it does make configuring security with Active Directory more long winded and more complex - Kerberos isn't for the faint hearted. My understanding is that this isn't a temporary situation as in the previous two releases where the initial release had no IIS support.
  8.      
  9. Nothing new in Crystal Reports 2011. OK, not quite true, but near enough. The effort has gone into the new Crystal Reports for Enterprise, which isn't as functional yet. For a typical installation it will remain unused.

So what does all this mean for our typical users mentioned above?

For the user with InfoView, they'll need training and it's change. In the end, they view the same reports. For the SharePoint user, they probably won't notice the difference either. For those receiving reports by email, no difference at all.

Before coming to any decision, you need to consider my two friends from the start of this article; risk & cost. If you currently have a support contract, the 'only' cost is installation and training. Risk should be low, unless you do an in-place upgrade (just don't).

To upgrade or not then. Doesn't sound too positive so far, does it? It really depends upon how well you fit into my typical user description, and whether or not upgrade should be the only question:

         
  • If you use InfoView a lot, are happy to train your users in the new BI Launch Pad, and have budget for a new server, just upgrade now.
  •      
  • If you use mostly SharePoint or a similar portal, find out what more can be done. This is the advert bit - give me a call to discuss improving SharePoint integration, you can manage licenses better and have a seamless interface.
  •      
  • If you're just emailing reports as pdf, you're really not going to notice any difference. That doesn't mean you shouldn't do anything though! Get some training or consultancy to see how much more you could be doing - you could surprise yourself and even improve the way you do business. At the very least, you'll get better value out of your existing software investment.

  Perhaps I'll even attend a Quickbooks training course and work out how to get profit by rep rather than just by customer. I may even find something I should have been using before! I hope the Quickbooks salesman isn't reading this.

After the longest beta programme since time began, the new release of Crystal Reports Server (now just Crystal Server) was finally released to shrink-wrap last week. I've checked my diary, and this is almost 6 months since the 'release' date! Off the record, it's nearly a year since I was told to expect the release. Let's hope the time was well spent!  There are plenty of places to see list of new features, so I'm not going to repeat that here. I'm going to give my first impressions from the perspective of an independent consultant who's been working with Crystal for most of his adult life.Yes, it's supposed to be slightly irreverent.

I'll follow up this blog with actual usability stuff once I've had feedback from my customers about their experiences, and I've had some time to do 'real work' rather than just playing.

First up, the install process:

Service Pack 2?! Isn't this fresh off the press? OK, so select customers have been running BI 4.0 since early this year, so maybe it's a sign that this is mature software. But two service packs in 6 months? I'm glad I wasn't running the original release.

On the other hand, imagine if Microsoft release Windows 8 this time next year after a 6 month testing phase with select customers. The first shrink wrap installs as Windows 8 SP2. Imaging the howls of derision!

Let's give SAP the benefit of the doubt for now.

It's also version 14 - so superstitious to skip 13, or maybe the delay is due to my sleeping through version 13?

Some good news:

I've always liked the way that Microsoft have checks for pre-reqs when you install their software. Saves so much pain and reconfiguration later. Nice to see this here, I lose count of the number of times I send a list of pre-reqs to a customer before an installation to find they've not been done - this should save a lot of time.

More good news - .Net SDK

Tucked away in the very flexible installation options is the .Net SDK. I do a lot of .Net development, so after the missing SDK in the V0 release of Crystal Reports Server 2008, and the knowledge that there was no .Net version of the new InfoView, I was concerned. There is a 32 bit version too, as a separate install.

Even more good news - SQL Server as default system database

I assume this is due to the tiff between SAP and Oracle. Oracle own MySQL, so SAP have dropped MySQL from the installer. Before anyone launches into 'Open source is the answer', ask yourself one question - how many small companies who did their own installation of Crystal Reports Server 2008 have the slightest idea how to backup a MySQL database? Even if they already have MS SQL, chances are they don't know how to create a new system database, so they just keep clicking next and end up with a system they never backup.

Thank you SAP (and I don't say that very often).

Other bits and bobs:

There a various options - version control and diagnostics. I've not had time to even check the licensing agreements, so won't get excited just yet. Version control has been a frustrating omission for too long, so glad to see something appear. Now all I need is proper control of publishing - reports available from, to etc.

Central Management Console

Nothing but good news here so far - it hasn't really changed. After the massive changes of the last release, it's good to see that tasks are done in pretty much the same way. There is new stuff, but the old stuff can be done in the same way.  I've not worked through any proper workflow yet, so I don't know if I'll still be playing 'hunt the option' between the 'Action' and 'Manage' menus, or wondering whether or not rightclick will give me a context sensitive menu or the browser options. Hopefully, that's all been fixed.

Infoview BI Launch Pad

Login screen remains the same, but that's about it!

After that, first impressions aren't great, but can be overridden by the administrator. First time you login, you get 4 mostly empty boxes on the home page - where are my reports? So you click the tab that says Documents, and get this:

Nothing in favourites, nothing in inbox, etc, etc. We're back in the land of Crystal Enterprise 8.0, playing hunt the link. Keep looking, and you'll see Folders at the bottom, click that and you're back in the familiar territory of your report folders. I know that I can change all these defaults centrally, but for the default to hide all your reports is just silly.

Overall

On balance, I feel positive about the new release, hopefully that feeling will continue. When I get time, I'll write some more.

Andrew Baines

Software Resurrection

Posted by Andrew Baines Apr 28, 2011

I'd originally intended this to be an April Fools entry, but it's been a busy month. With a little bit of judicious editing, I'll take advantage of Easter and make it a post about resurrection. We can still have a bit of fool though!

Along with the rest of the SAP/BO/Crystal world, I've been interested to view the progress of BI 4.0, especially the Crystal side of things as that is my main focus. It was while watching the demo of Crystal Reports for Enterprise that I had a strange feeling of deja vu.

Summing up the important features of Crystal Reports for Enterprise:

         
  • It's written in Java
  •      
  • It works with rpt files
  •      
  • It's not quite as functional as Crystal Reports
  •      
  • It'll be 'problematic' to deploy with all those annoying java updates

Those with memories going back about 12 years will remember Seagate Analysis as part of Crystal/Seagate Info, and its associated product, the freebie Crystal Query (I may have got the name wrong, but it was going to be free forever).

The main features of Seagate Analysis were:

         
  • It was written in Java
  •      
  • It worked with rpt files
  •      
  • It wasn't quite as functional as Crystal Reports
  •      
  • It was difficult to deploy as back then a 40MB+ download (IIRC) was big, and you still had those annoying java updates
  •      
  • It had a really clever tab that let you reuse your report data in an OLAP-like slicer dicer

Well, 4 out of 5 ain't bad!

I've no idea if any of the old Seagate Analysis code has been reused, I doubt it, and kind of hope not!

However, it does look like an old product has been resurrected.

While typing this, I've been wondering two things:

1) Why did Seagate Analysis fail (if fail is the correct word)

2) What else should be resurrected?

On its failure; Seagate Analysis was only in the product for one release, being dropped with the release of the 'new' product, Crystal Enterprise. Seemed a strange choice at the time as so much energy had been spent on marketing it and, ignoring the size of download and installation issues, it fitted quite nicely into a web application. A few years later, the dreadful Crystal Reports Explorer appeared, but it was never used much (for very good reasons).

My personal, biased opinion is that part of the failure was due to being written in Java. I've always felt you can tell a Java application from the fact that it isn't quite as good as the Windows (or Mac) version, bit clunkier, bit slower, less functional.

If my possibly ill-informed, biased opinion (!) is right, could a similar fate await Crystal Reports for Enterprise?

 

On resurrecting other software, SAP & BO have had their acquisition sprees over the past few years. I'm sure there's plenty of stuff that's been quietly ignored. Before you say anything, you can't resurrect Desktop Intelligence yet - the body's still warm!

I've seen comments out and about regarding the lack of new features in the next release of Crystal Reports due this year (see this pdf) . As far as I'm concerned, SAP have deprecated the awkward ActiveX viewer, so I'm willing to forgive them anything!

More seriously, this is mature software, so changes are going to be gradual, the last truly revolutionary release of Crystal was version 5 when all the conditional formatting, multi-section & sub-reports appeared. I know there have been subsequent changes to the database connectivity that were significant from an engineering perspective, but not important to end users. I need to qualify this paragraph by admitting I like Office 2010, especially the ribbon, so maybe my opinions are odd (I'm not too impressed with Firefox 4 either).

Moving on, this post isn't about Crystal 2011 (sorry, SAP Crystal Reports 2011, the marketing police will be calling), it's more retrospective. I'm about to do some work using Crystal Reports 8.5 (sorry, Seagate Crystal Reports 8.5). This got me thinking about all the new stuff that's appeared over the years, some new features have seemed trivial but have become must-haves, whereas other features have seemed major, but have never been used. One last mention of Crystal 2011 - no matter how few new features there are, it will be more than in Crystal 8.5 - erm - pdf export and support for Crystal Enterprise, that'll be ££££ please.

I can't remember when all these things appeared, so I'll not bother. If you don't remember any of these, then you've probably a lot less grey hair than me! I've excluded some of the exciting stuff (eg Dynamic Parameters) simply because they did seem important, and have remained so.

Things I'd be upset to lose, but didn't seem important at the time:

         
  1. Resizing the Database Links Window (aka Visual Links) - sounds like a daft one to start on, but it used to be a fixed (tiny) size and having to scroll around all the database tables used to drive me nuts! Such a trivial change that made life so much easier.
  2.      
  3. Duplicating Formulae - it's common in Crystal to have many very similar formulae running across the page. All that cutting and pasting from one formula to another was made so much simpler when you could just duplicate and rename.
  4.      
  5. Formula Workshop - I really didn't see the point of this when it first came out, but it makes finding formulae so much simpler. Add to that, being able to find a formula's dependencies is priceless.
  6.      
  7. Sub-report linking - not the ability to, but the user interface. Remember that tiny box with drop-downs that never seemed to link quite as you'd expect? Then, you'd try to remove a link and - oops. The current version is far from perfect (not visual enough), but at least it works.
  8.      
  9. Saved data selection formula - really geeky choice, this is the less glamorous part of being able to edit the parameters in the viewer. Great idea, well executed. I've been working on some reports based on an XML data source where the initial report takes a while to load the data, I wouldn't want to repeat the delay every time the user changed a parameter.
  10.      
  11. Longer formula text - once upon a time there was a fairly small limit on how long a formula could be (can't remember how long). First report I wrote for a major customer (Computacenter) blew that away so I had to break the formula down into many smaller parts. I then had to cut and paste as the formula was replicated 31 times.
  12.      
  13. Format Painter -  Just looking through the old new features documents and can't believe this didn't arrive until version 10. I know it still doesn't quite work as it should on some formatting, but it's a great help.
  14.      
  15. Charts - there have been many changes to the charts interface over the years. There used to be the separate chart application where you could do advanced edits, then you'd add the chart and it would all change ever so slightly! The current interface is nearly right with the exception that some of the changes can only be made in design, not preview, and that resizing the chart messes things up - maybe next time?
  16.      
  17. Report Explorer - another new feature that I didn't use for a while. Then I spent 20 minutes trying to select lines in a crowded section! Just click in the Report Explorer and you have it.

Things that seemed important, but ....

  1. Maps - I loved to demo the maps. Here's my report, insert a map just like you do a chart and bingo - map of USA with sales by state colour coded. As you can probably tell from my spelling, I'm in the UK, not US. The UK map looked great, but there was no way to sensibly place your data onto the map as the regions made no sense. The only option was to buy another map, but the licensing was so horrendous that nobody did. Moral of story: if you want maps, buy a mapping application.
  2. Workbench - The ability to group all your reports into a selection of projects seemed like such a good idea. I spent ages creating a project per customer and adding their reports. Then I fired up my laptop to find there was no simple way to keep the two synchronised. Nor did the workbench add much to windows explorer other than the ability to check some dependencies.
  3. Running Totals - It used to take 3 formulae to create a running total - one to initialise, one to increment and one to display. New Running totals were supposed to make life so much simpler with a simple interface to define what you were adding up and when to calculate it. Then you'd try and do something complex and have to delete your running total and go back to the 3 formulae solution. For anything beyond trivial, I stick to 3 formulae now.
  4. Basic Syntax - There are millions of VB programmers, and millions of Crystal Reports users - what could be more obvious than letting Crystal use Basic. Except it wasn't Basic, it was just different words to those used by Crystal, a bit like describing the Crystal Syntax as Pascal. That meant that neither VB programmers nor Crystal Reports users could use the new syntax. Let's get rid of it and let the people writing the documentation work on something else.
  5. Templates - there used to a joke about the paper clip in Microsoft Word - "You appear to be writing a letter, would you like me to @%@^@ it up for you?". This was Crystal's answer to the paper clip - "You've spent hours placing those fields on your report, would you like me to randomly rearrange them for you". With the initial release, it wasn't even possible to undo the changes! Maybe it's improved since then, I don't want to take the risk - I'll stick to modifying an existing report that has the correct formatting.
  6. Autosave Report - This seemed to be such a great idea - you have a program that does (occasionally) fall over so why not save your work as you progress? Except it saved the report over the existing file so if you wanted to just test a few changes, you lost your stable file - I know you should work on a copy, but welcome to the real world. I much prefer the method used by QlikView where the filename is automatically incremented with a version number.
  7. Sort Control. I think many people will disagree with this one! When I used to demo Crystal, I was often asked about dynamic parameters - they were a feature that lots of people wanted. I was never asked about on-report sorting. They look like something that someone who had used WebI would ask for. Newsflash - WebI and Crystal have different uses. Add to that, the clunky formatting - they look really nasty.
  8. Highlighting Expert - look! I can change the colour of this field based upon it's value. However, I also want to change the colour of a second field based upon the value of the first, so now I have to do the same thing in two different ways on the same report.
  9. Xcelsius objects - I can see the thinking in development - our chart engine doesn't always work as we'd like, let's add one that's really difficult to use so that we can tell people they have a choice. I love Xcelsius (I know the name has changed), and think it makes a great dashboard tool, but it's too complicated when you add it to Crystal. Add to that the problems of testing all these disjointed bits and it gets worse. Maybe the integration interface will change in the next release, then I can move this up the page to features I don't want to lose.

I'm sure I've missed stuff, or included stuff you disagree with, so comments more than welcome!

This is my first post on the SDN blogs, so I'm afraid it's a shameless cross-post from my regular blog over at wordpress.

One of the few blogs I have bookmarked is Phil Factor's Phrenetic Phoughts, in a recent post he discussed SQL Code Smells. As he explains, code smells aren't a new idea, they're not even necessarily causes of errors, they're just things in code that don't feel quite right. The sort of thing that may be (or may not) be working correctly now, but you just get a feeling it will cause a problem in the future when making changes or something behind the scenes changes.

This got me thinking about smells in Crystal Report design. I do a lot of work with people's existing reports, so I see a lot of different styles - some good, some bad.

Being an end user tool, a lot of Crystal Report designers have no formal training. In addition, the iterative nature of report design means that the design of a reports isn't normally planned. Even if it is planned, changes are made that don't necessarily fit in with the original design. You then have the battle between the designer and the IT focussed DBA who doesn't trust the end user to access the database directly so creates views and stored procedures. The end user finds this restrictive so  workarounds are used that make the situation worse.

A few things that make me draw breath:

1. Linked Views IT have created a view, but something is missing. The report designer has a choice - wait a week for IT to change the view, or link to another view. They always choose the latter. All of a sudden, instead of a simple query on the customer view, they're querying the entire transaction history of every customer to retrieve some obscure fact. They then blame Crystal Reports for bad performance.  Who do you blame? IT need control, the designer has a deadline to meet. You can argue about company culture, or talk about the 'real solution' being a data warehouse.

2. Complex Conditional Formatting Everywhere you go in Crystal now, there is a little formula symbol that allows you to conditionally do something. Be that change the font size, hide a field or change the colour. It's great - most of the time. Where it starts to get smelly is when you have very complex formatting. Just how do you debug it? To make it worse, it's then copied and pasted into multiple places. Change management?  Best solution is to use a proper formula that returns a value that is then used in the conditional formatting. That way you can use it in multiple places, and place the formula on the page to see what's going wrong. If I get a report with this smell, I copy the formatting into formulae then use the formulae for the formatting. Other problem is that it's so fiddly to find where all the conditional stuff is. Which leads me on to....

3. Comments Every article on code smells has this in the list of problems. It may be obvious what a formula is, but will it be so obvious when it's been changed 2 or 3 times, then revisited 6 months later? It's not uncommon to see Crystal Reports that are over 5 years old. As well as commenting in formulae, I like to add suppressed text fields to the report canvas to explain different sections - especially where conditional suppression is used.

4. Complex SQL I mentioned earlier that many Crystal Reports designers have no formal development background. Complex SQL isn't their issue - this one comes from SQL developers who have been landed with Crystal Report design because 'they know SQL and Crystal uses SQL'. Instead of trusting Crystal to write the SQL, they hand code. However, they're really good at this, so like to use sub-queries instead of joins, lots of aliases (renaming table to a, b,c, etc ) you end up with SQL that's really hard to interpret. Clever SQL developer then moves to another project and hands the report to the aforementioned end user.

5. Stored Procedure for every report The SQL developer is the guilty party again! Each report has its own stored procedure that was designed when the report was first requested. This locks in the query and makes change hard work. It also forces a dependency on IT for every change ever made in the future. Users try to modify the report, which takes us back to the first problem.

I'd love to hear what others think. If you don't want ot post here, pop over to my web site.

Filter Blog

By author:
By date:
By tag: