2017-07-14 1 views
0

Neu in Qlikview und ich versuche, Spalten aus einer Tabelle in eine neue Tabelle mit weniger Spalten aber mehr Zeilen z.Qlikview SQL-Abfrage

Was ist die beste Option dafür? Irgendwelche Hilfe geschätzt enter image description here

+1

Bitte geben Sie weitere Informationen zu dem Problem an. –

+0

Hallo. Ich kann eine Tabelle mit 8 Spalten und 1 Zeile laden, wie im ersten Teil des Diagramms, aber idealerweise möchte es als 4 Spalten mit 3 Zeilen von Daten wie unteren Teil des Diagramms laden –

+0

Crosstable-Funktion könnte funktionieren, aber die Struktur ist nicht ideal .. Vielleicht, wenn Sie die Daten im Format Name, Datum, Text1 | Wert1, Text2 | Wert2, ..., TextN | WertN haben und Teilfeld (Daten, '|', 1) als Text nach verwenden können eine Kreuzlast ... vielleicht .. – mickeger

Antwort

0

Eine Möglichkeit, Ihr Problem zu lösen, ist über eine Schleife in Ihrem Skript. Siehe das folgende Beispiel:

//input table 
table: 
load * Inline [ 
n, d, t1, v1, t2, v2, t3, v3 
Bob, 07-jul, a, 1, b, 2, c, 3 
]; 

//Use dummy field to setup result table. 
result: 
Load * Inline [DUMMY]; 

//Set starting position. 
set k=3; 

do WHILE k <= NoOfFields('table') 

    //result table need to exist pre loop. 
    Concatenate(result) Load 
     n as name, 
     d as date,   
     peek(FieldName($(k),'table'),0,'table') as text, 
     peek(FieldName($(k)+1,'table'),0,'table') as value   
    resident table;  

    let k = $(k)+2; 

loop  

drop field DUMMY;