Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
fred_randon
Contributor III
Contributor III

Utilisation d'un champs calculé

Bonjour,

j'ai créé une table en y ajoutant un champs calculé ("Perdus"), cette table étant issue d'un table déjà chargée.

Je constate bien la création de ce champs, j'ai vérifié les données qu'il contient et le nombre de données de type '1' et '0' et tout va bien.

Or, lorsque je cherche à faire une somme sur ce champs pour calculer le nombre d'appels perdus, j'ai systématiquement 0 comme résultat. si je fais un count c'est pareil. Je ne comprends absolument pas pourquoi. Pouvez vous m'aider s'il vous plait?

Voici le détail :

Data_plus:

load

if(dstchannel='' and lastapp= 'Queue',num(1),num(0))as Perdus,

...

...

id_calltype

resident fonisk_data;

merci par avance.

FR

1 Solution

Accepted Solutions
flochi75
Creator III
Creator III

je ne sais pas si c'est uniquement lié à ça, mais ton titre de champ "perdus" s'écrit en fait "Perdus"...

J'ai corrigé l'expression et ça donne ça :

Capture.PNG

Florent

View solution in original post

14 Replies
flochi75
Creator III
Creator III

Bonjour Frédéric,

pourquoi utilises tu 'num(1)' ?

essaie plus simple :

if(len(dstchannel)=0 and lastapp='Queue', 1,0) as Perdus

(je préfère calculer une longueur de champ = 0 plutot que de de chercher les champs vides...)

Florent

fred_randon
Contributor III
Contributor III
Author

Tiens, salut Florent ,

J'utilise num(1) car sans cela, un export sous excel de mon tableau résultat m'a convaincu que les valeurs remontées étaient des valeurs stockées sous forme de texte. En cherchant un peu, cette fonction m'est apparue comme celle qu'il me fallait pour obtenir une valeur numérique.

En appliquant la formule que tu proposes, c'est toujours une valeur texte (après export sous excel...).

Ceci dit, je débute en qlikview et je ne sais absolument pas si qw est capable ou non de déterminer que 1 doit se comprendre comme une valeur numérique dans tous les cas.

Néanmoins, pas moyen de faire une somme de cette valeur dans les deux cas grrrrrr....

brunobertels
Master
Master

Bonjour

Pourquoi pas simplement :

if(dstchannel='' and lastapp= 'Queue',1,0)as Perdus,

Bruno

flochi75
Creator III
Creator III

Bonjour Bruno,

je ne sais pas pourquoi, mais suivant la source (ou le format des données de départ...), le '='' ' ne fonctionne pas toujours chez moi...

Florent.

fred_randon
Contributor III
Contributor III
Author

Bonjour Bruno,

en fait quelque soit la formule utilisée, celle de départ, celle de Florent, le champs est bien rempli.

C'est l'utilisation du champs qui pose problème.

flochi75
Creator III
Creator III

je n'ai pas de pb avec excel...

Pourquoi tu parles d'export ?

tu fais bien ton count(Perdus) dans Qlikview ?

fred_randon
Contributor III
Contributor III
Author

j'ai réalisé un export depuis qlikview lorsque je me suis aperçu que l'expression sum(perdus) ne fonctionnait pas et me ramenait 0.

Donc l'export vers excel me servait uniquement de contrôle pour vérifier le type de données : texte ou numérique.

Comme j'ai pu constater que la donnée était de type texte, c'est la raison pour laquelle j'ai utilisé la fonction num() dans le script pour être certain d’obtenir du numérique, car sans cela je me doutais que la somme ne pourrait pas fonctionner.

Pour résumer j'ai bien des valeurs numériques 0 et 1 mais l'expression sum(perdus) reste désespérément à 0.

je peux te donner un accès au qvw si c'est plus simple pour toi? le temps de trouver comment on fait...

mambi
Creator III
Creator III

c'est plus simple si tu peux nous donner accès au qvw.

flochi75
Creator III
Creator III

oui, s'il te plait...