
The Crystal Reports Underground News Volume 2012.01
an independent source for Crystal Reports Information
by Ken Hamady, MS
Contents for January 2012:
** Server based deployment
options compared (2012)
** Another Free Viewer for Crystal Reports
** My library of Crystal Reports materials
** A total of a formula instead of a formula of totals
** Controlling the color of many objects from one formula
** Let me create your Crystal Reports
** Case sensitivity in Crystal Reports
** Find it EZ adds support for Dashboards and SQL
** Open enrollment Crystal classes in Frederick, MD
** Strange printer behavior at runtime
** Dynamic parameter limit on "list of values"
Other recent blog articles:
Running v8.5 reports in later versions of CR
Five intangible metrics
Server based deployment options
compared (2012)
There are many ways to deploy Crystal Reports to users. I normally lean toward
the simpler and less expensive options, like locally installed viewers, or
scheduled delivery of PDF output. But there are environments where a
server based option is necessary. The 'official' options from SAP are Crystal
(Reports) Server and BO Enterprise. You can read about these on the SAP website.
But there are other, less expensive products out there that many users never
see. These are third party products that allow you to centrally manage your
report deployment from your server.
There is a
page on my blog that lists and compares these products, and I update it
every January. This year the list includes:
Ripplestone – a traditional Web portal
Report Runner Web Portal – a traditional Web portal
RVweb – a traditional Web portal
rePORTAL – a traditional Web portal
RV for Windows Pro – a server-based viewer
ReCrystallize Pro – a Web launch page generator.
Report Launch – a bridge between BO server products and server based
applications.
The features vary and they are aimed at different types of users. The blog
page mentioned above contains a brief rundown on what each product does and
provides links to all of the product web sites. I have also posted a
feature matrix (PDF) that shows some of the specifics for comparison,
including prices. If you have any feedback to share on these tools I would
be happy to hear form you.
Another Free Viewer for Crystal
Reports
Jeff-Net has released a
free edition of Report Runner viewer. It is completely free,
can be installed as many times as you like and doesn't have any ads. It is
only missing 2 features that are included in their paid edition:
1) You can't launch reports from the command line (batch files).
2) You can't customize the interface
But otherwise it can do everything a report viewer should do (preview, print,
export, refresh, etc). To get your license you have to provide a company
based Email address (not Hotmail/Gmail/etc.). That's it.
If you want to compare the features of Report Runner with the other free (and
paid) viewers you can read my
review of Crystal Reports Viewers, which I update every September.
My complete library of Crystal
Reports materials
Do you want to really understand Crystal formulas? Do you know when to use
the four different methods to add totals? Why not let me explain these Crystal
Topics to you with one of my Expert's Guides. Each guide comes with clear
explanations and sample files to illustrate the concepts.
Expert's Guide to Formulas ($36)
Expert's Guide to Subreports, Parameters and Alerts ($28)
Expert's Guide to SQL Expressions, Options and Commands ($26)
Expert's Guide to Totals ($24)
Expert's Guide to Cross-Tabs ($22)
Expert Techniques Vol. 1 - 4 ($19 each)
Quick Reference to Crystal Reports in Visual Basic ($16)
Quick Reference to Crystal Reports in .NET ($14)
You will find these on the
LIBRARY
page of my site.
A total of a formula instead of a
formula of totals
Imagine a report that has several columns of numbers that need to be added
together - like Price, Tax and Shipping. At the end of a customer group you
would have three subtotals. You might decide to write a formula that adds those
three subtotals together to get the combined total for the customer. It would
work fine but there is usually a more efficient way to do this. Instead of
writing a formula that combines the three subtotals, I would write a formula
that combines the three fields at the detail level. It would look like this:
{order.ExtPrice} +
{order.tax} + {order.shipping}
Then I would do a subtotal of this formula for the customer group. The subtotal
of this formula returns the same value as the formula that combines the three
subtotals. So why is this more efficient? Because if you have other
groups, or if you need a grand total, all you have to do is check "add to all
group levels" when creating the subtotal (summary field) of the formula.
If your version of CR doesn't have this check mark you can copy and paste the
subtotal field to all the other footer sections. The point being that this
one formula can support all group levels as well as the grand totals. And
if you ever have to change the original formula you only have to change it in
one place.
Using the first method you would have to write a separate formula for each group
level and another formula for the grand totals. And if the formula ever
changes you would need to modify every one of the formulas.
In my mind I picture it this way: Instead of going "down" the subtotals
first and then "across" in a combined formula, you first go across to combine
the details, and then go down to summarize that formula.
If you want to learn more about the 4 different types of totals that you can do
in CR, and when to use each type, you should get "The
Expert's Guide to Totals in Crystal Reports".
Controlling the color of many
objects from one formula
I recently helped a customer develop a GANTT style chart in Crystal Reports.
The challenge was that Crystal's normal Gantt chart doesn't allow multiple bar
segments on the same row. So I was showing them how to create a GANTT
chart using formulas and specially formatted summary fields. This method
requires formatting dozens of small fields with the same color condition.
I selected an initial color and was trying to think of the most efficient way to
change the color defined in all the condition formulas. Before I had an answer
the customer showed me a method I had not seen before. He created a single
formula that returned the name of one of the CR colors, and then referenced that
formula wherever we needed the color choice. By changing that one formula
value, the color would change in dozens of other objects.
Now I have written several articles about the
use of 'feeder' formulas like this and this idea had even crossed my
mind. But for some reason I was convinced that the only formulas that could
return a color value as a result were formatting formulas. Obviously, I had
never actually tried it. So when I saw that you could return this type of value
in a regular formula field I wondered what would happen if I placed this formula
on the report. I created a formula field that contained just the color function
CRAqua (not in quotes), then I placed it on the preview page of the report.
What I saw was a large number. And when I put that number into a font
color condition, the font turned Aqua, the same as if I had used the name
CRAqua.
So I learned two things.
1) All of the formatting constants that we use are really just aliases for
numbers, and you can use the numbers instead.
2) You can assign a formatting constant in one formula and then use that formula
to control value in formatting formulas.
It is always a good day when I learn something useful from a client or a
student, so thanks to Suresh Gursahaney of MicroAutomation in Centerville, VA .
Let me create your Crystal
Reports
There aren't many people who know Crystal Reports better than I do. It is what I
do all day, every day. So if you need a tough report created why not leave it to
an expert? Let me show you how I can mix and match techniques to create
the reports you need - even the ones that "can't be done". And since I am
also a teacher I am happy to explain to you how the techniques work together.
I can also review existing reports that break, or run slowly, or seem overly
complex. Let me have a look at them and see if there is a more elegant
solution.
Case sensitivity in Crystal
Reports
I always mention case sensitivity in my Crystal Reports classes. My normal
comment is that CR formula comparisons are case sensitive with the exception of
the selection formula, which is usually NOT case sensitive. So I was surprised
last week in my Advanced class when our formulas ignored all case differences. I
thought this might be a recent change so I went home and tested reports back to
v8.5. None of the comparisons were case sensitive.
So I did a quick Google search and found a
10 year old forum thread
discussing case sensitivity. One short comment in that thread explained the
difference. And guess who wrote that comment and promptly forgot about it
(Doh!).
So the answer is that there is a setting in File -> Report Options that tells CR
if your SQL statements need to be case sensitive. That setting also
controls the case sensitivity of your Crystal formula comparisons. This
setting is saved with each report so you can have some reports that are case
sensitive and others that are not. You can set the global default for this
setting in File -> Options (Database Tab). The File Options setting will
set the default value for all NEW reports, but will not change the default value
for existing reports. If you need to change the value for existing reports
you need to go to File -> Report Options for each report.
Find it EZ adds support for
Dashboards and SQL
It is always a good sign when vendors respond quickly to user requests.
Last month the developers of Find it EZ received a request from a potential
customer. He needed to search for table and field names within his SQL
commands and SQL expressions. The next day this user was using a new
version of Find it EZ, including this new feature. The user was surprised
that he didn't even need to fill in the report parameters before the SQL was
searched – something required by his old software.
This support for embedded SQL searches is now included in the current release of
Find it EZ. It can also search Crystal Dashboard(Xcelsius) files and even
their embedded Excel models. See
this article for more info on Find it EZ.
Open enrollment Crystal classes in Frederick, MD
Stop struggling with Crystal Reports and learn how to use it fully. Come
join me in one of my August classes and learn how to make Crystal work for you.
My Intro class makes sure you know all of the basics. We even include
material on cross-tabs, charts and formulas. The Advanced class shows you
how to solve reporting problems with running totals, subreports, parameters and
commands. The material is good for any version. See my web site for
course outlines and dates.
So what makes my classes different? I have written my own course materials
and have used them to teach over 2,500 satisfied students. And, I give you
a toll-free number so you can call me after class with questions at no charge.
Or, if you want to schedule a class at your office, using your data, that is my
specialty. I have found some stellar instructors in the the US and Canada
that deliver my class for a very competitive price. They are based near
Spokane/Seattle, LA, Omaha, Detroit, Tampa, Philadelphia, New York City, Boston,
Vancouver and Montreal. Call for details.
Strange printer behavior at runtime
One of my customer sent me two screen shots. One showed a normal preview on his
development machine. The other showed a preview window on the runtime machine.
The second had the group tree, but the report was nothing but a long blank
vertical strip. He had been struggling with it for a month and could not figure
out what was causing the strange behavior at runtime.
Now I have found that when the preview behavior changes on a different machine,
it is usually due to a printer driver problem. I also know that CR will normally
look for the same printer that was used at design time. If CR doesn't find the
same printer name it will then use the default printer on the runtime machine.
The long narrow strip didn't look like a normal printer, so I wondered if the
new workstation somehow was defaulting to a printer with a very narrow printable
area set by default. So I Emailed my customer if the deployment
workstation had a label printer set up as the default printer. Here is part of
the response:
"All I have to say is WOW! I changed the default printer
and problem instantly solved. It has haunted me for a
month
and you resolved it in one simple email."
Granted, not all problems are this easy to solve, but if you have a strange
behavior with one of your reports it might be worthwhile to let me take a look.
Dynamic
parameter limit on "list of values"
Crystal limits how many values you have to choose from when you use a dynamic
parameter. The default limit is 1,000. To show more than 1000 values
you have to edit the registry on the PC. Here are the steps:
1) Add a new registry entry under:
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 11.5\Crystal
Reports\DatabaseOptions\
2) Add a new key at that level called: \LOV
3) Add a string called MaxRowsetRecords
4) Set the value to whatever limit you want, or enter a zero to mean unlimited.
Notes:
**Always make a backup before making registry changes
**Loading large lists this way can make the parameter run for a few minutes
before the user can select a value.
**Any dynamic list that has more than 200 values will activate the parameter's
'batch interface" discussed in a previous post.
(And thanks to Duane Fenner, an Account Manager and CR developer at LeaseTeam,
Inc. for suggesting this post.)
Other
recent blog articles:
Running v8.5
reports in later versions of CR
Five
intangible metrics
Contact Information:
Ken Hamady, MS
525K East Market St.
PMB 299
Leesburg, VA 20176
(540) 338-0194
ken@kenhamady.com
http://www.kenhamady.com
Copyright 2012 by Ken Hamady
All rights reserved - Republishing this material requires written permission