With an iif-formula this you can specify that a variable has to have a specific condition, followed by the specification what happens if the condition is met, otherwise what happens if the condition isn’t met. In this lesson we’re going to dive deeper into the iif-formula and how to implement this in a more complex way into your Configuration Model.
iif-formula
Context
You sell different Boat models. One of those is the Maria Model tugboat. The Second step of the tugboat Configuration is to decide what size the ships deck should have. But with every model, comes a default value.
Every model has a default starting WIDTH:
-
Model 1 - 2m
-
Model 2 - 4m
-
Model 3 - 5m
We're going to set a default value on the WIDTH feature that is determined by the chosen model. We're going to do this with an iif-formula. An iif-formula, let you specify what condition has to be met in order to follow a specific action. The iif-formula consists of three components:
-
iif(Condition, result if condition is met, result if condition isn't met)
First thing we're going to do is to add an iif-Formula to the WIDTH Feature. You do this by following the steps below:
-
Open Elfsquad
-
Go to the Formulas Model
-
Open the Calculated Value of the WIDTH Feature
-
Add model 1 as a Variable
-
Type: iif(
You may notice that after you've typed iif, the formula editor automatically shows you the correct way of adding the iif-formula. When this is showed, you can also press the TAB key on your keyboard to autofill the formula.
In the first segment we want to specify the condition that if model 1 is selected the formula has to work. So let's add this to our iif-formula:
-
Add @model1 <> 0 to the formula (We now stated that model 1 has to be selected in order to take effect.)
-
Add a comma if it is not already there
After the comma we will specify what happens if the condition is met. If Model 1 is selected, we want the Width value to start at 2 meters.
-
Add a '2' after the comma
-
Add another comma (If it isn't already there)
Now we have to specify the condition if model 1 is not selected. For now we want it to have no specific starting value. So we add a zero to the formula. Don’t forget to add a close parenthesis at the end.
The formula is now complete and should look like this: iif(@model1<>0,2,0).
Iif-formula in an iif-formula.
The basics of our Formula have been added to the WIDTH Feature. But this formula only works for Model 1. So we're going to add another part to the iif-formula.
It is possible to add another iif-formula into another iif-formula. In our context, we need to add this to create a calculated starting value, based on the choice of Model for the tugboat.
-
Open the Formulas Model
-
Open the Calculated Value of the WIDTH Feature
-
Click on the pencil to edit the existing iif-formula
-
Add model 2 and 3 to the variables
We are going to make some changes to the existing iif-formula. We are going to add an iif-formula to the last component of the formula. With this example, we will specify that: If Model 1 is active, the value of WIDTH is 2m. If that is not the case, the formula will check if Model 2 is active and if that is not the case, if Model 3 is active.
You may see that the new iif-formula will take over the place of the 0 in the formula. So if Model 1 is not active, the result if condition isn't met section will be activated. This is visualized in the following diagram:
As you can see in the diagram above, we are adding the additional iif-formula to the result if condition isn't met part of the formula.
To add an additional iif-formula to an iif-formula, follow the steps below:
-
Remove the 0 from the iif(@model1<>0,2,0) formula.
-
On that position, add another iif-formula
-
add: @model2<>0 to the model
-
Add a comma (If not already there)
-
Add the result if met value for model 2 (in this case 4)
-
Add another comma
Your formula should look like this:
-
iif(@model1<>0,2,iif(@model2<>0,4, ) )
Next, we are adding another iif-formula for model 3. You can do this by repeating the above steps but instead of @model2 you use @model3. The starting value of the WIDTH in combination with model 3 should be 5.
Your formula should look like this:
-
iif(@model1<>0,2,iif(@model2<>0,4, iif(@model3<>0,5,0)))
In this situation, we add a 0 to the end of the formula to be sure the formula works. If none of the conditions is met, the WIDTH will go back to its own original starting value. Be sure to always close off every iif-formula with a closing parenthesis at the end. If you don’t do this, the formula wouldn’t work.
Opmerkingen
0 opmerkingen
U moet u aanmelden om een opmerking te plaatsen.