Router Transformation - informatica-powercenter

I have a question about router TF, I have 3 groups as A ,B, C If incoming records satisfy A group and B group condition, in which group the record is going to be stored?

A record that satisfies multiple conditions will be routed to multiple output groups.

Related

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.

Count of users in one group

Is it possible to get count of users in one group with opendj sdk?
e.g. my group has multi-values UniqueMember attribute, but is it possible that I get the count of the UniqueMember? because I don't want to list all the users, just to get the count.
Thanks
Unfortunately, there is no standard in LDAP to retrieve the number of values of an attribute of a given entry.

how to create a new record dynamically using informatica powercenter

I have employee's leaves related data and payment related information.
e.g. Employee E1 has taken maternity leave this year. She needs to paid for 6 months and if she is on leave for greater duration (like 8 months) , I need to create two records for her.
One for the allowed duration and the other for extended duration.
Employee LeaveStartDAte LeaveEndDate Total_days_taken Total_days_allowed LeaveType
e1 1Jan2013 31Aug2013 242 186 ML
Target expected :
Employee LeaveStartDAte LeaveEndDate Leavetype
e1 1Jan2013 30June2013 ML
e1 1July 2013 31Aug2013 Extended ML
How can create the second record dynamically in informatica mapping?
Generally speaking, we use java transformation in informatica to dynamically create new rows. However, for scenarios like the one you described, where you only need to create one extra row based on some condition you can achieve this by adding two target instances and populating the second target instance conditionally (using a router or filter transformation).
You can do something like this:
Create two sets of ports for LeaveStartDate, LeaveEndDate and LeaveType in an expression, and calculate their values accordingly. For example:
LeaveStartDate1 -> source LeaveStartDate
LeaveStartDate2 -> LeaveStartDate + Total_days_allowed + 1
Now connect first set of ports directly to a target instance. Connect the second set of ports to another target instance through a filter. The filter condition would be something like Total_days_taken > Total_days_allowed. You can also do this using a router, if you like.
You can use two pipelines in a mapping - one to load the records for insert and the 2nd used to combined the insert with update.

What are prefuse data groups and how do I put nodes into them?

Many components of prefuse seem to use a String group to identify some subset of data. How do you use groups in practice? Some documentation seems to imply that a single row of data can belong to multiple groups, but I cannot work out how to make this happen.
Ideally, I could put some nodes of a graph into multiple groups, but have them each visualized once, and apply various forces and layouts to them.
Indeed most prefuse components such as Layout, ColorAction or the RendererFactory use group names.
There are different types of groups:
groups created from raw data, e.g. by vis.addGraph(...)
focus groups that contains some items (= rows) from another group
decorator groups, e.g., for labels
aggregate groups that represent items merged to aggregated items
In order to put "some nodes of a graph into multiple groups" you can use focus groups.
Then some Action may be added to run only on the focus group.
Alternatively you could pass a Predicate to the Action, so that only items (= rows) matching the Predicate are handled by the Action.
I recommend to look at the demos to see how this works:
for example https://github.com/prefuse/Prefuse/blob/master/demos/prefuse/demos/ZipDecode.java

Loading the target tables

If suppose I have source with seven records from that first three must go in 3 target instances and 4th record again have to go into first target how can I achieve it?
Here is one way to achieve this result.
I use a sequence transformation to generate a series of numbers (starting with 1., increment by 1..).
I then route the table rows into one of the three targets based on this sequence number (using mod(nextval,3)) which will result in 0,1 or 2. Here are the three groups for the Router.
Group 1 : MOD(NEXTVAL,3)=0
Group 2 : MOD(NEXTVAL,3)=1
Group 3 : MOD(NEXTVAL,3)=2
Also, could you please explain why you need the table be loaded into multiple instances?
I have never really come across such scenarios before.

Resources