Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
ab92
Creator II
Creator II

Demande de formule de calcul pour une jauge

Bonjour à tous,

 

Je suis débutant sur Qlik et je me fais la main sur une base GLPI. J’ai beau essayer plusieurs fonction, je suis bloqué après plusieurs test, j’aurai besoin d’une âme charitable svp.

 

Explication de ma problématique :

Je souhaite calculer le pourcentage de tickets résolus en une journée.

Mon action : prendre les nombres totaux des tickets, enlever le nombre des tickets supprimés étant donné que l’administrateur supprime des tickets et ensuite les trier pour une résolution en une journée sur une table qui affiche la date de création des tickets ;

 

Résumer de ma Base :

TIC_DATE_CREATION = date de création des tickets = au format date

TIC_ID = nombre de ticket = numéro 1 à 10 000

TIC_SUPPRIME = Type de ticket supprimé = résultat binaire (Ticket conservé = 0, Ticket supprimé =1)

 

Pour le moment je suis à cela dans mon expression :

Je coince sur le tri de la date, fonction if … 

 

Count(TIC_ID)-Count(TIC_SUPPRIME)/100

Merci d'avance de votre aide

 

21 Replies
kevinchevrier
Partner - Creator III
Partner - Creator III

Tu as la possibilité de mettre ton application ?

Kevin

ab92
Creator II
Creator II
Author

Tu veux dire en lien ?

kevinchevrier
Partner - Creator III
Partner - Creator III

Quand tu cliques sur "répondre", tu vas ensuite sur "Utiliser l'éditeur avancé" en haut à droite de ton message, puis "Joindre" en dessous ton texte.

ab92
Creator II
Creator II
Author

Voici ma table ticket :

***************************************************************************************************************************************

TICKETS:
LOAD
entities_id  AS @TIC_ENTITE_ID,
id AS @SATIS_ID,
id AS @TIC_TAC__TECH_ID,
id AS @TIC_UTIL_ID,
id AS TIC_ID,
entities_id AS TIC_ENTITE_ID,
name AS TIC_NOM,
users_id_lastupdater AS TIC_USERS_ID_LASTUPDATER,
status AS TIC_STATUS,
is_deleted AS TIC_SUPPRIME,
solvedate - date AS TIC_DUREE,
content AS TIC_COM_RETOUR,

DATE(date, 'DD/MM/YYYY HH:mm:ss') AS @CAL_DATE,
DATE(date, 'DD/MM/YYYY HH:mm:ss') AS TIC_CREE,
DATE(closedate, 'DD/MM/YYYY') AS TIC_FERME,
DATE(solvedate, 'DD/MM/YYYY HH:mm:ss') AS TIC_RESOLU,
DATE(date_mod, 'DD/MM/YYYY') AS TIC_DATE_MOD,

Year(date) AS TIC_ANNEE_CREATION,
Month(date) AS TIC_MOIS_CREATION,
Num(Day(date)) AS TIC_JOUR_CREATION,
Num(weekday(date)) AS TIC_JOURSEMNUM_CREATION,

if(isnull(date),'Sans date de création',if (isnull(solvedate),'Non Résolu',if (solvedate - date <1, 'Traité en 1 Journée', if (solvedate - date<2, 'Traité entre 1 et 2 jours', 'Traité entre 2 jours et +')))) AS TIC_TRAITEMENT,
if(is_deleted=0,'Conservé','Supprimé') AS TIC_TYPE

***************************************************************************************************************************************

Je travail sur serveur et puis j'ai des données quand même confidentiel sur cette base je pourrai donc pas la partagé mais le script montre le problème je pense ..

J'ai changé le format de date résolu et changé la formule par celle ci et ca ne marche toujours pas :

=aggr(Count({$ <TIC_SUPPRIME-= {'0'}>}TIC_SUPPRIME)/Count(TIC_ID),TIC_CREE)

Après réflexion je me dis que j'ai pas forcement besoin de sélectionner les tickets qui ne sont pas supprimé vu que j'ai un champs dans mon application qui me permets d'effectuer la sélection.

Voici l'affichage de la fenêtre principal de mon app : TIC_TYP m'affiche donc les tickets supprimé ou conservé

Fenetre principal GLPI.PNG

J'ai caché le champs filiales pour des raisons de confidentialité, ce que je veux faire :

Calculé le taux de ticket résolu en une journée et je veux que la jauge évolue lors de la sélection de l'utilisateur admettons lors de son utilisation : Il sélectionne année 2017 mois, puis Aout, puis le nom de filiale, puis les tickets supprimé (par rapport à sa sélection je souhaite que la jauge évolue).

Jspr avoir était claire ... En te remerciant d'avance

kevinchevrier
Partner - Creator III
Partner - Creator III

Pour l'aggrégation, je te conseille de créer un nouveau champ dans ton script ;

DATE(solvedate, 'DD/MM/YYYY') AS TIC_RESOLU_AGGR,

Et utiliser ce champ pour ton aggrégation. L'aggrégation te permet de calculer par regroupement. Or si tu laisse les heures et les minutes ça ne peut pas marcher.


Kevin

ab92
Creator II
Creator II
Author

Très bien donc une fois que j'ai effectué ce champs sur mon expression que dois je changer dans la formule initiale a part le nom du champ :

=aggr(Count({$ <TIC_SUPPRIME-= {'1'}>}TIC_SUPPRIME)/Count(TIC_ID),TIC_RESOLUAGGR)

Par ce que cette formule ne fonctionne pas ...

Le champ m'affiche 1

kevinchevrier
Partner - Creator III
Partner - Creator III

Peux-tu partager ton application ?

Si non, je ne comprends pas ton problème.

Kevin

ab92
Creator II
Creator II
Author

Je m'excuse si il te manque des éléments, pour des raisons de confidentialité, je ne pourrai pas te donner l'application..

Si quelqu'un a une réponse se serait super en vous remerciant d'avance ..

N'hésitez pas si vous avez des questions

christophebrault
Specialist
Specialist

Bonjour,


Pour plus de facilité, sépare tes dates et tes heures dans les champs. la fonction floor() et Hour() te fait ça.

Ja rajoute dans ta table en gras les champs que tu veux pour le calcul du nombre de résolu dans la journée sur le total de ticket créé



TICKETS:
LOAD
entities_id  AS @TIC_ENTITE_ID,
id AS @SATIS_ID,
id AS @TIC_TAC__TECH_ID,
id AS @TIC_UTIL_ID,
id AS TIC_ID,
entities_id AS TIC_ENTITE_ID,
name AS TIC_NOM,
users_id_lastupdater AS TIC_USERS_ID_LASTUPDATER,
status AS TIC_STATUS,
is_deleted AS TIC_SUPPRIME,
solvedate - date AS TIC_DUREE,
content AS TIC_COM_RETOUR,

DATE(date, 'DD/MM/YYYY HH:mm:ss') AS @CAL_DATE,
DATE(date, 'DD/MM/YYYY HH:mm:ss') AS TIC_CREE,
DATE(closedate, 'DD/MM/YYYY') AS TIC_FERME,

DATE(Floor(date) as DateCréation,

if(Floor(solvedate)=Floor(date)),1,0) as Flag_Resolu_Day,
DATE(solvedate, 'DD/MM/YYYY HH:mm:ss') AS TIC_RESOLU,
DATE(date_mod, 'DD/MM/YYYY') AS TIC_DATE_MOD,

Year(date) AS TIC_ANNEE_CREATION,
Month(date) AS TIC_MOIS_CREATION,
Num(Day(date)) AS TIC_JOUR_CREATION,
Num(weekday(date)) AS TIC_JOURSEMNUM_CREATION,

if(isnull(date),'Sans date de création',if (isnull(solvedate),'Non Résolu',if (solvedate - date<1, 'Traité en 1 Journée', if (solvedate - date<2, 'Traité entre 1 et 2 jours', 'Traité entre 2 jours et +')))) AS TIC_TRAITEMENT,
if(is_deleted=0,'Conservé','Supprimé') AS TIC_TYPE


Dans ton graph, en dimension DateCréation et pour l'expression :


Count(distinct {$<Flag_Resolu_Day={1}>}TIC_ENTITE_ID)/Count(distinct TIC_ENTITE_ID)

Inscrivez vous à ma Newletter Qlik
DoNotMissQlik- Connect with me on Linkedin
ab92
Creator II
Creator II
Author

Bonjour Christophe après avoir testé je comprends pas ta formule pour le coup je suis parvenu a afficher ce que je souhaitais en réalisant cette expression :

=sum(TIC_RESOLU_1_JOURNEE)/sum(SOMME_TIC_RESOLUS)*100

Cela me donne le bon résultat, j'ai vérifier avec plusieurs résultats.

ar ailleurs, par curiosité j'ai essayé de tester ta version mais elle ne fonctionne pas, la deuxième ligne est souligné en rouge.

La syntaxe n'est pas accepter peut être il doit peut être manquer une parenthèse ou virgule ..

if(Floor(solvedate)=Floor(date)),1,0) as Flag_Resolu_Day,


Count(distinct {$<Flag_Resolu_Day={1}>}TIC_ENTITE_ID)/Count(distinct TIC_ENTITE_ID)

S'il serait possible juste de m'expliquer ce que fait ces lignes se serait super en te remerciant d'avance de ton aide Bonne fin de journée,

Axel .