cancel
Showing results for 
Search instead for 
Did you mean: 

building expressions in MDM

Former Member
0 Kudos

Hi There,

I'm currently building a restricted catalogue for one of our connected users to view a defined subset of the items in MDM through our web connection. the restriction is done through creating MDM users and then applying a named search to that user. We are trying to restrict the view based on our taxonomy structure and to hide certain taxonomy branches from that user's view. To do this, i'm currently trying to build an expression that's looking like the following...

Field_ID <> 1234 AND

Field_ID <> 1235 AND

Field_ID <> 2345 AND... etc for about 150 branches of the structure we wish to hide.. .

This has caused two issues for me:

1) The time it takes to run this expression is prohibitive and therefore cannot be used as a named search (my preferred method)

2) The coding of this expression is 'less than elegant'..

can someone please suggest a better way to do this? Is there a where not in (value1, value2, value3...) type expression that i can use in MDM??

Regards,

Adam Sellers

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Adam,

can someone please suggest a better way to do this?

I would suggest please select the Taxonomy branches which you want to display to User. That means you don't need to select the branches which you want to hide.

For example: you have total 10 Taxonomy branches and as per requirement you want to hide 6 Taxonomy branches, So here you need to display 10-6= 4 Taxonomy Branches to User.

Procedure:

Create a Mask say Selected Taxonomy Branch To User's in Masks Table of MDM Data Manager. In Main table of Data Manager, select First Taxonomy Branch in Drop down Search (Taxonomy) under Search Parameters. Once you select 1st Taxonomy branch in Taxonomy Drill down search, it will display all the records associated with this Taxonomy Branch in Records pane. Select all the records in Records Pane using Ctrl + A and then right click> Add to Mask>Selected Taxonomy Branch To User's

After this reset Search and then again select another 2nd taxonomy branch which will display its associated records in Records Pane which you again include into Mask Selected Taxonomy Branch To User's. Similarly you have to do for the remaining Taxonomy Branches which you want to display to User. As per Example here you need do to this thing 4 times.

Now your Mask Selected Taxonomy Branch To User's contains only those records (defined subset of items) associated with taxonomy branches which you want to display to User. Now, apply this Mask to that users.

Regards,

Mandeep Saini

Former Member
0 Kudos

Hi Adam,

maybe you can try something like this:


NOT(HAS_ANY_VALUES(fieldvalue1,value2,value3,...))

or


HAS_ANY_VALUES(fieldvalue1,value2,value3,...)=FALSE

I cannot try right now, but that should work.

Best regards

Christian

Former Member
0 Kudos

Hi Christian,

thanks for the reply, both those methods suggested are throwing syntax errors however..

Former Member
0 Kudos

got it... my bad in reading your sytax... thanks this method was slightly faster but i think i need to find another way as it still takes a long time to run that expression...

Former Member
0 Kudos

Hi Adam,

from my point this is a general problem of MDM, i.e. user restrictions based on more complex expressions. I had the same complaint from a customer that it is too slow. However, the only technical workaround is to use fewer values in the expression by e.g. reducing the number of branches assigned to one user. If you use a custom taxonomy, you can try to group several branches under another branch and use only this for the restriction. However, this probably requires a lot of business support and redesign, especially if you use generic taxonomies like UNSPSC or eClass. Through this approach we managed to reduce the number of branches and therefore the loading time for Data Manager. But I also understand that this is not always possible.

Best regards

Christian