Expand my Community achievements bar.

SOLVED

Question about Split workflow into different segments

Avatar

Level 2

Hi there,

 

When I was splitting the workflow into different segments, the records from upstream didn't segment correctly based on the criteria.

The upstream records before split are shown in pic 1.pic1.png It has six records, three in record type 1, two in record type 2, and one in record type 4. The settings of split are shown in pic 2   pic2.png

pic4.png

It splits the records based on record type. So, if I uncheck 'Enable overlapping of output populations' box, then I got the result shown as pic 4:

pic5.png

It only evaluates if the record type =2, then ignore other conditions. But if I check 'Enable overlapping of output populations' box, then everything works fine. I do understand if 'Enable overlapping of output populations' option is unchecked, then the sequence of each segment is important.

 

But in my understanding, if I uncheck 'Enable overlapping of output populations', then the split activity evaluates the condition like ' if then, else if then, else then'. It evaluates the condition starting from the first condition, if it meets the condition then skip other conditions. If it doesn't meet the condition, then evaluates the second condition. If I check 'Enable overlapping of output populations', then it evaluates the condition like ' if then, if then, if then'.

 

I have no idea why I was getting only two records after the split if I unchecked 'Enable overlapping of output populations'. Any ideas? Thanks!

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @KevinWang_ ,

it seems like your records are duplicates so the split basically chooses type two 2 records and other 4 are just deduped.. when you check the overlapping population the deduplication is not happening and all records are passed to each split.

 

All activities such split union intersection.. the do "auto deduplication" based on targeting dimension

 

Marcel

View solution in original post

16 Replies

Avatar

Level 3

Hi, 

 

Please click on the generate complement button in the SS below to see what are the records that are not fulfilling the above conditions.

 

amritakedia_epsilon_0-1597346282660.png

 

Avatar

Level 2
Hello, thanks for the reply. I've checked the Generate complement and no record goes into the compliment
So you see now 5 transition out of the split ? Can you please share screen shot.

Definitely there are dupes in Additional data . Please check.. I see in the Split you are using Additional data only..

Avatar

Level 2
I'm not sure how to define dupes. Let's say, if ID = 001, product =A, record type =1, and ID=001, product = A, record type =2. Will these two records be considered as dupes?
Right click the transition that is coming to the schema and go to schema tab and post the screen shot. Similarly do the same with one of the transition coming out of the Split.

Avatar

Level 2

pic6.png

After checked 'Generate Complement', no record goes into the complement. The last flow '0-Unrecognized Type' is the complement.

Avatar

Level 2

Hi Kevin,

Look like when you uncheck 'Enable overlapping of output populations'. It will do as you said:

"But in my understanding, if I uncheck 'Enable overlapping of output populations', then the split activity evaluates the condition like ' if then, else if then, else then'. It evaluates the condition starting from the first condition, if it meets the condition then skip other conditions. If it doesn't meet the condition, then evaluates the second condition. If I check 'Enable overlapping of output populations', then it evaluates the condition like ' if then, if then, if then'."

 

You have put the Record Type 2 as first condition. Then when 6 records come, it will check on Record Type 2 first. That's mean 2 records passed the condition. Then it end the checking process.

 

But if you check 'Enable overlapping of output populations'. All 6 records will check on all Types.

Please correct if I'm wrong.

Thanks.

 

 

Avatar

Level 2
Hi NaiyapornS, if so, when I uncheck 'Enable Overlapping of output populations', 6 records first check with if they are Record Type 2, 2 records meet the condition. Other 4 records should skip the evaluation of Record Type 2, then evaluates if they are Record Type 1. And 3 records meet that condition. But why I was getting 0 for Record Type 1? Thanks

Avatar

Level 2

Can you check the target dimension that you are using again?

From Pic.3: Look like you are using 'Adding ..... URL'. <- Is it correct one?

From Pic 4: The box before the split box naming like '....ations' which is different.

Make sure that you choose the correct input for target dimension.

Also, please make sure that you are not copy the split box for reuse because it may contain some codes that might caused the unexpected issue.

 

Avatar

Community Advisor

Hi,

Can you check option "keep the results of interim population" and display the result set to see if you are getting expected results for all the different segments. Also check if you are using the same field added in the initial query as a part of additional data for all these record types in the split activity.

 

Thanks,

Kapil

 

Avatar

Correct answer by
Community Advisor

Hello @KevinWang_ ,

it seems like your records are duplicates so the split basically chooses type two 2 records and other 4 are just deduped.. when you check the overlapping population the deduplication is not happening and all records are passed to each split.

 

All activities such split union intersection.. the do "auto deduplication" based on targeting dimension

 

Marcel

Avatar

Level 2

Thank you Marcel! That's correct, the split automatically deduplicated the records based on targeting dimension. And "all activities such split union intersection" do auto deduplication. Does that mean there will be no duplicate records after these activities? For example, if client_id is the targeting dimension, then after "UNION", there will be no duplicate records with the same client_id?

Avatar

Community Advisor
Hello, its rather on recipient/@id - primary key that is the default dedup