Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
];
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
could you show the error
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.
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;
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
could you share sample output you are looking for because the above script adds Speed1 to the table containing Machine and Piece
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
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;