Upcoming SlideShare
×

# Crystal Report - Formulas - Cheat Sheets

2,047 views

Published on

2 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
2,047
On SlideShare
0
From Embeds
0
Number of Embeds
66
Actions
Shares
0
50
0
Likes
2
Embeds 0
No embeds

No notes for slide

### Crystal Report - Formulas - Cheat Sheets

1. 1. Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com Report Formulas Cheat Sheets by Crystal Reports Online Training NOTICE OF RIGHTS All rights reserved. No part of this book may be reproduced, stored in a retrieval system or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embodied in critical articles or reviews. NOTICE OF LIABILITY The author and publisher have made every effort to ensure the accuracy of the information herein. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors and Crystal Reports Online Training, nor its dealers or distributors, will be held liable for any damages caused either directly or indirectly by the instructions contained in this book, or by the software or hardware products described herein.
2. 2. Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com String Functions String Analysis Functions Function Name Description AscW(str) Returns theASCII valueof a character. ChrW(val) Returns thecharacter equivalentof anASCII value. Len(str) Getsthenumberof characters in thestring. IsNumeric(str) Tells if thestring canbe properly convertedtoa number. InStr(start,str1,str2, compare) Determinesif str2is a sub- string of str1.The startand compareargumentsareboth optional. InStrRev(start,str1, str2,compare) Sameas InStr()exceptthatit startsattheendof thestring andsearchestowardsthe beginning. StrCmp(str1,str2, compare) Comparestwostrings toeach other.The compareargument is optional. Val(str) Returns thenumeric equivalentof thestring. The StrCmp() function returns a value based upon how the two strings compare to each other. Just like the Instr() functions, you can pass a compare argument to set case sensitivity. StrCmp(str1, str2) Return Values Return Value Description -1 str1< str2 0 str1= str2 1 str1> str2 String Parsing Functions Function Name Description Trim(str) Trim thespacesfrom bothsides of a string. LTrim(str) Trim thespacesfrom theleftsideof a string. RTrim(str) Trim thespacesfrom therightside of a string. Mid(str,start, length) Returna given numberof characters startingata specifiedposition.The start andlength argumentsare optional. Left(str,length) Returna given numberof characters startingwiththeleftmostcharacter. Right(str, length) Returna given numberof characters startingwiththerightmostcharacter. The Trim() function deletes all extraneous spacesfrom eithersideof thestring,depending on which function you call. The Mid(), Left(), and Right() functions return a partial string where the number of characters returned is based on the length argument. If you don’t pass a lengthargumenttotheMid() function,it returns all charactersstarting with thefirst one you specified. Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com
3. 3. Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com String Manipulation Functions It is common for a string to bemodifiedbefore it is displayed on a report.This can consist of reformatting the string or even joining the different elements of an array into a single string. String Manipulation Functions Function Name Description &,+ Concatenate(combine)two strings intoa singlestring. Filter(str,find,include, compare) Searchan arrayof strings for a sub-string and return an array matching the criteria. Replace(str,find, replace,start, count,compare) Find a string andreplaceit withanotherstring.The argumentsstart, count and compare areall optional. StrReverse(str) Reversetheorderof all charactersin thestring. ReplicateString(str, copies) Returnsmultiplecopiesof a string. Space(val) Returnsthespecified numberof spacesas a single string. Join(list,delimiter) Join an arrayof strings into onestring andseparatethem withthespecifieddelimiter. Split(str,delimiter, count,compare) Split a single string intoan arrayof strings basedupon thespecifieddelimiter.The argumentscount and compare areoptional. Picture(str,template) Formatsthecharactersin a string ontoa template. The & or + is used between two string variables (or fields) to combine them into a singlestring.An exampleis: {Customer.LastName} & ", " & {Customer.FirstName}; Although you can use + to concatenatestrings, it is recommendedthatyou use & becauseit is most commonly recognized as the standard operatorfor concatenating strings.Using + can beconfusedwitharithmeticfunctions. An easy way to insertthequoteinto a string is to use the ChrW(39) function.This returns the quoteliteralandit is mucheasiertoread. // Display "Ben Hur" Chrw(34) & "Ben Hur" & Chrw(34) The Filter() function searches an array of strings for a matching sub-string. It returns an array of all thestrings thathave thatsub-string in them.The first argumentis the string array and the second argument is the sub-string to searchfor.The Filter()functionhas an optional include argument that tells the function to return an array of strings thatdon’t match the sub-string. Essentially, this would be the same as saying that it returns all strings where the InStr() functionreturnsa zero. The Replace() function searches for a sub- string within another string, and if it finds it, then it replaces it with the new string. It uses an additional optional argument called count. The count argument lets you limit how many string replacements are done. If you pass a number for this argument,then the number of replacementsdone cannotexceedthatvalue.If you don’t pass a value for this argument,then all thesub-strings arereplaced. The Split() and Join() functions work together nicely. The Split() function takes a string and splits it into a string array. The string is separated based upon a character you pass to the function. This is typically a comma, but it can be anything you needit to be.Splitting the string apart makes it is easy to work on the individual strings. After you are done making any necessary changes to the individual strings, you can combine them back into one string using the Join() function. How convenient! Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com
4. 4. Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com Converting Data Types Even though the data types in Crystal syntax are fairly simple, you still have to make sure that they are compatible. Fortunately, this shouldn’t cause problems because there are functions to convertbetweenthedifferentdata types. Data Conversion Functions Conversion Function Description CBool(number), CBool(currency) ConverttoBoolean. CCur(number), CCur(string) ConverttoCurrency. CDbl(currency), CDbl(string), CDbl(boolean) ConverttoNumber. Equivalentto ToNumber().See the section“Formatting Valuesfor Output”. CStr() ConverttoString. EquivalenttoToText(). CDate(string),CDate(year, month,day), CDate(DateTime) ConverttoDate. CTime(string),CTime(hour, min,sec),CDate(DateTime) ConverttoTime. CDateTime(string), CDateTime(date), CDateTime(date,time), CDateTime(year,month, day) ConverttoDateTime. CDateTime(year,month, day,hour, min,sec) ConverttoDateTime. ToNumber(string), ToNumber(Boolean) Converttoa Number. ToText() ConverttoString.Same as CStr(). IsDate(string),IsTIme(), IsDateTime() Testa string for being a valid date/time. ToWords(number), ToWords(number,decimals) Converta numbertoits word equivalent. The CBool() function takes a number or currency value and convertsit to Boolean True or False. Any non-zero value is converted to True and zero is convertedto False.When it is displayed on a report, it prints the words “True”or “False”. The CCur() function takes a number or string and converts it to the Currency data type. When converting a string, it can have formatting charactersin it (“\$”,“,”,etc.)and it will still beconvertedproperly. The CDbl() and ToNumber() functions are equivalent. Pass each a value and it gets convertedtoa number. The CDate(),CTime() and CDateTime()areall similar. Pass them a string and it gets converted to the proper data type. The string parserfor this function is very sophisticated.It lets you pass strings as diverse as “Jan 19, 1991”, “5/26/1998” and “2002, Feb 04”. You can also pass numbers as individual arguments for representing the different parts of a date and time. See Table 6-5 for the various argumentoptions. When converting a string to a dateor number, you run therisk of raising an error if thestring isn’tin theexpectedformat.You can avoid this by testingthestrings validity beforeconverting it. The IsDate() and IsNumber() functions do this for you. They return True if thestring can beproperly converted.If not,theyreturnFalse. For example,hereis a function thatconverts a string toa date,butonly if it is a valid date. If IsDate({Invoice.ExpirationDate}) Then CDate({Invoice.ExpirationDate}); The ToWords() function takes a number and converts it to its equivalent in words. This is similar to writing a dollar amount on a check and thenspelling out thefull amountin words. It prints the decimal portion as “##/100”.You can set the number of decimals it displays by passing a number to the second argument, which is optional. Notice in the second example how it only displays one decimal place and it rounds it up to the next higher number. //Demonstrate the ToWords() formula ToWords(123.45); //Result is "one hundred twenty- three 45 / 100" ToWords(123.45,1); //Result is "one hundred twenty- three and 5 / 100" Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com
5. 5. Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com Formatting Values for Output The CStr() function is passed the value to format as the first argument and a formatting string as thesecondargument. CStr() Formatting Characters Format Description # Use withformattingnumbers.Each instanceof it allocatesspacefor a single digit.If thenumberisn’tvery large,theremaining partis filledwith spaces.If thenumberis toolarge,the integerpartis still fully displayed. Unuseddigits afterthedecimalare zerofilled. 0 Use withformattingnumbers.If the numberisn’tlargeenough,itis paddedwithzeros.If thenumberis toolarge,theintegerpartwill still be fully displayed.Unuseddigitsafter thedecimalarezerofilled. , Use withformattingnumbersto designatethethousandseparators. . Use withformattingnumbersto designatethedecimalseparator. D, M Day andmonthas a number(without a leading zero). dd,MM, yy Day,monthandyearas a twodigit number(witha leading zerowhen necessary). ddd,MMM Day andmonthas a threeletter abbreviation. dddd,MMMM, yyyy Day,monthandyearfully spelled out. H, m,s Timeportions(12 hour) as a number withouta leading zero. hh,mm,ss Timeportions(12 hour) as a two digitnumber(witha leading zero whennecessary). H, HH Show hours using a 24 hourclock (militarytime). T Single characterrepresentationof AM/PM. TT Two characterrepresentationof AM/PM. CStr() Example Output # CStr() Output 1 CStr(1234,2) 1,234.00 2 CStr(1234.567,2) 1,234.57 3 CStr(1234.567,“#”) 1234 4 CStr(1234.567,“0”) 1234 5 CStr(1234,“0.##”) 1234.00 6 CStr(1234,“0.00”) 1234.00 7 CStr(1234.567,“#.##”) 1234.57 8 CStr(1234.567,“0.00”) 1234.57 9 CStr(1234.567,“#####”) 1234 10 CStr(1234.567,“00000”) 01234 11 CStr(#1/2/200304:05:06 am#, “d/M/yyH/m/st”) 2/1/034: 5: 6 A 12 CStr(#1/2/200304:05:06 pm#, “dd/MM/yyyy HH/mm/ss tt”) 01/02/200316:05:06 AM 13 CStr(#1/2/200304:05:06 am#, “dd/MM/yyyy hh/mm/ss tt”) 01/02/200304:05:06 AM 14 CStr(#3:20 PM#, “HH:mm”) 15:20 Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com
6. 6. Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com Date and Time Functions Crystal Reports gives you a plethora of date and time related functions to utilize. You can also combine different functions together to createvery powerfuldatecalculations. Date and Time Functions Function Name Description CurrentDate,CurrentTime, CurrentDateTime,PrintDate, PrintTime Returns thecurrent dateand/ortime. DataDate,DataTime The dateandtimethat thereportdatawas last refreshed. DateSerial(year,month,day), DateTime(hour,minute, second) Returns a dateor time. DateAdd(interval,number, date) Increasesthedateby a certaininterval. DateDiff(interval,startdate, enddate,firstdayofweek) Find thedifference betweentwo dates. DatePart(interval,date, firstdayofweek, firstweekofyear) Returna number representingthecurrent intervalof a date. Day(date) Returntheday componentas a number. Hour(time),Second(time), Minute(time) Returnthetimerelated components. Month(date) Returnthemonth componentas a number. MonthName(date, abbreviate) Returnthefull month name.When thesecond argumentis True,it returnsthe3-letter abbreviation. Time(time),Time(hour,min, sec),TimeValue(time) Returna Timedata typegiven a string ("11:59:00 PM") or numerictime(). Timer The numberof seconds sincemidnight. DayOfWeek(date, firstdayofweek) Returna number representingtheday of theweek. WeekdayName(weekday, abbreviate,firstdayofweek) Returnthefull week name.Returnthe3- letterabbreviationif thesecondargumentis True. Year(date) Returntheyear componentas a number. Interval Strings for DateAdd(), DateDiff() and DatePart() String Description yyyy Year Q Quarter M Month (1 through 12) ww Weekof theyear(1 through53) W Day of theweek(1 through7) Y Day of year(1 through 366) D Day partof thedate(1 through31) H Hour N Minute S Second Printing the Current Date and Time Therearefive functions which returna report’s dateand time.The functions CurrentDateTime, CurrentDate, CurrentTime, PrintDate, and PrintTime all return the date or time that the report was printed. Although the functions Currentxxx and Printxxx have differentnames, theyaresynonymous witheachother. The functions DataDate and DataTime return the dateand time thatthe report data was last refreshed. If a report has the Save Data With Reportoption turnedon, this will tell you how currentthedatais. Reporting FormulasCheatSheetby www.CrystalReportsOnlineTraining.com