Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
PWJ67
Contributor II
Contributor II

Incomplete sum() on aggr function

Hi all,

In my chart bar, my dimension is the year of sales (year(FCDATE)).

I try to calculate for each year, the sales of the new client for this year.

  • FCDATE = date of sale
  • RS_Client = the client
  • FCTOTAL_HT = the amount  of each sale

The aggr in this formula returns only one FCTOTAL_HT by Client, and I don't find how to change this :

sum( if(aggr(min(year(FCDATE)),RS_Client)=year(FCDATE) , FCTOTAL_HT))

NB : using "nodistinct" in the aggr() function did not work.

Any idea ?

 

 

Labels (1)
1 Solution

Accepted Solutions
vinieme12
Champion III
Champion III

as below

Chart Dimension:

RS_Client

Chart Measures:

=min(total <RS_Client> year(FCDATE))  

=sum(aggr(if(Year(FCDATE)=min(Total <RS_Client> year(FCDATE)),FCTOTAL_HT),RS_Client,FCDATE))

 

 

Capture.PNG

temp:
load 'A' as RS_Client,FCNUMFACT,date#(FCDATE,'DD/MM/YYYY') as FCDATE,FCTOTAL_HT inline [
FCNUMFACT,FCDATE,FCTOTAL_HT
G 18191702,07/09/2015,465
G 20151158,11/09/2015,465
Z 20160149,31/01/2016,30
G 20160858,30/06/2016,715
DI09194285,21/09/2016,265
F 09192256,21/09/2016,1 430
F 20161296,23/09/2016,1 430
DI20161403,30/09/2016,265
G 20161665,30/11/2016,350
G 20170651,31/05/2017,85
G 20170811,30/06/2017,395
V 20170812,30/06/2017,250
V 20180178,26/02/2018,250
V 20180257,28/02/2018,140
V 20180368,29/03/2018,950
G 20180641,06/06/2018,85
G 20181277,31/10/2018,100
V 20181278,31/10/2018,950
F 20191842,21/03/2019,1 061
V 20191960,15/04/2019,6 535
V 20192410,31/07/2019,1 000
V 20192845,29/11/2019,750
V 20200473,30/06/2020,750
F 20200609,30/07/2020,464
V 20201059,30/11/2020,750
V 20210572,31/05/2021,1 000
V 20211354,26/11/2021,750
V 20220575,31/05/2022,1 000
V 20220682,30/06/2022,150
V 20221291,30/11/2022,750
];

Concatenate(temp)
load 'B' as RS_Client,FCNUMFACT,date#(FCDATE,'DD/MM/YYYY') as FCDATE,FCTOTAL_HT inline [
FCNUMFACT,FCDATE,FCTOTAL_HT
Z 20160149,31/01/2016,30
G 20160858,30/06/2016,715
DI09194285,21/09/2016,265
F 09192256,21/09/2016,1 430
F 20161296,23/09/2016,1 430
DI20161403,30/09/2016,265
G 20161665,30/11/2016,350
G 20170651,31/05/2017,85
G 20170811,30/06/2017,395
V 20170812,30/06/2017,250
V 20180178,26/02/2018,250
V 20180257,28/02/2018,140
V 20180368,29/03/2018,950
G 20180641,06/06/2018,85
G 20181277,31/10/2018,100
V 20181278,31/10/2018,950
F 20191842,21/03/2019,1 061
V 20191960,15/04/2019,6 535
V 20192410,31/07/2019,1 000
V 20192845,29/11/2019,750
V 20200473,30/06/2020,750
F 20200609,30/07/2020,464
V 20201059,30/11/2020,750
V 20210572,31/05/2021,1 000
V 20211354,26/11/2021,750
V 20220575,31/05/2022,1 000
V 20220682,30/06/2022,150
V 20221291,30/11/2022,750
];

exit Script;

 

 

 

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.

View solution in original post

4 Replies
vinieme12
Champion III
Champion III

As below

 

=sum(  Aggr( if ( Year(FCDATE) = Min(Year(FCDATE)), FCTOTAL_HT ),RS_Client ))

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
PWJ67
Contributor II
Contributor II
Author

Thx Vineeth but it does not work, the formula returns 0 €.

Here is an example from 1 client. The formula have to return the sum of the 2 first lines : 465 x 2 = 930.

I tried many solutions, but only had 3 results :

  • 0 € 
  • the total of all lines
  • the first line alone ; 465

 

FCNUMFACT FCDATE FCTOTAL_HT
G 18191702 07/09/2015 465 €
G 20151158 11/09/2015 465 €
Z 20160149 31/01/2016 30 €
G 20160858 30/06/2016 715 €
DI09194285 21/09/2016 265 €
F 09192256 21/09/2016 1 430 €
F 20161296 23/09/2016 1 430 €
DI20161403 30/09/2016 265 €
G 20161665 30/11/2016 350 €
G 20170651 31/05/2017 85 €
G 20170811 30/06/2017 395 €
V 20170812 30/06/2017 250 €
V 20180178 26/02/2018 250 €
V 20180257 28/02/2018 140 €
V 20180368 29/03/2018 950 €
G 20180641 06/06/2018 85 €
G 20181277 31/10/2018 100 €
V 20181278 31/10/2018 950 €
F 20191842 21/03/2019 1 061 €
V 20191960 15/04/2019 6 535 €
V 20192410 31/07/2019 1 000 €
V 20192845 29/11/2019 750 €
V 20200473 30/06/2020 750 €
F 20200609 30/07/2020 464 €
V 20201059 30/11/2020 750 €
V 20210572 31/05/2021 1 000 €
V 20211354 26/11/2021 750 €
V 20220575 31/05/2022 1 000 €
V 20220682 30/06/2022 150 €
V 20221291 30/11/2022 750 €

 

I tried adding FCNUMFACT or FCDATE as 2 level of aggr() : failure

Other try returns nested errors.

Othe ideas ?

vinieme12
Champion III
Champion III

as below

Chart Dimension:

RS_Client

Chart Measures:

=min(total <RS_Client> year(FCDATE))  

=sum(aggr(if(Year(FCDATE)=min(Total <RS_Client> year(FCDATE)),FCTOTAL_HT),RS_Client,FCDATE))

 

 

Capture.PNG

temp:
load 'A' as RS_Client,FCNUMFACT,date#(FCDATE,'DD/MM/YYYY') as FCDATE,FCTOTAL_HT inline [
FCNUMFACT,FCDATE,FCTOTAL_HT
G 18191702,07/09/2015,465
G 20151158,11/09/2015,465
Z 20160149,31/01/2016,30
G 20160858,30/06/2016,715
DI09194285,21/09/2016,265
F 09192256,21/09/2016,1 430
F 20161296,23/09/2016,1 430
DI20161403,30/09/2016,265
G 20161665,30/11/2016,350
G 20170651,31/05/2017,85
G 20170811,30/06/2017,395
V 20170812,30/06/2017,250
V 20180178,26/02/2018,250
V 20180257,28/02/2018,140
V 20180368,29/03/2018,950
G 20180641,06/06/2018,85
G 20181277,31/10/2018,100
V 20181278,31/10/2018,950
F 20191842,21/03/2019,1 061
V 20191960,15/04/2019,6 535
V 20192410,31/07/2019,1 000
V 20192845,29/11/2019,750
V 20200473,30/06/2020,750
F 20200609,30/07/2020,464
V 20201059,30/11/2020,750
V 20210572,31/05/2021,1 000
V 20211354,26/11/2021,750
V 20220575,31/05/2022,1 000
V 20220682,30/06/2022,150
V 20221291,30/11/2022,750
];

Concatenate(temp)
load 'B' as RS_Client,FCNUMFACT,date#(FCDATE,'DD/MM/YYYY') as FCDATE,FCTOTAL_HT inline [
FCNUMFACT,FCDATE,FCTOTAL_HT
Z 20160149,31/01/2016,30
G 20160858,30/06/2016,715
DI09194285,21/09/2016,265
F 09192256,21/09/2016,1 430
F 20161296,23/09/2016,1 430
DI20161403,30/09/2016,265
G 20161665,30/11/2016,350
G 20170651,31/05/2017,85
G 20170811,30/06/2017,395
V 20170812,30/06/2017,250
V 20180178,26/02/2018,250
V 20180257,28/02/2018,140
V 20180368,29/03/2018,950
G 20180641,06/06/2018,85
G 20181277,31/10/2018,100
V 20181278,31/10/2018,950
F 20191842,21/03/2019,1 061
V 20191960,15/04/2019,6 535
V 20192410,31/07/2019,1 000
V 20192845,29/11/2019,750
V 20200473,30/06/2020,750
F 20200609,30/07/2020,464
V 20201059,30/11/2020,750
V 20210572,31/05/2021,1 000
V 20211354,26/11/2021,750
V 20220575,31/05/2022,1 000
V 20220682,30/06/2022,150
V 20221291,30/11/2022,750
];

exit Script;

 

 

 

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
PWJ67
Contributor II
Contributor II
Author

Greate Vinetth ! 

I've tried with total, but it were not at the good place.

Thx a lot !

JF