[Frage] Berechnung in Verbindung mit _IF_ Bedingung


Hallo zusammen,
Ich möchte gerne eine Berechnung mit einem Attribut innerhalb meiner Legende an eine IF Bedingung knüpfen. Wenn Attribut(1)=88 dann Attribut(2)*5. Hinterlegte Formel der Zelle ist die folgende:

_IF_(@Attribut(1)@=88)“@Attribut(2)@*5“

Die Ausgabe ist dann 0.00, was falsch ist.

Die Formel ohne die IF-Funktion funktioniert und es kommt die gewünschte Zahl heraus. Wenn ich in der Formel “@Attribut(2)@*5“ durch zum Beispiel “100“ ersetze wird mir wenn Attribut(1)=88 ist auch die 100 ausgegeben, das Problem muss also mit der Berechnung in Kombination mit der IF Bedingung zu tun haben. Kennt jemand einen Lösungsansatz zu meinem Problem?

Grüße
Niklas

Hallo,

@Attribut(2)@*5 is a calculation, not a string.
You need to format the resultat as a string with "Format" (see online help).
___________

@Attribut(2)@*5 ist eine Berechnung, keine Zeichenkette.
Sie müssen das Ergebnis mit "Format" als Zeichenkette formatieren (siehe Online-Hilfe).


Hallo Bertrand,

Danke für den Hinweis! Mit _IF_(@Attribut(1)@=88)FORMAT(“%.2f“;@Attribut(2)@*5) konnte ich mein Problem lösen.
Wenn ich die nächste Zelle nicht mit *5 berechnen lasse, sondern mit *6.5(_IF_(@Attribut(1)@=88)FORMAT(“%.2f“;@Attribut(2)@*6.5) oder irgendwas anderem, dann bekomme ich für diese neue Zelle die Meldung dass eine schließende Klammer fehlt. Im Forum hab ich schon gelesen dass dann etwas mit dem Format nicht stimmt, jedoch funktioniert die gleiche Formel ja bei der vorherigen Zelle problemlos.
Vielleicht gibts dafür ja auch eine Erklärung…

Grüße
Niklas

Hallo,

What does @Attribute(2)@ contain?
Personally, I would have avoided the parentheses in the attribute name. I would have named it "@Attribute2@" instead. Maybe that's an explanation.
If not, have you tried the formula like this:

_IF_(@Attribut(1)@=88)FORMAT(“%.2f“;(@Attribut(2)@*6.5))

___________

Was enthält @Attribut(2)@?
Ich persönlich hätte die Klammern im Attributnamen vermieden. Ich hätte es stattdessen "@Attribut2@" genannt. Vielleicht ist das eine Erklärung.
Wenn nicht, haben Sie die Formel wie folgt versucht:

_IF_(@Attribut(1)@=88)FORMAT(“%.2f“;(@Attribut(2)@*6.5))


_IF_(@Attribut(1)@=88)FORMAT(“%.2f“;(@Attribut(2)@*6.5)) Funktioniert leider auch nicht.

@Attribut(1)@ und @Attribut(2)@ heißt in Wirklichkeit nicht so, ich dachte mit (1) und (2) kann ich hier nur besser mein Problem schildern.
Das Attribut(1) ist ein benutzerdefiniertes Attribut (@2135@) für Durchmesser mit dem Datentypen Double.
Attribut (2) ist das Stück Attribut (@215@) mit dem Datentypen Integer.
Wenn ein bestimmter Durchmesser (z.B. 88) vorliegt soll dann das Attribut @215@ mit einem gewissen Wert multipliziert werden. Dieser Wert variiert dann je nach Durchmesser und wird über mehrere IF Bedingungen in der Formel überprüft. In Zukunft sollen dann noch mehr Formeln folgen die in Abhängigkeit vom Durchmesser gewisse Berechnungen durchführen.

EDIT:
_IF_(@2135@=62)FORMAT("%.2f"; @2126@*4.616)_ELSE__IF_(@2135@=75)FORMAT("%.2f"; @2126@*6.154)_ELSE__IF_(@2135@=88)FORMAT("%.2f"; @2126@*7.575)_ELSE_0

Diese Formel funktioniert zum Beispiel ohne Probleme. Attribut @2126@ ist ebenfalls vom Datentyp Integer.


https://campus.allplan.com/ verwendet Cookies  -  Mehr Informationen

Akzeptieren