Qlikview - 脚本中的总和

Qlikview - sum in script

我有脚本

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
Year2015,
SumOfSaldo2015,
Year2016,
SumOfSaldo2016

当我在文本框中调用 SumOfSaldo2015 以获取 2015 年的 saldo 总和时

当您应该能够通过在 QlikView 中使用维度来实现它时,这似乎有点奇怪 - 只需根据日期创建一个年份维度...

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
];

或者,如果您只需要一个综合视图...

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;

但是如果你真的需要这样做,你可以做类似...

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;