Crystal Report - Placing decimal point - crystal-reports

I'm getting an integer value as 2345 but I want to display it as 234.5
is it possible??

To get what you are looking for in a simple fix is like what kingpin stated above. Divide the value by ten. To do this just create a new formula in crystal by going into your field explorer and right clicking on the formula fields section. Under there should be a option to create a new formula. Then in window that comes up put the field you want to manipulate in the formula and then divide that by ten. And there you go. Now use the formula field in the report instead of the original field.
Here is a example of how it could look.
{Table_Foo.value_Bar} / 10

There is a field property for it. Don't have access to crystal reports at the moment, but I know it's there:
Crystal Report Provides an easy to use default thousand separator for numeric Fields. You can use it by checking Thousand Separator from Field Properties.
If you need a customized separator, check Customized Thousand Separator in Crystal Report.
You also might want to find some tutorials on the Crystal Reports themselves if you still have trouble.

Related

Is it possible to adjust the amount of columns (left to right) in Crystal Report based on user input?

I am trying to get crystal to print the details field from Left to Right to an excel spreadsheet output, rather than from the top of the page to the bottom. Setting the details section to 'Format with Columns' and using the layout option of 'Across then Down' doesn't seem to acheive the effect I am looking for. I want to create a given number of columns to the right based on user input passed into Crystal parameters, but I can't seem to find anything within crystal reports that will allow this.
Is it possible that I'm missing something simple, or does Crystal Reports lack the functionality to accomplish columns/rows being generated from left to right rather than up to down?
Thanks in advance for any help!
No such functionality in Crystal alone but you can take control of the Excel output logic using a UFL (User Function Library) allowing a detail-level Crystal formula to write to a specified Excel cell. As the formula progresses through the detail rows, it would increment column/row targets based on the Columns parameter.
You can create the UFL yourself. Alternatively, at least one of the 3rd-party UFLs listed here provides such a function.

Using LIKE in Multi-Value Parameter in Crystal Reports 2011

I am developing a report in Crystal Reports 2011 that has 3 sub-reports pulling data from 3 different databases. I have a Multi-Value Parameter (String) in the main report that passes the input values to the 3 sub-reports which have the same Multi-Value String Parameter.
Sample Input Values are:
P000000030,
P000000930,
P000001730
The user does not want to input the leading alpha character and preceeding zeroes. They want to input the following:
30,
930,
1730
The sub-report pulls all of the records successfully if the user puts the entire string value in with the following Record Selection Criteria, but it does not work with the partial strings input:
{Command.Puchase Order} in {?Pm-?Reference}
Can anyone advise the syntax needed to pull the data in the subreport with the substrings as inputs?
Thanks in advance!
Thank you for your input guys!! I took a bit from everyone and came up with the following solution:
Create a column in the datasource that trimmed out the desired value --> ltrim(regexp_replace(a."po_num",'P',''),'0') as "Puchase Order2"
Modified my Record Selection Criteria to select for either column --> {Command.Puchase Order} in {?Pm-?Reference} or {Command.Puchase Order2} in {?Pm-?Reference}
I really appreciate your input! I am able to deliver the desired solution with your aid.
go ahead and create a formula that calculate the length of your parameter(len({?Pm-?Reference})) and place it suppressed on your report header. Then put below in your record selection formula
right({Command.Puchase Order},{your length formula}) in [{?Pm-?Reference}]
You could add the "number only" version of [Puchase Order] to your datasource...
cast(cast(right([Puchase Order], len([Puchase Order]) - 1) as int) as varchar(9))
as [Puchase Order Number]
...then use that in the select expert. I'm getting the number without the leading P, casting to int to remove the leading zeros, and then back to a varchar for the string comparison in Crystal.
You could do the same with a formula in Crystal reports. Then reference that formula in the select expert. Downside is having to repeat that in all 3 sub reports.

Crystal Reports suppress 0 in Pie Chart

Thanks in advance for any help,
I have a Crystal Report made in Crystal Reports 2011. The report does a simple select from a view and uses about 6 of the columns.
In 2 consecutive sections there is a Cross Tab and a Pie chart, both reporting on the same formula field. The formula for the field is as follows:
iif( IsNull({IROView.OVERTURNREASON})=false, {OVERTURNREASON},"")
Basically, if my value is not null, I get the value, and if it is, I get an empty string.
In the Cross Tab, under the Customize Style tab, there is a Suppress Empty Rows and Suppress Empty Columns check box. I am looking for something similar for the pie chart because even though there is no slice for the empty string, the legend has a an entry for the blank string with the value 0 (or 0%).
Thanks again,
You may want to consider updating the charting engine to use the latest version of CRChart. Three-D Graphics wrote the original component for SAP (nee BusinessObjects nee Crystal Decisions nee Seagate Software); they own the source code. The #HIDE_ZERO macro would probably do exactly what you need to have done.

Troubles with IsNull Crystal Reports

I'm using Crystal Reports 12.3 and Peachtree Accounting 2012 to manage some database. My task now is simply make a report that contains customers that have not placed orders in last 30 days. I'm new to it so I'm asking your help.
My first trying was to use this formula (I'm doing all my stuff in Formula Editor -> Record Selection):
not ({Customers.LastInvoiceDate} in Aged0To30Days)
Everything seems to be fine except null values. I need to include in report records with null values. So I rewrite the formula to:
not ({Customers.LastInvoiceDate} in Aged0To30Days) OR IsNull({Customers.LastInvoiceDate})
But in Peachtree Accounting 2012 I'm seeing a customer with a blank LastInvoiceDate field which is not in report.
Is there some kind of bug in my last formula? Or is there some "other" black values for DateTime type?
You should always check for nulls first, so try reversing the second formula to
isnull({Customers.LastInvoiceDate}) or not({Customers.LastInvoiceDate} in Aged0To30Days)
If Crystal encounters a null and it is not explicitly handled first, then the rest of the formula will crap out and not evaluate. Another way to get around this is to tell Crystal to use 'Default Values for Nulls' instead of 'Exceptions for Nulls' in the Formula Workshop (It's a dropdown setting in the Formula Workshop toolbar).
length(trim({Customers.LastInvoiceDate})) = 0
One statement with no need for isnull function and OR operator.

How do I do a CR-type formula in SQL Server Reporting services?

In Crystal Reports, I could define a formula that would evaluate for each detail line. For example, if I had a query that would return a PatientId, an ObsTerm name, and an ObsTerm value, I could define a formula called {#Hispanic} that had the value:
If {Command.OBSNAME} = "HISPANIC" Then
{Command.OBSVALUE}
Else
" "
Then, in the group footer, I could take Maximum({#Hispanic}, {Command.PATIENTID}) to see if I had gotten a value returned for the patient's ethnicity - either I'd get the value (assume only one, since that's how I built the query) or a blank.
I'm trying to convert a CR report over to SSRS 2008R2: how would I do the above? Thanks.
Add a calculated field to your data source (called 'Hispanic' or whatever) with a formula of:
=IIF(Fields!OBSNAME.Value="Hispanic",Fields!OBSVALUE.Value,"")
In your report, add a parent group to your detail row and type [Max(Hispanic)] into a field in the group row. You may then want to hide the detail row and show only the aggregate data. I think there's probably a much easier way to do what you want but it's not clear from your question.
I made the transition from Crystal to SSRS and it is a hard road. You need to unlearn all your Crystal (especially formatting).