Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hallo Zusammen!
Bei der nachfolgend gezeigten Pivottabelle mit den 2 Dimensionen Artikelnummer (numerisch, Feldname: ARTIKELNR) und Aussendienstler (alphanumerisch: 'AD01', 'AD02', ..., 'AD0x', Feldname: VERTRETER) bin ich auf eine kleine Herausforderung gestoßen:
Jeder unserer Aussendienstler hat für bestimmte Artikel bestimmte Absatzvorgaben, die in der Datenbasis in den Feldern AKT.AD01.SOLL, AKT.AD02.SOLL ... AKT.AD0x.SOLL. Diese Sollzahlen möchte ich in der Tabelle anzeigen lassen. Um das für jeden Aussendienstler individuell machen zu können, muss ich die Vertreterbezeichnung (AD0x) aus der Dimension in meine Formel einbauen.
Mit der Formel
= 'AKT.' & VERTRETER & '.SOLL'
bekomme ich von Qlikview für jede AD-Dimension das korrekte String ausgegeben, z.B. AKT.AD01.SOLL. Allerdings möchte ich freilich nicht das String ausgeben, sondern den Wert des korrespondierenden Feldes.
Ich bin sicher, es handelt sich nur um eine lächerliche Kleinigkeit. Aber ich habe nichts gefunden, was mir helfen könnte.
Danke im Voraus für die Antworten.
P.S. wie stellt man diese DE-EN-Übersetzung aus?
So einfach ist meines Erachtens die Sache nicht, denn wenn QVzuerst denn String im Kontext der Dimension auswerten soll und dann den String als Feld betrachten und den Wert holen soll, müsste der Ausdruck zweimal evaluiert werden - was QV in diesem Kontext nicht macht.
Vielleicht ist es eine Möglichkeit, dass du deine Quelltabelle
AKT.AD01.SOLL, AKT.AD02.SOLL, AKT.AD03.SOLL,...
100, 200, 300, ...
von einer Crosstable Struktur in eine straight tabel umwandeln kannst:
AD, SOLL
AD01, 100
AD02, 200
AD03, 300
...
Das kannst du mit einem CROSSTABLE LOAD Prefix machen. Das Feld AD kannst du dann mit deinem Aussendienstmitarbeiter-Feld verknüpfen, dann erhält du automatisch von QV die korrekten Soll Zahlen, ohne herumtricksen zu müssen.
Gruß,
Stefan
Es ist grundsätzlich so, dass er mir den String sowohl aus der jeweiligen Dimension berechnet, als auch anschließend der jeweiligen Dimension korrekt zuordnet. Allerdings ist die Ausgabe eben ein String, kein Feldwert. Es wäre also klasse, wenn es einen Befehl im Stile von z.B. makefield('String1' & 'string2') gäbe, damit alles hinter dem = als Feldname interpretiert wird.
Kannst Du das Crosstable-Thema ein wenig erläutern? Ich denke nämlich nicht, dass das bei meiner Problemstellung hilft.
Die zugrunde liegende Tabelle hat folgenden Aufbau, die ich aus der Datenbasis (.csv) 1:1 übernommen habe:
AKTIONSNR $ | AKT.GESAMT.SOLL | AKT.AD01.SOLL | AKT.AD02.SOLL | AKT.AD03.SOLL | ... | AKT.AD0x.SOLL |
---|---|---|---|---|---|---|
845 | 225.000 | 8.550 | 23.000 | 15.250 | 10.000 | |
846 | 10.200 | ... | ||||
... | ... |
Daraus müsste ich ja, wenn ich Dich richtig verstehe, folgende Form bauen:
AKTIONSNR $ | VETRETER | AKT.SOLL |
---|---|---|
845 | AD01 | 8.550 |
845 | AD02 | 23.000 |
845 | AD03 | 15.250 |
... | ... | ... |
845 | AD0x | 10.000 |
Das klingt plausibel. Aber bei der Frage, wie das umzusetzen wäre, bin ich dann komplett verloren.