Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Feldnamen aus strings zusammensetzen

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.

QV Server - 172.16.1.png

P.S. wie stellt man diese DE-EN-Übersetzung aus?

2 Replies
swuehl
MVP
MVP

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

Not applicable
Author

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.SOLLAKT.AD02.SOLLAKT.AD03.SOLL...AKT.AD0x.SOLL
845225.0008.55023.00015.25010.000
84610.200...
......

Daraus müsste ich ja, wenn ich Dich richtig verstehe, folgende Form bauen:

AKTIONSNR $VETRETERAKT.SOLL
845AD018.550
845AD0223.000
845AD0315.250
.........
845AD0x10.000

Das klingt plausibel. Aber bei der Frage, wie das umzusetzen wäre, bin ich dann komplett verloren.