Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
adamjiawen
Contributor II
Contributor II

sum according to another column


Hello,Everybody,I'm a new fish here,

Latest I got a problem and hopes for everyone's help

In QlikView, I've got a random table like this

--------------------------------------------------------------------

COLUMN1       COLUMN2          COLUMN3

A                     10    

A                     20

A                     30

B                     20

B                     5

B                     25

C                     10

C                     12

C                     22

----------------------------------------------------------------------

Now I want to account for result like this:

----------------------------------------------------------------------

COLUMN1        COLUMN2           COLUMN3

A                     10                       10

A                     20                       30

A                     30                       60

B                     20                       20

B                     5                         25

B                     25                       50

C                     10                       10

C                     12                       22

C                     22                       44

----------------------------------------------------------------------

So how can I do to solve this problem.              

1 Solution

Accepted Solutions
MK_QSL
MVP
MVP

Create a straight table

Dimension =

Column1

Column2

Expression

RangeSum(Above(SUM(COLUMN2),0,RowNo()))

UPDATE : You can do the same at script level

Temp:

Load * Inline

[

  COLUMN1, COLUMN2        

  A,       10  

  A,          20

  A,          30

  B,          20

  B,           5

  B,          25

  C,          10

  C,          12

  C,          22

];

NoConcatenate

Final:

Load

  COLUMN1,

  COLUMN2,

  IF(COLUMN1 = PEEK('COLUMN1'), RangeSum(Peek('COLUMN3'),COLUMN2), COLUMN2) as COLUMN3

Resident Temp

Order By COLUMN1;

Drop Table Temp;

View solution in original post

3 Replies
MK_QSL
MVP
MVP

Create a straight table

Dimension =

Column1

Column2

Expression

RangeSum(Above(SUM(COLUMN2),0,RowNo()))

UPDATE : You can do the same at script level

Temp:

Load * Inline

[

  COLUMN1, COLUMN2        

  A,       10  

  A,          20

  A,          30

  B,          20

  B,           5

  B,          25

  C,          10

  C,          12

  C,          22

];

NoConcatenate

Final:

Load

  COLUMN1,

  COLUMN2,

  IF(COLUMN1 = PEEK('COLUMN1'), RangeSum(Peek('COLUMN3'),COLUMN2), COLUMN2) as COLUMN3

Resident Temp

Order By COLUMN1;

Drop Table Temp;

adamjiawen
Contributor II
Contributor II
Author

Can you please write the script in details?Best write a part of critical scripts thanks

adamjiawen
Contributor II
Contributor II
Author

Thank you very much for your help~