Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Triangle dans Qlikview

Bonjour,

j'essaye de trouver une solution afin d'effectuer un Triangle de durée de vie dans Qlikview, comme dans l'exemple Excel. L'idée est de pouvoir calculer et voir l'évolution de durée de vie d'un contrat sous forme de triangle. Avez-vous une solution svp ? merci d'avance. 

1 Solution

Accepted Solutions
lcloatre
Partner - Creator III
Partner - Creator III

Samuel,

Voici ma solution :

Je charge ton fichier et met une date de fin qui est le 1er jour du mois en cours pour les contrats qui n'ont pas de date de résiliation.

Ensuite j'utilise la fonction IntervalMatch.

CONTRAT_TEMP:

NoConcatenate

LOAD [N° Contrats],

     [Date effet],

     If(IsNull([Date resil]),MakeDate(Year(Today()), Month(Today()), 1), [Date resil]) as [Date resil]

FROM

[Exemple Triangle.xlsx]

(ooxml, embedded labels, table is Liste);

PERIODE:

NoConcatenate

LOAD [Date effet] as PERIODE

FROM

[Exemple Triangle.xlsx]

(ooxml, embedded labels, table is Liste);

// Ajout des dates comprises entre chaque intervalle. Résultat : pour chaque date dans Date_Ref_Tmp on ajoute l'intervalle dont elle fait partie.

joined:

INNER JOIN(PERIODE) INTERVALMATCH(PERIODE) LOAD [Date effet],[Date resil] RESIDENT CONTRAT_TEMP;

CONTRAT:

NoConcatenate

LOAD *

Resident CONTRAT_TEMP;

Join

LOAD *

Resident PERIODE;

DROP Table PERIODE;

DROP Table CONTRAT_TEMP;

Ensuite, tu créés un tableau croisé dynamique en mettant le champ PERIODE en colonne.

Capture1.JPG

Capture2.JPG

Et tu obtiens le résultat attendu :

Capture3.JPG

View solution in original post

12 Replies
lcloatre
Partner - Creator III
Partner - Creator III

Samuel,

Voici ma solution :

Je charge ton fichier et met une date de fin qui est le 1er jour du mois en cours pour les contrats qui n'ont pas de date de résiliation.

Ensuite j'utilise la fonction IntervalMatch.

CONTRAT_TEMP:

NoConcatenate

LOAD [N° Contrats],

     [Date effet],

     If(IsNull([Date resil]),MakeDate(Year(Today()), Month(Today()), 1), [Date resil]) as [Date resil]

FROM

[Exemple Triangle.xlsx]

(ooxml, embedded labels, table is Liste);

PERIODE:

NoConcatenate

LOAD [Date effet] as PERIODE

FROM

[Exemple Triangle.xlsx]

(ooxml, embedded labels, table is Liste);

// Ajout des dates comprises entre chaque intervalle. Résultat : pour chaque date dans Date_Ref_Tmp on ajoute l'intervalle dont elle fait partie.

joined:

INNER JOIN(PERIODE) INTERVALMATCH(PERIODE) LOAD [Date effet],[Date resil] RESIDENT CONTRAT_TEMP;

CONTRAT:

NoConcatenate

LOAD *

Resident CONTRAT_TEMP;

Join

LOAD *

Resident PERIODE;

DROP Table PERIODE;

DROP Table CONTRAT_TEMP;

Ensuite, tu créés un tableau croisé dynamique en mettant le champ PERIODE en colonne.

Capture1.JPG

Capture2.JPG

Et tu obtiens le résultat attendu :

Capture3.JPG

Anonymous
Not applicable
Author

merci beaucoup

Anonymous
Not applicable
Author

J'ai malgré tout encore un petit problème :

je souhaiterai dans mon triangle avoir en abscisse et ordonnée la somme / mois-année (mon fichier excel comporte cette fois-ci des dates non plus fixées au 1er).

à l'heure actuelle j'ai jour / jour

exemple abscisse :

mai-2016

juin 2016

juillet-2016...etc

idem en ordonnées

comment puis-je faire ?

cf mes fichiers

merci

Anonymous
Not applicable
Author

ci joint les nouveaux fichiers de mon exemple

Anonymous
Not applicable
Author

ci joint photo du qlikview attenduRésultat attendu.jpg

Anonymous
Not applicable
Author

‌personne ?

sfatoux72
Partner - Specialist
Partner - Specialist

Edite tes dimensions :

Community_1303272.png

Et change les ainsi :

  • =MonthName([Date effet])
  • =MonthName(PERIODE)

Et tu auras un résultat par mois année :

Community_1303272_2.png

Anonymous
Not applicable
Author

Super Sébastien !

Merci beaucoup.

Anonymous
Not applicable
Author

Enfin, je voudrai qu'en fin de colonne du triangle, soit calculé le taux de chute.

pour cela je dois faire la différence entre les premieres valeurs affichées et dernières valeurs de mon triangle

Exemple de calcul :

pour mai 2016 : ((10-5)/10)/14*12

14 = nombre de mois d'écart

pour juin 2016 : ((12-6)/12)/13*12

13 = nombre de mois d'écart entre première valeur du tableau et dernière affichée

résultat attendu

exemple.jpg

comment puis-je faire cela ?

merci