Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
CA4
Contributor III
Contributor III

Einzelne Einträge von Excel Tabelle abrufen im Data load editor

Hallo, ich habe eine excel Tabelle in den data load editor geladen. Diese besteht aus Maschine (die einezelnen Namen werden in Spalte A geschrieben) und Geschwindigkeit (in Spalte B). Nun habe ich eine andere Tabelle noch wo die Stückzahl pro Auftrag vorkommt. 

 

Maschine      Geschwindigkeit

      A                          20 (zb <10 Stück)

      B                         20 (zb <10 Stück)

      A                         18 (zb 10-15 Stück)

      B                        18 (zb 10-15 Stück)

      A                         16 (ab 15 Stück)

      B                        16 (ab 15 Stück)

Ich möchte nun im Data load editor folgendes schreiben: 

wenn die Maschine unter 10 Stück produziert, muss die Geschwindigkeit 20 sein. Wenn die Maschine zwischen 10 und 15 Stück produziert muss die Geschwindigkeit 18 sein. Und zum Schluss noch, wenn die Maschine mehr als 15 Stück produziert, dann soll die Geschwindigkeit 16 sein. Ich möchte es dann in Tabellenform im QlikView anzeigen eben wenn ich auf die Maschine klicke und dem Tag, dass mir angezeigt wird mit welcher durchschnittlichen Geschwindigkeit gefahren wurde.

Kann mir hier jemand helfen? ich habe schon mit if schleifen probiert, aber ich komme nicht weiter.. das war mein Ansatz: 

if(Line = 'A' or Line = 'B'and Stück < 10) then
 Geschwindigkeit // Eintrag von Excel Tabelle müsste 20 sein
        elseif Stück>10 and Stück<15 then
        Geschwindigkeit // Eintrag von Excel Tabelle müsste 18 sein
                elseif ActualUnit>15 and Stück<15 then
                Geschwindigkeit // Eintrag von Excel Tabelle müsste 16 sein
                    else

end if

Labels (1)
17 Replies
Ahidhar
Creator III
Creator III

not sure if you need loop or even the Excel file

try this

tab2:
load Machine,Piece,
if(Match(Machine,'A','B') and Piece<10,20,
if(Match(Machine,'A','B') and Piece>=10 and Piece<=15,18,
if(Match(Machine,'A','B') and Piece>15,17))) as Speed1;
load * Inline
[
Machine,Piece
A,2
B,2
A,11
B,11
A,17
B,17
];

Ahidhar_0-1703065005398.png

 

CA4
Contributor III
Contributor III
Author

Hallo, danke für die schnelle Idee, mir zeigt es immer einen Fehler an bei "as Speed1".. muss ich diese Variable vorher irgendwo definieren, wenn ja, wie? LG

Ahidhar
Creator III
Creator III

could you show the error

CA4
Contributor III
Contributor III
Author

Hi, ich habe eine weitere Zeile hinzugefügt und dann wird mir das "as" rot angezeigt: 

tab2:
Load Maschine, Stück,
if(Match(Machine,'A','B') and Piece<10,20,
if(Match(Machine,'A','B') and Piece>=10 and Piece<=15,18,

if(Match(Machine,'A','B') and Piece>=15 and Piece<=20,17,
if(Match(Machine,'A','B') and Piece>20,16))) as Speed1;

 

Am Ende möchte ich es so haben: 

wenn ich zb im QlikView auf die Linie klicke, dann würde ich gerne in der Tabelle automatisch sehen wie schnell sie im Durchschnitt gefahren ist. Also lege ich mir eine Tabelle an, wo die Linie, die Stück und die Geschwindigkeit angezeigt werden. Das hätte ich probiert, aber egal welchen Zeitraum ich auswähle, der Wert der Geschwindigkeit ist immer derselbe.. und wenn ich es händisch nachrechne stimmt es nicht exakt.

Ahidhar
Creator III
Creator III

add one more ')' at the end 

tab2:
Load Maschine, Stück,
if(Match(Machine,'A','B') and Piece<10,20,
if(Match(Machine,'A','B') and Piece>=10 and Piece<=15,18,

if(Match(Machine,'A','B') and Piece>=15 and Piece<=20,17,
if(Match(Machine,'A','B') and Piece>20,16)))) as Speed1;

CA4
Contributor III
Contributor III
Author

Perfekt, danke! 

nun habe ich folgendes in meinem Skript stehen: 

tab2:
Load Maschine, Stück,
if(Match(Machine,'A','B') and Piece<10,20,
if(Match(Machine,'A','B') and Piece>=10 and Piece<=15,18,

if(Match(Machine,'A','B') and Piece>=15 and Piece<=20,17,
if(Match(Machine,'A','B') and Piece>20,16)))) as Speed1;

 

jetzt zeigts mir im QlikView keine Variable Speed1 an... wie bekommt man das hin, dass zb wenn ich Maschine A auswähle an einem bestimmten Tag, dass mir der zugehörige Wert in die Speed1 Variable gespeichert wird und im QlikView dann angezeigt wird? Die Stückzahl und Maschine ist schon in einer anderen Tabelle im data model viewer verfügbar

Ahidhar
Creator III
Creator III

could you share sample output you are looking for because the above script adds Speed1 to the table containing Machine and Piece

CA4
Contributor III
Contributor III
Author

Hallo, ich habe nun eben das script im data load editor, im data model viewer wird mir nichts neues angezeigt und in die Variable Speed1 wird immer der gleiche Wert gespeichert.. sollte aber je nach Stückzahl anders sein, siehe Bild

Ahidhar
Creator III
Creator III

I think the above code should work

tab2:
Load Maschine, Stück,
if(Match(Maschine,'A','B') and Stück<10,20,
if(Match(Maschine,'A','B') and Stück>=10 and Stück<=15,18,

if(Match(Maschine,'A','B') and Stück>=15 and Stück<=20,17,
if(Match(Maschine,'A','B') and Stück>20,16)))) as Geschwindigkiet;