Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Tableau croisé : afficher uniquement les valeurs inexistantes

Bonjour la communauté

J'ai un tableau qui me permet d'afficher, pour un parc informatique, le nb de produits par type et par site de localisation.

Je cherche à n'afficher que les anomalies de parc.

Par exemple, afficher tous mes sites qui n'ont pas de serveur : quantité = 0.

je suppose que je dois passer par la limite dimensionnelle, mais comment écrire ma dimension ?

J'ai testé avec une dimension =count({<TYPE={'SERVEUR'}>} Num_Serie)

et limite dimensionnelle = afficher uniquement les valeurs inférieur à 1, montant exact

ça ne me donne rien : je n'ai pas de ligne avec une quantité à 0, alors que je sais que ce cas existe (vérifier dans Excel).

Avez vous une solution ?

Merci

21 Replies
brunobertels
Master
Master

Je n'avais pas de Champs CLIENT dans ton modèle de donnée

uniquement ceci :

Si tu as une base avec des Clients en plus , est ce que tu pourrais déposer un exemple ou un fichier excell car ce ne devrait pas poser de problème :

la formule marche même en ajoutant des champs comme ci dessous Site Nom Adresse Ville et Nombre de Serveur

Anonymous
Not applicable
Author

Je n'avais pas mis cette table car je ne pensais pas avoir de pb avec elle...

J'ai mis en PJ une copie de mon modèle, simplifié, mais complet pour le besoin ici.

sur l'onglet Feuil1, il y a les 2 tableaux que je veux paramétrer.

Le premier, c'est ok.

Mais c'est le 2ème le plus important : je ne veux vraiment pouvoir ressortir que les sites qui n'ont pas de serveur.

J'ai fait un tableau avec tous les sites et le nb, c'est illisible, nous avons plus de 3000 sites.

Merci encore une fois

Not applicable
Author

Je pense que le plus simple est de modifier le script pour ajouter le nombre de serveurs dans la table "sites".

Et une table Sites 

SITENomAdresseVilleNb de serveurs
1SITE 1Ad 1BREST1
2SITE 2Ad 2PARIS0
3SITE 3Ad 3LYON2
4SITE 4Ad 4RENNES1
5SITE 5Ad 5LILLE0

Un ApplyMap qui remplace les Nulls par des Zéros devrait suffire. Si ça te convient comme solution et si besoin on pourra poster un exemple.

Xavier.

Anonymous
Not applicable
Author

J'y ai pensé, mais le script deviendrait beaucoup trop lourd : je dois faire cette gestion d'anomalie pour divers types de produits (switch, poste de travail, téléphonie...), pour un parc de près de 200 000 produits (sans compter les historiques de localisations, qui m'amènent facilement au million).

Not applicable
Author

Bonjour Ulrich,

Une autre possibilité a étudier :

- Rajouter une colonne avec un aggrégat quelconque comme montré ci-dessous.

- Puis masquer cette nouvelle colonne (QlikView doit le permettre, contrairement à QlikSense 1.1)

- Comme proposé par Bruno : limiter l'affichage (de la dimension "nom") aux valeurs du nb de serveurs< 1 (QlikView doit le permettre aussi)


Capture.PNG

Xavier.

Anonymous
Not applicable
Author

Bonjour Xavier

Malheureusement, tu peux activer ou non une expression, mais désactivée, elle n'est plus utilisée, donc ça ne fonctionne pas.

Je creuse une autre solution, qui sera plus lourde à l'usage, mais permettra au moins d'avoir les résultats.

Un tableau avec mes dimensions Client et Site, avec une expression qui me calcule le nb de configurations totales (1 UC/portable + 1 écran + 1 imprimante = 1 poste de travail, un champ avec la même valeur fait le regroupement ; idem pour le serveur).

ça revient à ta solution, hormis que j'affiche cette expression.

Pour utiliser une limitation dimensionnelle, il faut que ton expression devienne une dimension, et là je reviens à mon pb de dimension client qui ne s'affiche pas.

brunobertels
Master
Master

Bonjour

J'arrive à ce résultat en ayant ajouté ta base client à mon modèle exemple :

Je pense que ce tableau te conviendrai : tu as bien QUE LES SITES avec les CLIENTS associés qui n'ont pas de serveur et çà les compte bien

MAIS J'ai essayé de reproduire ce tableau ci dessus  à partir de ton fichier excell en exemple qui est le même que le mien mais cette fois j'obtiens çà :

Et la le tableau ne fonctionne plus du tout et c'est incompréhensible pour moi c'est le même modèle de données avec les mêmes liens

Enfin désolé mais je n'arrive pas attaché mon fichier .qvf je ne vois pas de lien de téléchargement de fichier uniquement ajout de photo ou video

Bruno

Anonymous
Not applicable
Author

Bonjour Bruno

Utilise l'éditeur avancé pour joindre un fichier : tu auras un lien en bas à droite.

Je me suis mis sur un autre dossier, je tournais en rond, je reprendrai semaine prochaine, avec des idées plus claires.

Merci à vous 2.

Not applicable
Author

Bonjour Bruno,

Je n'avais pas réussi à obtenir le premier résultat avec ta solution en nullcount. Peux-tu poster tes deux applications ? Ça m'intrigue et j'ai envie de creuser.

Merci,

Xavier.

mambi
Creator III
Creator III

Bonjour,

si tu veux obtenir la 2 eme solution cad :

NomNb serveurs
SITE 11
SITE 20
SITE 32
SITE 41
SITE 50

il suffit de créer un tableau croisé dynamique avec le champ "Nom" comme dimension et  Count({<Type={'Serveur'}>}Type)  comme expression mais en cochant les cases : Supprimer si la valeur est nulle et Afficher toutes les valeurs dans l'onglet dimension et puis dans l'onglet Présentation décocher supprimer les valeurs nulle.

Une autre solution :

il suffit de créer un tableau croisé dynamique avec le champ "Nom" comme dimension et  if(Count({1<SITE=e(SITE)>}SITE),0)   comme expression. NE PAS COCHER les cases : Supprimer si la valeur est nulle et Afficher toutes les valeurs dans l'onglet dimension et puis dans l'onglet Présentation décocher supprimer les valeurs nulle. maintenant à chaque fois que tu fais une sélection dans le champ "type" tu as l'information dans le tableau suivant ta selection.