2016-09-01 4 views
0

ich habe SkriptQlikView - Summe in Skript

LOAD * INLINE [ 
Document, Date, Itam, Line, Saldo, Unit 
Doc1, 12.12.2015, Item1, 1, 10, m 
Doc1, 3.04.2015, Item2, 2, 15, kg 
Doc2, 11.09.2015, Item1, 1, 6, kg 
Doc3, 11.04.2015, Item1, 1, 13, m 
Doc3, 21.03.2015, Item5, 2, 45, l 
Doc4, 20.04.2016, Item4, 1, 7, l 
Doc5, 12.01.2016, Item1, 1, 13, kg 
Doc6, 7.09.2016, Item3, 1, 16, m 
Doc6, 21.09.2016, Item3, 2, 21, kg 
Doc7, 1.01.2016, Item2, 1, 3, l 
]; 

I Summe der Saldo von Jahr in Skript erhalten möchten. Wie kann ich Skript ändern, um so etwas zu bekommen:

Load 
Year2015, 
SumOfSaldo2015, 
Year2016, 
SumOfSaldo2016 

Und wenn ich SumOfSaldo2015 in Textfeld rufen Sie 2015 für das Jahr Summe saldo zu bekommen

Antwort

1

Es scheint eine etwas seltsame Sache zu tun, wenn Sie sein sollte die Lage, es über mit Dimensionen in QlikView zu erreichen - nur ein Jahr Dimension erstellen basierend auf dem Datum ...

LOAD *, 
right(Date,4) as Year; 
LOAD * INLINE [ 
Document, Date, Itam, Line, Saldo, Unit 
Doc1, 12.12.2015, Item1, 1, 10, m 
Doc1, 3.04.2015, Item2, 2, 15, kg 
Doc2, 11.09.2015, Item1, 1, 6, kg 
Doc3, 11.04.2015, Item1, 1, 13, m 
Doc3, 21.03.2015, Item5, 2, 45, l 
Doc4, 20.04.2016, Item4, 1, 7, l 
Doc5, 12.01.2016, Item1, 1, 13, kg 
Doc6, 7.09.2016, Item3, 1, 16, m 
Doc6, 21.09.2016, Item3, 2, 21, kg 
Doc7, 1.01.2016, Item2, 1, 3, l 
]; 

Oder wenn Sie nach nur einer konsolidierten Ansicht ...

Temp: 
LOAD *, 
right(Date,4) as Year; 
LOAD * INLINE [ 
Document, Date, Itam, Line, Saldo, Unit 
Doc1, 12.12.2015, Item1, 1, 10, m 
Doc1, 3.04.2015, Item2, 2, 15, kg 
Doc2, 11.09.2015, Item1, 1, 6, kg 
Doc3, 11.04.2015, Item1, 1, 13, m 
Doc3, 21.03.2015, Item5, 2, 45, l 
Doc4, 20.04.2016, Item4, 1, 7, l 
Doc5, 12.01.2016, Item1, 1, 13, kg 
Doc6, 7.09.2016, Item3, 1, 16, m 
Doc6, 21.09.2016, Item3, 2, 21, kg 
Doc7, 1.01.2016, Item2, 1, 3, l 
]; 

Saldo: 
LOAD 
Year AS Year, 
sum(Saldo) as SumOfSaldo 
RESIDENT TEMP 
GROUP BY Year; 

Allerdings, wenn Sie wirklich tun es erforderlich, könnten Sie so etwas wie ...

Temp: 
LOAD *, 
right(Date,4) as Year; 
LOAD * INLINE [ 
Document, Date, Itam, Line, Saldo, Unit 
Doc1, 12.12.2015, Item1, 1, 10, m 
Doc1, 3.04.2015, Item2, 2, 15, kg 
Doc2, 11.09.2015, Item1, 1, 6, kg 
Doc3, 11.04.2015, Item1, 1, 13, m 
Doc3, 21.03.2015, Item5, 2, 45, l 
Doc4, 20.04.2016, Item4, 1, 7, l 
Doc5, 12.01.2016, Item1, 1, 13, kg 
Doc6, 7.09.2016, Item3, 1, 16, m 
Doc6, 21.09.2016, Item3, 2, 21, kg 
Doc7, 1.01.2016, Item2, 1, 3, l 
]; 

Saldo: 
LOAD 
Year AS Year2015, 
sum(Saldo) as SumOfSaldo2015 
RESIDENT TEMP 
GROUP BY Year 
WHERE Year = 2015; 

CONCATENATE(Saldo) 
LOAD 
Year AS Year2016, 
sum(Saldo) as SumOfSaldo2016 
RESIDENT TEMP 
GROUP BY Year 
WHERE Year = 2016; 

DROP TABLE Temp; 
+0

Vielen Dank tun .... – pape