Crystal reports:concatenate details section of each report into single detail - crystal-reports-2008

I would like concatenate details section of each report into single detail section. For example (each section contains different data)
Detail A
Detail B
Detail C
where ever is in B, C would like to display A since A, B, C have same date
so that report can only display A, B, C in Detail A
thank you so much for your help

Related

Google sheets: Subsidiaries and invoices and dependent dynamic dropdown lists

I'm trying to solve an issue for listing invoices of different subsidiaries (subs) on google sheets. I am going to use two different sheets for this. These will be called Sheet1 and Sheet2.
Now for the sake of the problem, imagine there are three different subs (A,B and C).
Each sub has its own unique invoice tag: A has A-001, A-002, etc; B has B-001, B-002, etc; and C has C-001, C-002, etc. These unique invoice tags are listed in Sheet2 under their respective sub heading (A,B or C) and are in a sorted range.
Imagine in Sheet 1, there is column A and B. Column A will contain a dropdown to select one sub; for example, sub A. Now what I want in column B, is another dropdown that only consists of invoices related to sub A (if sub B is selected I want the dropdown in column B to only contain a B-XXX invoice).
So in short, I want the user to first select a specific sub from a dropdown list and in the next column the user only has to view the invoices related to that specific sub in a dropdown list.
I do this in many of my projects and it is rather straightforward. I used Data/Validation and the QUERY() function. In my example I have three tabs, one for the dropdowns and one each for subs and invoices as follows:
Here is the subs tab:
Here is the invoices tab, note I suggest you follow adding the Sub_Code column which in SQL language is the foreign key to link the two tables:
This is the data validation for cell A2 on the Dropdown tab:
This is the QUERY() function for cell B2 on the Dropdown tab:
=query(Invoices!A1:B, "select A where B='"&A2&"' LABEL A ''", TRUE)
Here is a link to my example, feel free to make a copy:
https://docs.google.com/spreadsheets/d/1qbLOjTdzISICTKyUp_jK6gZbQCt-OwtDYYy3HNJygeE/edit#gid=795322028
Pls, take a copy (sorry this sample is in French, nevertheless you will be able to understand the formulas and the place of them) https://docs.google.com/spreadsheets/d/1IDifehV68cEGlI1pqpvNLEnReZRLnyiZf-4ipFl-E3s/copy
in B2 of choice, the validation is (be carefull of the $)
=Lists!$F2:$Z2
in F2 of Lists, according to your choice in A2, the list of data available is
=iferror(transpose(OFFSET(A$2:A,,MATCH(Choice!A2,$1:$1,0)-1)),"Choisir une matière")

Tableau: Set a filter with one value always selected and let user to choose others?

I want to create a table with a filter for use to select and compare things:
Say I have a variable Var, containing values A, B, C, D, E. I want to have a filter so that an user can select one of A B C D, meanwhile E is always selected. So the selected one and the fixed E can be display in one single table.
What is the best approach to achieve this (I checked other posts and they seem not working)?
One easy solution if the choices for your variable are relatively stable is as follows:
Create a parameter called say, Chosen_Var, containing the values that you want the user to choose between (i.e. A, B, C, D). Parameters can hold a single value.
Create a calculated field called say, Var_Desired, to distinguish whether an individual data row meets your filter criteria [Var] = "E" or [Var] = [Chosen_Var]
Place that field, [Var_Desired], on the filter shelf and select only the True value
Show your parameter control and configure as desired
This will allow users to select one of the values A, B, C or D, and then filter to only include data where [Var] = the fixed value E or the value the user selected.
If the set of legal values changes frequently, so that using a static list of parameter values is difficult, or if you want the user to be able to select multiple values, you'll need another solution.

Tableau Data Blend Performance/ Level of Detail

I have two blended sources where the source A has 500,000 rows and source B has 20,000. The problem is that when I use source A as the primary source, any computation in the dashboard takes far too long to be useful. When I use B as my primary source, performance is much improved...
...but, the level of detail I need is in source A. When source B is primary I am left with the dreadful asterisk where there is a one-to-many relationship.
Source A primary:
Event(from source B) Occurred_On(from source A)
ABC 1/1/2000
ABC 5/10/2000
XYZ 9/9/2002
XYZ 4/5/2002
Source B primary:
Event(from source B) Occurred_On(from source A)
ABC *
XYZ *
Data must be blended-- source A is a database and source B is a text file so a join is out of the question.
Patience is waning and all hope seems to be lost. Does there exist any possible way to use B as the primary while maintaining the level of detail from a field in A?
Or any other workaround that could solve this?
I will go with the below options
Cross database joins [a link] (http://www.tableau.com/about/blog/2016/7/integrate-your-data-cross-database-joins-56724)
-Create a lookup table of the text file and apply a join a link
-To improve the performance, create a data extract file of the combined dataset which will be the primary data source for the report [a link] (http://onlinehelp.tableau.com/current/pro/desktop/en-us/help.htm#extracting_data.html)
Just, 500K record should not cause the performance drag but will be a good idea to recheck the server configuration and see if there are any bottlenecks.

Can't seem to get runningvalues to work in VS2013 Report Designer

I have a margins report that I've created that groups by Month, Customer, Sales Type then displays the sales details. I have that basic report working well. The SALTYPE group has four options from the stored procedure that pulls the data, they are A, B, C, D. I've been asked to add grand totals at the bottom of the report for each sales type.
From my research it appears I need to use RunningValues in an expression to generate these totals but I've been unable to find any useful examples. I've tested for the Tot. Sales column using the expression =RunningValue(Fields!TOTSALES.value, sum, "SALTYPE") but it throws an error I'm not sure I'm interpreting correctly, "The Value expression for the text box 'Textbox168' has a scope parameter that is not valid for the aggregate function. The scope parameter must be set to a string constant that is equal to either the name of a containing group, the name of a containing data region, or the name of a dataset". If I understand correctly it's referring to "Tablix1_SALTYPEGroup" but I'm unclear what that should be or if I'm completely off base.
Can anyone provide an example to get those grand totals or point out the flaw in my expression? I've been all through MSDN but primarily been referencing this blog.
So I may be incorrect but it appears they way I had my groups structured and the details sorted it wasn't possible to generate the totals I needed. I resolved this by simply adding a summary Tablix below my first one, using the same data but structured and sorted in a way to easily generate my totals. By sorting the details on the SALTYPE I could then just add a total and hide the details. The result is exactly what I was looking for.

Conditional Mapping in Talend

I have created a simple job in Talend that will perform an inner join in the data between 2 excel sheets and then dump the result in an output excel sheet. This can be best illustrated by the below diagram :-
The mapping used in tMap is :-
However the additional challenge for me now is that I have to perform this mapping only if the column value in that row is not NULL. eg there is a mapping row1.RECID = row2.RECID, but this should only be legal if row2.RECID is not NULL.
How do I achieve this in Talend? I have experimented a lot with tMap expressions but can't get it right..
Here is a small sample input and it's corresponding expected output.
Suppose my input has values :-
v1, v2,v3,v4
1 , A, O, 3
2, B, X, 4
3, C, X, 4
and lookup has values
v1, v2, v3
1, A, O, 3
2, null, X, 4
3, null, C, 4
2,null,X,null
Then the output should be :-
v1,v2,v3
1,A,O,3
2,B,X,4
2,B,X,4
Before joining your input flows, you have to reject rows with null values, I have created a mapping based on the given simple data.
Try to map the maximum of values from row1, the put row2 with left outer join.
I you want values which are only in row1 and row2, you can add a filter in row2 for that (but I guess that this is not what you want)
Talend does have a more elegant option that will allow the filtering of your data on multiple columns. Use the tSchemaComplianceCheck component where filtering out nulls and empty is as simple as clicking a couple of check boxes. This allows you to use your own schema to check against nulls and empty values and filter them out. The error rows go to a reject flow which you have the option of processing. If you do not wish to capture and process the rejects you can simply ignore them. Your main flow will only have the records that passed the compliance check. Here are some tips on using it:
In the tSchemaComplianceCheck component -->Basic Settings Screen click Custom Defined and it will show you each column. Make sure Nullable is unchecked or else it will allow nulls to pass thru.
In the Advanced Settings tab check Treat all empty string as NUll. This will work in conjunction with the prior step to filter out both null and empty.
In your Excel component, click Advances Settings tab, and check Stop reading on encountering empty rows.
below is a screen shot which shows the basic flow and setting. You would link to a tMap instead of the tLogRow. If I have understood your problem correctly I think you will find this is the ideal solution in Talend.

Resources