Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous, je débute avec Qlikview, et j'aimerais savoir comment peut-on cumuler des résultats pour les soustraire d'autres.
Je m'explique. En 2013, j'ai réalisé X contrats, au bout d'un mois, j'en ai perdu un certain nombre, au bout de 2 mois encore un certain nombre, et ainsi de suite.
J'ai un tableau croisé dynamique sous Qlikview avec 2 dimensions.qui sont année_effet et duréedevie
Je calcule le total des contrats réalisés en une année par l'expression count(total<année_effet>(police)), je calcule le nombre de contrats ayant une durée de vie correspondant à un certain nombre de mois par l'expression count(police)
Enfin pour obtenir le reste, j'ai l'expression Total-Nb.
Ce qui me donne ce que vous voyez ci-dessous. En fait ce que je veux, c'est que pour les mois suivants , il me calcule, le reste moins le nombre de polices qui ont une durée de vie de x mois. Par exemple pour 1996, sous le mois 0, il calcule 2364-103=2261, mais sous le mois 1, je voudrais qu'il calcule 2364-103-74, ou alors le reste moins le nombre de contrats (2261-74). Quelqu'un peut m'expliquer comment faire ?
Par avance merci
duréedevie | 0 | 1 | 2 | 3 | 4 | ||||||||||
année_effet | Total | Nb | reste | Total | Nb | reste | Total | Nb | reste | Total | Nb | reste | Total | Nb | reste |
1996 | 2 364 | 103 | 2261 | 2 364 | 74 | 2290 | 2 364 | 34 | 2330 | 2 364 | 30 | 2334 | 2 364 | 32 | 2332 |
1997 | 10 106 | 503 | 9603 | 10 106 | 183 | 9923 | 10 106 | 537 | 9569 | 10 106 | 219 | 9887 | 10 106 | 152 | 9954 |
1998 | 24 132 | 829 | 23303 | 24 132 | 298 | 23834 | 24 132 | 1673 | 22459 | 24 132 | 384 | 23748 | 24 132 | 246 | 23886 |
1999 | 21 024 | 843 | 20181 | 21 024 | 1007 | 20017 | 21 024 | 505 | 20519 | 21 024 | 359 | 20665 | 21 024 | 469 | 20555 |
2000 | 17 181 | 836 | 16345 | 17 181 | 912 | 16269 | 17 181 | 303 | 16878 | 17 181 | 390 | 16791 | 17 181 | 389 | 16792 |
2001 | 14 676 | 1283 | 13393 | 14 676 | 787 | 13889 | 14 676 | 289 | 14387 | 14 676 | 354 | 14322 | 14 676 | 389 | 14287 |
2002 | 11 965 | 609 | 11356 | 11 965 | 741 | 11224 | 11 965 | 237 | 11728 | 11 965 | 346 | 11619 | 11 965 | 370 | 11595 |
2003 | 11 807 | 644 | 11163 | 11 807 | 812 | 10995 | 11 807 | 303 | 11504 | 11 807 | 314 | 11493 | 11 807 | 370 | 11437 |
2004 | 13 292 | 621 | 12671 | 13 292 | 1082 | 12210 | 13 292 | 361 | 12931 | 13 292 | 391 | 12901 | 13 292 | 358 | 12934 |
2005 | 14 615 | 431 | 14184 | 14 615 | 1413 | 13202 | 14 615 | 347 | 14268 | 14 615 | 411 | 14204 | 14 615 | 425 | 14190 |
2006 | 13 521 | 327 | 13194 | 13 521 | 1294 | 12227 | 13 521 | 310 | 13211 | 13 521 | 392 | 13129 | 13 521 | 425 | 13096 |
2007 | 12 458 | 257 | 12201 | 12 458 | 1444 | 11014 | 12 458 | 295 | 12163 | 12 458 | 341 | 12117 | 12 458 | 343 | 12115 |
2008 | 14 276 | 249 | 14027 | 14 276 | 1466 | 12810 | 14 276 | 323 | 13953 | 14 276 | 388 | 13888 | 14 276 | 363 | 13913 |
2009 | 14 049 | 280 | 13769 | 14 049 | 1530 | 12519 | 14 049 | 419 | 13630 | 14 049 | 374 | 13675 | 14 049 | 382 | 13667 |
2010 | 19 160 | 471 | 18689 | 19 160 | 2145 | 17015 | 19 160 | 451 | 18709 | 19 160 | 425 | 18735 | 19 160 | 490 | 18670 |
2011 | 26 828 | 876 | 25952 | 26 828 | 3340 | 23488 | 26 828 | 1102 | 25726 | 26 828 | 631 | 26197 | 26 828 | 740 | 26088 |
2012 | 38 530 | 3397 | 35133 | 38 530 | 616 | 37914 | 38 530 | 6893 | 31637 | 38 530 | 852 | 37678 | 38 530 | 951 | 37579 |
2013 | 28 304 | 2066 | 26238 | 28 304 | 494 | 27810 | 28 304 | 4427 | 23877 | 28 304 | 1580 | 26724 | 28 304 | 1782 | 26522 |
the expression for column reste should be
(assuming sum(t) is expression for column Total and sum(Nb) for column Nb)
sum(t) - rangesum(before(sum(Nb),0,columnno()))
the expression for column reste should be
(assuming sum(t) is expression for column Total and sum(Nb) for column Nb)
sum(t) - rangesum(before(sum(Nb),0,columnno()))
It works !
Thank you very much Massimo !