# Archive for March, 2014

Monday 24 March 2014 @ 9:53 pm

I have just posted a late-breaking and somewhat surprising update to my annual comparison of Desktop Schedulers. R-Tag has just released a “Community Edition” of their Report Manager … and made it FREE. This free edition has all the same features as the previous paid edition except for one, the ability to run SSRS and SQL Reports.  But it can certainly run and schedule all of your Crystal Reports.  It uses the latest runtime engine and it can serve as both a viewer and a scheduler.

Of course the free product doesn’t come with the support that you would get if you purchased the Pro Edition (\$749).  And, if you look at the comparison on the Community Edition page you will see that there are a few special features that you only get with the Pro Edition. But, the Community Edition still represents a powerful product with an impressive set of features – more than enough for most users.  Just look at the R-Tag column in my feature grid (PDF) and you will see that their feature list is at the high end. And it is certainly hard to argue with free.

If you try it and want to share your feedback, please drop me a note.

## Changing page numbers to letters

Monday 24 March 2014 @ 10:13 am

I was in a forum and someone asked if there were a way to change numbers into letters (1=A, 2=B, etc).  I had recently done something like this for a customer and was surprised that I had not posted the formula here.  You can apply this formula to any number that doesn’t go over 26.  This first version checks and prints a blank for numbers above 26.

if pagenumber in 1 to 26
then CHR (pagenumber + 96)
else ”

The number 96 in the second line gives you lower case letters.  Use 64 if you want upper case letters.

One special thing my customer needed was to have the the letters start over after 26, so that 27 was another ‘A’ and 28 was another ‘B’, etc.  To do this we used a remainder:

Local NumberVar x:= remainder (pagenumber- 1 , 26) + 1 ;
CHR (x + 96)

You might wonder what the +1/-1 is for in this formula.  This is the simplest way I found to get the exact multiples of 26 show as 26 instead of zero.

## Comparison of desktop-based schedulers (2014 update)

Saturday 15 March 2014 @ 3:04 pm

How would you like your reports to be automatically run, exported to a PDF and delivered to your Email InBox every Monday morning at 6am? The Crystal Reports designer doesn’t provide a way to do this (unless you upgrade to CR Server or BO Enterprise). But if you look at third party products like those on my LINKS page you will find several reasonably priced or free tools that do this. Some do even more. So every March I go through the list and publish a feature comparison on my blog.

There are 10 products again this year.  The page linked above provides a brief description of each product and lists the features that set it apart. Then there is a detailed feature matrix that shows the key specifics for comparison, including prices and the install base. To clarify the matrix terms I have written a feature glossary to explain what each feature means. Finally there are links to the vendor websites so that you can get more information on each product.

In May I will be updating a separate article that compares server based scheduling tools. If you think one person can manage all of your scheduling you are probably fine with one of the desktop tools, regardless of the number of people receiving the scheduled output. But if you plan to have multiple people scheduling reports then you may want to consider a server based tool.

## A single prompt for selecting a specific month

Thursday 6 March 2014 @ 11:47 pm

A user wanted some help improving a report parameter. They want the user to select a specific month using a single prompt. Currently they have to maintain a list of values that looks like this:

2013 Dec
2014 Jan
2014 Feb
2014 Mar
etc.

This list not only has to be maintained each year, but it has to be converted from a string into a date range to be used as criteria. I suggested that instead they use a regular DATE parameter. I think the simplest way is to make the prompt into a DATE prompt and tell the user to pick the last date of the target month. I don’t always tell the user that they can pick ANY date in that month and the method works the same.

The method is to write 2 formulas that turn the date prompt into the first and last day of that month. Then you use these two formulas in your selection formula. So, it is still one parameter, and one that is fairly intuitive. And because the calendar is automatically populated, you don’t have anything to maintain.

Here are the two formulas (note that the second refers to the first):

//First Day
{?DateParam} – Day ({?DateParam} ) +1

//Last Day
Date (DateAdd (‘m’, 1, {@First Day} )) -1

Then your selection formula could be:

{Your.DateField} in {@First Day} to {@Last Day}