I’m trying to perform a one-to-many join using a “Joiner” module but with some wild cards.
My left table is specified with some values being “*” wild card to avoid any maintenance on the modalities of that dimension. I can change the value if necessary but I’m struggling to make my join.
I included a simplified example below with the expected output:
if you are speaking about cities, why should you consider both country and city name and not just city name?
take the case of Milano in your example: in the first table there is item=* and in the second table item is C. Are you sure you want to join the corresponding rows? Example: what happens with a case like the one in the image below?
Hi @nicolas_mtam , you can’t use wildcards with the joiner nodes, so you’ll generally need to perform a Cross Join and then apply a Rule Based Row Filter with the required rules to match/filter each of the returned rows.
Alternatively you can achieve the stated output using my Join Custom Condition - indexed component:
Attach the first of your tables to the top, and the second table to the bottom. It uses SQL, so unfortunately your wildcards need to be adapted slightly to work, but you can configure the component as follows and it should do the job:
t2."Country" like replace(t1."Country",'*','%')
and t2."City" like replace(t1."City",'*','%')
and t2."Item" like replace(t1."Item",'*','%')
I agree I haven’t designed this simplified example in the most clever way… In my real situation, it’s two dimensions that can’t be related and completely independent (not like Country and City).