Qlik Community

New to Qlik Sense

Discussion board where members can get started with Qlik Sense.

Announcements
BI & Data Trends 2021. Discover the top 10 trends emerging in today. Join us on Dec. 8th REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Not applicable

Soll / Haben in + und - per Script wandeln

Soll / Haben in + und - per Script wandeln:

Hallo zusammen,

wie kann ich beim Laden von Daten das Soll und Haben in + bzw. - per Script wandeln. Ich bekomme die Daten aus dem Vorsystem nur mit der Kennzeichnung Soll oder Haben (siehe Beispiel Spalte P Monatssaldo). Hat jemand eine Idee?

Vielen Dank im Voraus

1 Solution

Accepted Solutions
Highlighted
Anonymous
Not applicable

versuch's mal so in der Art, hier mal ein Beispiel  für das Feld Gesamtsaldo:

LOAD
Gesamtsaldo,
right(Gesamtsaldo,1) as SOLLHABEN,
index(Gesamtsaldo,' ') as INDEX,
num(num#(left(Gesamtsaldo,index(Gesamtsaldo,' ')-1))) as SALDO,
if(right(Gesamtsaldo,1)='S',num(num#(left(Gesamtsaldo,index(Gesamtsaldo,' ')-1))),-1
*
num(num#(left(Gesamtsaldo,index(Gesamtsaldo,' ')-1)))) as SALDO_PLUS_MINUS

FROM
[SuSa - Beispiel_com.xlsx]
(
ooxml, embedded labels, header is 3 lines, table is [Jan 17]);

View solution in original post

6 Replies
Highlighted
Anonymous
Not applicable

LOAD

...

if(SOLLHABENFELD='S',MONATSSALDO,-1*MONATSSALDO) as MONATSSALDO,

...

Highlighted
Not applicable

Hallo Robin,

sorry, bin beim Scripten noch neu. Kannst Du das ganze Script kurz posten.

Muss ich erst das Feld "SOLLHABENFELD" erstellen?

Vielen Dank für Deine Unterstützung im Voraus.

BG

Philipp

[Jan 17]:

LOAD

[Konto],

//  [SOLLHABENFELD],

[Monats-Saldo],

    if(SOLLHABENFELD='S',MONATSSALDO,-1*MONATSSALDO) as MONATSSALDO

FROM [lib://99_Data/SuSa.xlsx]

(ooxml, embedded labels, header is 3 lines, table is [Jan 17]);

Highlighted
Anonymous
Not applicable

versuch's mal so in der Art, hier mal ein Beispiel  für das Feld Gesamtsaldo:

LOAD
Gesamtsaldo,
right(Gesamtsaldo,1) as SOLLHABEN,
index(Gesamtsaldo,' ') as INDEX,
num(num#(left(Gesamtsaldo,index(Gesamtsaldo,' ')-1))) as SALDO,
if(right(Gesamtsaldo,1)='S',num(num#(left(Gesamtsaldo,index(Gesamtsaldo,' ')-1))),-1
*
num(num#(left(Gesamtsaldo,index(Gesamtsaldo,' ')-1)))) as SALDO_PLUS_MINUS

FROM
[SuSa - Beispiel_com.xlsx]
(
ooxml, embedded labels, header is 3 lines, table is [Jan 17]);

View solution in original post

Highlighted

Hi,

try like below

If (right(MONATSSALDO,1)='S', subfield(MONATSSALDO,' '), -1 * subfield(MONATSSALDO,' ')) as MONATSSALDO


Regards,

Great dreamer's dreams never fulfilled, they are always transcended.
Highlighted
Anonymous
Not applicable

perhaps the subfield() variant is easier to understand, but I think then you need the subfield() function with 3 parameters instead of the one with 2 parameters as Prashant suggested?!?

LOAD
Gesamtsaldo,
right(Gesamtsaldo,1) as SOLLHABEN,
num(SubField(Gesamtsaldo,' ',1)) as SALDO,
if(right(Gesamtsaldo,1)='S',num(SubField(Gesamtsaldo,' ',1)),

-1*num(SubField(Gesamtsaldo,' ',1))) as SALDO_PLUS_MINUS

FROM
[SuSa - Beispiel_com.xlsx]
(
ooxml, embedded labels, header is 3 lines, table is [Jan 17]);

Highlighted
Not applicable

Hi Robin,

super, hat schnell geklappt!

Vielen Dank.

BG

Philipp