Loading

IIF Funktion mit ATTR gibt unerwartete NULL-Resultate zurück

Veröffentlichungsdatum: Oct 24, 2022
Beschreibung
Wenn ATTR() in der bedingten Anweisung in einer IIF()-Funktion verwendet wird, sind die Ergebnisse manchmal Null, abhängig von der Detailebene in der Ansicht.

Cause

Die Funktion IIF() ermöglicht es dem Benutzer, spezifische Ergebnisse für den Fall festzulegen, dass eine bedingte Anweisung zu TRUE, FALSE oder optional NULL ausgewertet wird. Wenn die bedingte Anweisung zu NULL ausgewertet wird und kein Ergebnis angegeben ist, gibt der Ausdruck NULL zurück.

Die Funktion ATTR() gibt einen NULL-Wert zurück, wenn der erste Wert in einer Partition nicht mit dem letzten Wert übereinstimmt. Zum Beispiel wird ATTR( [Region] ) NULL sein, wenn [Region] nicht in der Ansicht enthalten ist. Wenn ein Teil einer bedingten Anweisung NULL ist, wird die gesamte bedingte Anweisung zu NULL ausgewertet.
Lösung

Option 1: MIN() anstelle von ATTR() verwenden

Beispielsweise kann diese Berechnung:
IIF( ATTR( [Regionen] ) = "Zentral", SUM( [Umsatz] ), SUM( [Gewinn] ))

Mögliches Ergebnis:
IIF( MIN( [Regionen] ) = "Zentral", SUM( [Umsatz] ), SUM( [Gewinn] ))

Option 2: Angeben, was das Ergebnis sein soll, wenn die bedingte Anweisung NULL zurückgibt

Beispielsweise kann diese Berechnung:
IIF( ATTR( [Region] ) = "Zentral", SUM( [Umsatz] ), SUM( [Gewinn] ))

Mögliches Ergebnis:
IIF( ATTR( [Region] ) = "Zentral", SUM( [Umsatz] ), SUM( [Gewinn] ), SUM( [Menge] ))
Nummer des Knowledge-Artikels

001473300

 
Laden
Salesforce Help | Article