Runden von BPM Werten mit bis zu 2 Dezimalstellen auf ganze Zahlen mit Rundungsschrittweite BPM_ROUNDBY = n (mit n als Element von N+):
$div($mul($mul(%BPM_ROUNDBY%,100),$ifgreater($sub($div($mul($left($replace(%BPM%,.,)00,$add($len($div(%BPM%,1)),2)),10),$mul(%BPM_ROUNDBY%,100)),$mul($div($left($replace(%BPM%,.,)00,$add($len($div(%BPM%,1)),2)),$mul(%BPM_ROUNDBY%,100)),10)),4,$add($div($left($replace(%BPM%,.,)00,$add($len($div(%BPM%,1)),2)),$mul(%BPM_ROUNDBY%,100)),1),$div($left($replace(%BPM%,.,)00,$add($len($div(%BPM%,1)),2)),$mul(%BPM_ROUNDBY%,100)))),100)
Beispiele:
BPM=149.99 und ROUNDBY=1 ergibt BPM=150.
BPM=149.99 und ROUNDBY=2 ergibt BPM=150.
BPM=149.99 und ROUNDBY=3 ergibt BPM=150.
BPM=149.99 und ROUNDBY=4 ergibt BPM=148.
BPM=149.99 und ROUNDBY=5 ergibt BPM=150.
BPM=149.99 und ROUNDBY=6 ergibt BPM=150.
BPM=149.99 und ROUNDBY=7 ergibt BPM=147.
BPM=149.99 und ROUNDBY=8 ergibt BPM=152.
BPM=149.99 und ROUNDBY=9 ergibt BPM=153.
BPM=149.99 und ROUNDBY=10 ergibt BPM=150.
BPM=149.99 und ROUNDBY=20 ergibt BPM=140.
BPM=149.99 und ROUNDBY=40 ergibt BPM=160.
BPM=149.99 und ROUNDBY=100 ergibt BPM=100.
Anfang Aktionengruppe Round BPM to integer
Aktion #1
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_MIXMEISTER
Formatstring: $if2(%BPM_MIXMEISTER%,%BPM%)
Aktion #2
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_ROUNDBY
Formatstring: 1
Aktion #3
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_A
Formatstring: $mul(%BPM_ROUNDBY%,100)
Aktion #4
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_B
Formatstring: $left($replace(%BPM%,.,)00,$add($len($div(%BPM%,1)),2))
Aktion #5
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_C
Formatstring: $div($mul(%BPM_B%,10),%BPM_A%)
Aktion #6
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_D
Formatstring: $div(%BPM_B%,%BPM_A%)
Aktion #7
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_E
Formatstring: $mul(%BPM_D%,10)
Aktion #8
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_F
Formatstring: $ifgreater($sub(%BPM_C%,%BPM_E%),4,$add(%BPM_D%,1),%BPM_D%)
Aktion #9
Aktionstyp 5: Tagfeld formatieren
Feld: BPM
Formatstring: $div($mul(%BPM_A%,%BPM_F%),100)
Aktion #10
Aktionstyp 9: Tagfelder entfernen
Folgende Tagfelder entfernen (mit Semikolon getrennt): BPM_A;BPM_B;BPM_C;BPM_D;BPM_E;BPM_F;BPM_ROUNDBY
Ende Aktionengruppe Round BPM to integer (10 Aktionen)
oder
Anfang Aktionengruppe Round BPM to integer
Aktion #1
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_MIXMEISTER
Formatstring: $if2(%BPM_MIXMEISTER%,%BPM%)
Aktion #2
Aktionstyp 5: Tagfeld formatieren
Feld: BPM_ROUNDBY
Formatstring: 1
Aktion #3
Aktionstyp 5: Tagfeld formatieren
Feld: BPM
Formatstring: $div($mul($mul(%BPM_ROUNDBY%,100),$ifgreater($sub($div($mul($left($replace(%BPM%,.,)00,$add($len($div(%BPM%,1)),2)),10),$mul(%BPM_ROUNDBY%,100)),$mul($div($left($replace(%BPM%,.,)00,$add($len($div(%BPM%,1)),2)),$mul(%BPM_ROUNDBY%,100)),10)),4,$add($div($left($replace(%BPM%,.,)00,$add($len($div(%BPM%,1)),2)),$mul(%BPM_ROUNDBY%,100)),1),$div($left($replace(%BPM%,.,)00,$add($len($div(%BPM%,1)),2)),$mul(%BPM_ROUNDBY%,100)))),100)
Ende Aktionengruppe Round BPM to integer (3 Aktionen)
DD.20080726.1602.CEST
Aktion angepasst für BPM Werte mit bis zu 2 Dezimalstellen.
DD.20080728.1152