Crystal Reports - Save Time With Formula Sharing

Once a report library grows to a certain size there isformula requires the developer to log on to the Report
always going be common formulas which are neededServer and so uses up a license. For those companies
again and again. Having ready access to them canwith only five licenses, this could be a real problem,
save a vast amount of development time.especially as the Crystal Reports software has to be
My book started life as a notepad document whichshut down and reopened to free the license.
was a list of 25-30 formulas I used a lot, or were soOne final thing to be aware of, which struck me as
complicated I did not like the idea of rewriting them.odd, is that formulas saved as functions on the Report
This is fine for a solo consultant travelling fromServer do not handle NULLS. This can make some
company to company, but for large teams ofthings just impossible to save in this manner.
permanent staff something more robust andHow to Setup Functions
expansive is required.Write and save a formula, preferably something useful!
For those companies using a Business Objects reportsWithin the formula editor, select "Custom Function"
server (Enterprise, Edge etc) formulas can be saved infrom the New File dropdown.
the repository just like a report and be accessible byChoose to "Use Extractor" and then select the
the whole team.previously written formula.
Even a solo developer can benefit from this approachCrystal Reports will create a Function based on the
as formulas can be added to a formula through thisformula and replace any database fields with variables
method far quicker than copy / pasting from ato allow it's re-use with other values.
separate text file. There is also the added bonus toRename the computer created variable names to
the business which gets to keep this knowledge oncesomething meaningful. I advise using ctrl F and Find
the report developer leaves.& Replace to ensure all references to the variable
I'll end this article with a step by step instruction on hownames are changed.
to setup and use this method of formula storage, butUpload to the Report Server, where the Function be
first I want to discuss some of the finer points ofsaved in the Repository Custom Functions folder.
implementation.Note the consistent naming pattern to the Functions in
One of the main strengths of this approach is thethe illustration above. This is important for later use and
standardisation of report calculations, but this increasesmakes finding the correct Function a lot easier.
the importance of the formulas being right! This mayUsing Existing Functions
sound obvious, but a formula that is right for one reportTo use an existing Function is simple:
maybe not be for another.Open a new formula and expand the Repository
For example: a formula that calculates working hoursCustom Functions.
based on a five day working week and 08:00 to 16:00You may need to log on to the Report Server, then,
hours is going to be wrong for reporting on a teamhighlight the Function you want.
which works a half day on a Saturday.Click the cog icon with the red arrow pointing to it.
With this in mind, I strongly recommend that formulasGo back to the formula you just opened and notice
are double checked, tested and checked again beforethat the Functions Panel now has an additional folder
they are saved to the repository. Ideally, other team"Custom Functions" which contains the Function just
members should have an active role in the testing.created.
In a team of mixed abilities, an extensive library ofJust double click the Function you want.
formulas can lower the required expertise for reportOk, that may sound a little convoluted when
writing and really boost productivity.approached as an end to end process, but once a
And, as the code is still visible, new report developerslibrary of Functions builds up, accessing it as and when
can use it as a study guide to expand their ownrequired becomes second nature and a genuine time
knowledge.saver.
Unfortunately, saving, or accessing a pre-saved