Skip to main content
Solved

Conditional Value Expressions for a Multi Criteria Analysis (MCA)


galigis
Enthusiast
Forum|alt.badge.img+19

Hi All,

 

I'm putting together a workbench to run a multi criteria analysis (MCA) based on a hierarchy (hierarchy level 1, 2, 3, 4, 5, 6, etc). The conditional values in the Attribute creator will help me with that. The problem is that some of the values of the hierarchy need to the next level of the hierarchy . Here is the hierarchy that needs to be followed:

 

- Hierarchy Level 1

- Hierarchy Level 2

- Hierarchy Level 3

o Exception A : Any record in level 3 is ‘No main habitat’ will go to level 4 in the hierarchy, if level 4 is empty then goes to level 5, if level 5 is empty then goes to level 6, if level 6 is N/A then goes to level 7.

- Hierarchy Level 4

- Hierarchy Level 5

o Exception B:  Any record in level 5 is ‘Individual Tree’ then goes to next level 6 in the hierarchy, if level 6 is N/A then goes to level 7

- Hierarchy Level 6

o  Exception C: Any record is N/A then goes to next level 7 in the hierarchy.

- Hierarchy Level 7

 

The following screenshot shows the conditional statement for a basic hierarchy from 1 to 7 (with no exception A, B and C):

 

Hierarchy_1 

...but I need to include exceptions A, B and C. This is what I have tried with no luck:

 

Hierarchy_2I'm pretty sure it's doable with a conditional statement but need some help with the expressions as I'm not able to make exception A, B and to happen in order!

 

Any help more than welcome! 🙂

Best answer by ctredinnick

What you've got looks mostly right. Into exception A, it's probably better to use "And Not AssumedHab4 Attribute has value" instead of "And AssumedHab4 Attribute Is Missing", just to use a consistent tester for the presence of an attribute value. Missing means the attribute itself is not there (ie removed, or not joined in).

 

Another approach could be to create attributes of each hierarchy level, which only have a value if that hierarchy level has a valid value to use, and then use your initial setup to pick the first level with a value in it.

 

View original
Did this help you find an answer to your question?

2 replies

ctredinnick
Supporter
Forum|alt.badge.img+18
  • Supporter
  • Best Answer
  • November 9, 2023

What you've got looks mostly right. Into exception A, it's probably better to use "And Not AssumedHab4 Attribute has value" instead of "And AssumedHab4 Attribute Is Missing", just to use a consistent tester for the presence of an attribute value. Missing means the attribute itself is not there (ie removed, or not joined in).

 

Another approach could be to create attributes of each hierarchy level, which only have a value if that hierarchy level has a valid value to use, and then use your initial setup to pick the first level with a value in it.

 


galigis
Enthusiast
Forum|alt.badge.img+19
  • Author
  • Enthusiast
  • November 9, 2023

Thanks ctredinnick - you are right, I was in the right direction. Instead of adding complex statement in the conditional values, I have added the statements for Exception A, B and C in the previous steps of the Hierarchy therefore the final attribute creator (conditional values) transfer those values with <missing> or <null> to the next level of the hierarchy. I was initially over complicating the task a lot! Thanks for you answer :)


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings