wie ließt man den Inhalt eines Switch-Feldes aus?
Hallo,
ich breche mir gerade einen ab, um den Inhalt auszulesen.
Es gibt ein Switch-Feld "19%/7%" wenn ich als anschließneder Formel "Zahl := 'MwSt Satz'" eingeben, bekomme ich entweder 1 oder 2 und nicht 19% bzw. 7%
Ich weiß, dass das eine totale Anfängerfrage ist, aber finde keine Lösung.
Danke & Gruß
Dirk
5 Antworten
-
Hallo Dirk,
zuerst muss man die Textwerte aus dem Auswahlfeld holen, das macht man mit text('MwSt Satz'). Mit dem Text hast dunaber tie Strings "19%" bzw. "7%". Um die Zahlen daraus zu bekommen muss du diese noch extrahieren und als Zahl deklarieren. Extrahieren geht mit Regex:
---
extractx( text('MwSt Satz'), "\d+")---
Und anschliesend als Nummer deklarieren:
---
Zahl:=number(extractx( text('MwSt Satz'), "\d+"))
---
Es gibt auch andere Methoden um die Zahlen aus dem Text zu bekommen z.B. als split():
---
Zahl:=number(first(split( text('MwSt Satz'), "%")))
---
Leo
-
Hallo Dirk und Leo
Leo ist der Profi – aber wäre es nicht einfacher in der Formel zu sagen:
let MwSt := if 'Switch Feld' = 1 then 19 else 7 end ?
'Switch Feld' müsste 'Eingabe erforderlich' und mit Standarwert definiert sein, um Zustand null zu vermeiden.
LG, Stefan
-
Hallo Stefan,
wenn ich das lese, muss ich gestehen - "Leo ist ein Depp". Natürlich ist deine Formel einfacher und eigentlich auch einzig richtige. Es ist immer besser bei Auswahlfelder mit ID zu arbeiten. Meine Spilereien kann man immernoch gut beim Extrahieren von Zahlen gebrauchen.
Leo
-
Hi,
auch wenn mir Stefan gerade ne zündende Idee geliefert hat finde ich Leos Variante sicherer. Nehmen wir an, die Mehrwertsteuer ändert sich müssen wir das Auswahlfeld UND die Formel ändern. Lesen wir die Werte aus ändert man nur einmal und kann nicts vergessen.
Grüße Wolfgang -
Das stimmt natürlich, aber dann würde ich einfach das %-Zeichen abschneiden (also % durch nichts ersetzen) und den Text in eine Zahl umwandeln:
let myMwSt := number(replace(text(MwSt), "%", ""));
Content aside
- vor 4 JahrenZuletzt aktiv
- 5Antworten
- 844Ansichten