Expand my Community achievements bar.

SOLVED

Load entire table to do a join?

Avatar

Level 5

I'm trying to optimize a workflow: I see this workflow loads a entire table (Carga Recipients) to then do a join with table "Leads" in "Leads vs Recipient". 

However, in the structure of Leads table I see it is linked to Recipients. Is there a better way to do the join without having to load the entire "Recipients table"?

ogonzalesdiaz_2-1695217591939.png

 

ogonzalesdiaz_0-1695217353107.png

 

ogonzalesdiaz_1-1695217460991.png

 

Edit 1: this is the elements on the schema Lead. 

<element integrity="normal" label="Recipient" name="recipient" noDbIndex="true"
revIntegrity="normal" revLabel="Recipient Lead Link" revLink="LEAD"
target="nms:recipient" type="link">
<join xpath-dst="@id" xpath-src="@RECIPIENTID"/>
</element>

<dbindex name="CODLOTEOFERTA">
<keyfield xpath="@CODLOTEOFERTA"/>
</dbindex>

 

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @ogonzalesdiaz ,

 

Please check the Join type which you want to do in your Enrichment activity VS the Join type created in the Schema (1/1 or 1:N or N:N) and also the Joining keys defined in the Schema Level VS the keys used in Enrichment activity. If the Join created & keys in Schema is same as used in Enrichment, yes it is good to use the existing Join defined in the Schema instead of defining and creating temp table using Enrichment.

 

Also it looks like the primary key you have pasted in Screenshot of Enrichment activity (coidintercomputational) is different from the Joining key used in the Link (@id). If you need to go ahead without changing the logic, it should be using Enrichment activity only.

 

 

Regards,

Pravallika.

View solution in original post

4 Replies

Avatar

Correct answer by
Community Advisor

Hi @ogonzalesdiaz ,

 

Please check the Join type which you want to do in your Enrichment activity VS the Join type created in the Schema (1/1 or 1:N or N:N) and also the Joining keys defined in the Schema Level VS the keys used in Enrichment activity. If the Join created & keys in Schema is same as used in Enrichment, yes it is good to use the existing Join defined in the Schema instead of defining and creating temp table using Enrichment.

 

Also it looks like the primary key you have pasted in Screenshot of Enrichment activity (coidintercomputational) is different from the Joining key used in the Link (@id). If you need to go ahead without changing the logic, it should be using Enrichment activity only.

 

 

Regards,

Pravallika.

Avatar

Community Advisor

Hello @ogonzalesdiaz ,

if it is linked (or even if not) I prefer to use enrichment. You can do it in the activity where you query recipients using add data of filtering dimension or linked to filtering dimension.

 

Marcel Szimonisz

MarTech Consultant
for more tips visit my blog
https://www.martechnotes.com/

Avatar

Community Advisor

HI @ogonzalesdiaz ,

You're using an 'Intersection' activity. Do you want the common records from 'Lead' table which has linked to recipient table?

If so, as per your schema structure, you can create a query as below, 

Targeting dimension: 'Lead' Schema

Filtering dimension: 'Lead' Schema

Query condition:

ParthaSarathy_0-1695225042898.png

 

ParthaSarathy S

 

Avatar

Administrator

Hi @ogonzalesdiaz,

Were you able to resolve this query with the help of the given solutions or do you still need more help here? Do let us know. In case the given solutions were helpful, then kindly choose the one that helped you the most as the 'Correct Reply'.
Thanks!



Sukrity Wadhwa