Conditions & Logique

If, Case et modèles de logique imbriquée.

If() et Case() servent à gérer les options, les majorations, les sélections de matériau et les règles dépendantes du contexte.

Condition simple

If(condition; valueIfTrue; valueIfFalse)

Examples:
If($width > 1000; $width * 1.1; $width)    → add 10% surcharge
If($material == "steel"; 7.85; 2.7)         → density by material

Conditions imbriquées

Les appels If() peuvent être imbriqués pour exprimer plusieurs niveaux de logique, par exemple des paliers de prix.

If($width > 2000;
  $width * 1.2;
  If($width > 1000;
    $width * 1.1;
    $width
  )
)   → tiered pricing

Case pour plusieurs branches

Case() fonctionne comme un switch : une expression, puis des paires valeur/résultat et enfin une valeur par défaut.

Case(expr; val1; result1; val2; result2; ...; default)

First argument is the expression to match, then pairs of value;result.
The last argument is the default when no value matches.

Example:
Case($Profile; "Milan"; 13; "Milan Slim"; 12; 0)
→ returns 13 when $Profile is "Milan", 12 when "Milan Slim", 0 otherwise

Motifs fréquents

  • Majoration: If($width > 1000; $price * 1.1; $price)
  • Facteur matériau: If($material == "steel"; 7.85; 2.7)
  • Quantité minimale: max($count; 1)
  • Division sûre: If($d != 0; $v / $d; 0)
  • Option: If($hasDoor == 1; $doorPrice; 0)

Des chaînes If() trop profondes deviennent difficiles à relire. Préférez Case() ou répartissez la logique sur plusieurs lignes de calcul.

Nous utilisons des cookies analytiques pour améliorer votre expérience. Politique de confidentialité