How can i eliminate duplicate string in the displayed parameter - crystal-reports-2008

I created a multi select parameter in crystal report and I created a formula using the JOIN function to combine all the selected string in the parameter and I place it in the header section of the report. But the problem the other strings are duplicated, can someone help me to remove the duplicated sting in the line.
here's my sample formula:
JOIN({?SELECT branch FROM myTable ORDER BY 1 ASC},", ")
here's my output result:
As you can see guys the BAGU and DAGU are displayed 2 times.
Regards,
Alex

Related

Crystal - Compare Strings that do not fully match

I am having some trouble with a query in Crystal 2008. I have two tables with columns that are loosely related, both contain addresses. One table column is just a street name while the other is a street name plus some additional info. I want to find all records where these have the same street name and only show those. Example below:
Address
AddressB
123 St
123 St, ABC City
123 St
345 St, ABC City
I have tried using a formula such as below
if({AddressB} startswith {Address}) then {AddressB} else 'ERROR'
I have also tried this with LIKE and as well as * wildcards. Nothing seems to work. I will admit I am pretty amateur-ish with SQL and crystal so formulas are a new frontier for me writing reports. Also I should note that tables are linked appropriately with inner joins.
Any help would be greatly appreciated!
This should work. Perhaps your {Address} column is padded with spaces, so try:
IF ({AddressB} startswith Trim({Address})) THEN {AddressB} ELSE 'ERROR'
Test the effect of replacing the reference to the column name with the static text value that you "think" is in that column.
If you get a different behavior, what you think is in that column is not what is actually in that column. For example, the column might contain non-printable characters. You can get rid of those using the Replace function.
If you don't get a different behavior, then show us the expression with the static text values. That would allow us to replicate the behavior and understand the situation.
Note: the problem might be in your table join logic. If you have no join condition, then all records in TableA would join to all the records in TableB. In that case, you need to place the fields in the detail section to get a proper sense of what is being compared to what. Or rethink your join logic. Perhaps you should move one table to a subreport, or a SQL Expression instead of trying to include both tables in the main report.

Dynamically shows Crystal Report group footer

I need to do something specific in Crystal Report for Visual Studio 2005.
Let's say the following data:
The report regroup the data with the prdCode field, which gives something like this:
Now, I need to add a subtotal everytime one of the 4 first columns changes (Lot / Cédule/ Brand/ Contenant in the report). In this case, I should have a subtotal for the first row (lot=153363 and next one is 171008). Then, another subtotal at the last line of lot=171008 and Cédule = 023854. Then another subtotal at lot=171008 and cédule = 023863, etc.
I have no idea how I can do this. Adding Groups won't help, as I will have 5 group footers display for the first row only. In the case of the above image, I should display only 5 subtotals. A subtotal is the sum of the Total Gross/Tare/Net fields.
Anyone can help me out on this?
thanks for your time and help
Yes you are correct adding 5 groups doesn't solve the issue and also it doesn't make any sense, Instead combine all your fields and create a single group that will seggregate the records as required.
Try following approach.
Create a formula #grouping and write below cide
ToText(Lot)&ToText(Cédule)&Brand&Contenant
Now create a group with this formula and take summary in group footer

Browse field data shows value, but displays another value

I have a formula written for a field in Crystal Reports. When i refresh the report, i get a different value from the formula. The required value is always the last value in Browse Field Data dialog for that formula.
Isnt the formula supposed to have only one value as output? why are multiple values shown in browse field data dialog.? Is there a way to retrieve last value of Browse File Data dialog?
My formula looks like below:
WHILEREADINGRECORDS;
NumberVar CODTOTAL;
if {XXX.YYY} = 1 then
( CODTOTAL := CODTOTAL + {XXX.ZZZ};
);
CODTOTAL;
Browse field data shows all the values "CODTOTAL" acquires as a result of that formula and displays a random value amongst the assigned value.
Please help me out. I am amateur in crystal reports.
Any help would be highly appreciated.
~Regards.
First observation should be where have you placed the formula (Details, Footer.. etc).
why are multiple values shown in browse field data dialog.?
Browse field shows the data that is present in the table but in your case you are applying "If" condition of the filed. It can be possible that there is only one record that satisfies your condition.
I would suggest to run the report without the codition, Check the results and apply the condition and check results again.

How to create non filtered summary in a filtered report in crystal reports

Pretty new to CR
I have a grouped survey report filtered by a parameter so (of course) all the summary's in the report are being filtered by the parameter.
I need a "average" summary on a group (question) that is not filtered by the parameter.
Not sure on how to go about this.
Thanks
There are many options to tackle this problem, but the one that will require the fewest changes to your report will be if you use a SQL Expression (basically a subquery) to get that unfiltered average.
Let's say that you're grouping your report by {table.group} and looking for the average of {table.number}. You could create an expression like:
case when "table"."group" is null then null
else (select average(number)
from table
where group="table"."group")
end
Note that the double-quoted fields refer back to the main query, so you're effectively correlating the average per group back to each row from the main report which can then be used in the Group Footer or Group Header.

iReport + XPath - Sum String Column

I'm building a report where I have a subreport. This subreport brings some data through XPath, this means it's everything strings from a XML. One of the columns of this subreport has some values, where I need do sum them and show in the end of the table.
I don't know how to put this to work. I've tried to create a variable with sum parameter, but it does not work.
Did anybody need this before?
Scenario:
I load a lot of values from a XPath query, e.g:
/something/something1/something2
This query returns some fields according to my needs. With them I build a table (in a subreport). The problem is: the last column (4), values are strings from XML.
iReport version: 3.0.0
Really thanks!
Solution:
What I needed? According to the original post, a column with strings read from a XML through XPath and a footer with the sum.
Result from column SUM
What to do? Create a variable where you'll keep your sum. After created, edit it. e.g:enter image description here
Fill variable expression with the format you need. Here I used
new BigDecimal($F{theFieldToSum});
Click ok. Now the variable is created, you must create a new TextField where you'll show your sum. Create it and edit it. Here I used the following format:
new java.text.DecimalFormat("#,##0.00").format($V{theVariableYouCreatedBefore})
Click "Apply" and that's all. Compile your report and now you'll have the expected result. For sure, you can do some adapt, but in general this is the process.

Resources