Bedingungen & Logik

If-, Case- und verschachtelte Logikmuster.

Mit If() und Case() bilden Sie Preislogik, Materialumschalter und optionale Komponenten direkt in Formeln ab.

Grundform von If()

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

Verschachtelte Bedingungen

Mehrstufige Regeln lassen sich über verschachtelte If()-Aufrufe aufbauen, etwa für Staffelpreise oder Abhängigkeiten vom Material.

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

Case für mehrere Verzweigungen

Case() verhält sich wie ein switch/case: Ausdruck, dann Paare aus Wert und Ergebnis, am Ende ein Default.

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

Typische Muster

  • Aufschlag: If($width > 1000; $price * 1.1; $price)
  • Materialfaktor: If($material == "steel"; 7.85; 2.7)
  • Mindestens 1: max($count; 1)
  • Sichere Division: If($d != 0; $v / $d; 0)
  • Optionale Komponente: If($hasDoor == 1; $doorPrice; 0)

Zu tief verschachtelte If()-Ketten werden schwer lesbar. Nutzen Sie Case() oder teilen Sie die Logik in mehrere Berechnungszeilen auf.

Wir verwenden Cookies für Analysen, um Ihre Erfahrung zu verbessern. Datenschutzerklärung