Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour tout le monde,
Je bloque sur un problème de comparaison de CA entre deux année glissantes dans un tableau. Je veux un résultat qui prendrai cette forme :
| Mois | CA Mensuel | CA Cumule | CA Mensuel A-1 | CA Cumule A-1 | Evolution CA Mensuel |
| mars 2026 | 500,00 € | 500,00 € | 750,00 € | 750,00 € | 50% |
| févr. 2026 | 800,00 € | 1 300,00 € | 1 200,00 € | 1 950,00 € | 50% |
| janv. 2026 | 950,00 € | 2 250,00 € | 1 200,00 € | 3 150,00 € | 26% |
| déc. 2025 | 300,00 € | 2 550,00 € | 300,00 € | 3 450,00 € | 0% |
| nov. 2025 | 200,00 € | 2 750,00 € | 300,00 € | 3 750,00 € | 50% |
| oct. 2025 | 20,00 € | 2 770,00 € | 20,00 € | 3 770,00 € | 0% |
| sept. 2025 | 5 000,00 € | 7 770,00 € | 100,00 € | 3 870,00 € | -98% |
| août 2025 | 320,00 € | 8 090,00 € | 5 016,00 € | 8 886,00 € | 1468% |
| juil. 2025 | 2 123,00 € | 10 213,00 € | 20,00 € | 8 906,00 € | -99% |
| juin 2025 | 21,00 € | 10 234,00 € | 31,50 € | 8 937,50 € | 50% |
| mai 2025 | 2 153,00 € | 12 387,00 € | 3 229,50 € | 12 167,00 € | 50% |
| avr. 2025 | 20 503,00 € | 32 890,00 € | 30 754,50 € | 42 921,50 € | 50% |
J'ai tenté en set Analysis des expressions du type :
Sum(
{<
Date = {">=$(=AddMonths(Max(Date),-11))<=$(=Max(Date))"
}>}
CA)
et l'équivalent sur la plage de dates N-1 mais rien n'y fait.
Je m'en sort parfaitement quand je travail sur l'année civile mais cette fichue répartition de données sur deux années avec les années glissantes fiche le bazard.
Merci d'avance à vous.
Hello la communauté
On vous a posé la question des centaines de fois mais je ne trouve pas de sujet connexe (et c'est parce que je ne sais pas chercher sans doute ...)
Pour faire simple j'ai une table qui contient
- des ID
- des groupes
- des segments
- un nombre de coupons envoyés
- un nombre de coupons retournés
Et je fais un taux de retour (nombre de coupons retournés / nombre de coupons envoyés
Ca, ça fonctionne,
Après j'ai une note qui s'attribue selon les segments
Pour le segment 1
- si le taux de retours est inférieur à 0,15 j'ai 0
- si le taux de retours est inférieur ou = à 0,30 (mais supérieur à 0,15) j'ai 5
- si le taux de retours est supérieur à 0,30 j'ai 10
Et pour le segment 2
- si le taux de retours est inférieur à 0,40 j'ai 0
- si le taux de retours est inférieur ou = à 0,60 (mais supérieur à 0,30) j'ai 5
- si le taux de retours est supérieur à 0,60 j'ai 10
et là, je n'ai pas de total (enfin de moyenne) pour l'ensemble des groupes ,,,
Et c'est ce que je cherche à faire ...
donc, mon code de chargement de test :
BASE :
LOAD * INLINE [
Id, Groupe, Segment, Coupons_servis, Retours
1, 1, 1, 51, 23
2, 1, 2, 25, 11
3, 1, 1, 0, 0
4, 2, 2, 18, 12
5, 2, 1, 17, 6
6, 2, 1, 0, 0
]
;
Mes mesures
RETOURS sum(Retours)
ENVOIS sum(Coupons_servis)
TX_Retour IF(ENVOIS = 0, 0, RETOURS / ENVOIS)
NOTE If(Match(Segment, 1) AND TX_Retour < 0.15, 0,
If(Match(Segment, 1) AND TX_Retour <= 0.30, 5,
If(Match(Segment, 1) AND TX_Retour > 0.30, 10,
If(Match(Segment, 2) AND TX_Retour < 0.40, 0,
If(Match(Segment, 2) AND TX_Retour <= 0.60, 5,
If(Match(Segment, 2) AND TX_Retour > 0.60, 10, Null()))))))
Dans les totaux (NOTE) je voudrais un truc genre 8,75 (ou 5,83 parce que si j'ajoute les ID j'ai 6 lignes)
Merci de votre expertise 🙂
Bonjour,
Je cherche à créer un bouton qui définirait l'action d'une variable avec un travail sur les dates.
Il me faudrait une vision LTM (last twelve months) et une année calendaire. Grâce au bouton, mes données affichées passeraient donc d'une période à l'autre.
J'ai essayé de travailler autour du champ Delivery_date mais j'ai du mal à rendre le résultat fiable, notamment côté LTM. Dans l'idéal, j'aimerais consolider le tout à l'aide d'un set analysis.
Savez-vous comment m'aider?
Merci
Bonjour,
J'ai un stacked bar chart qui contient deux dimensions. La première est le scope qui peut s'apparenter à une catégorie A, B, C etc par exemple. La deuxième est la Phase qui peut s'apparenter à un status, 'run', 'pending', etc
Et la mesure utilisée compte le nombre de control :
count(distinct{<[Control Référence] -= {null, 'NA'} > } Name)
Ce que j'essaie de faire, c'est de ne pas afficher les barres dans leur totalité qui ne possèdent pas de control en 'run'. Donc si j'ai une barre qui a les phases 'pending' et 'creation', je ne dois pas afficher cette barre car elle ne possède pas de 'run'
Merci d'avance
Bonjour,
J'ai un indicateur qui cherche la plus petite valeur d'une mesure_A entre 2008 et maintenant (format Annee_Mois) avec la formule suivante :
=Min(Aggr(Sum({<Annee_Mois={">=$(vStartDate) <=$(vAnneeMois)"}, [#mesure_A ]-={0}>}[#mesure_A ]), Annee_Mois ))
Sur ma visualisation l'utilisateur à la possibilité de filtrer par DESTINATION, REGION et DEPARTEMENT.
Ma formule fonctionne correctement.
L'utilisateur souhaite que j'affiche l'annee_mois qui correspond à cette plus petite valeur. Sur la capture d'écran cela correspond à l'indicateur B entouré en vert. Si l'utilisateur a sélectionné une DESTINATION, une REGION et un DEPARTEMENT, le résultat est correct car je suis au niveau le plus bas de mon regroupement.
Par contre si l'utilisateur ne sélectionne pas de département mon résultat n'est plus bon. Je sais que c'est l'expression pour trouver cette année_mois ou ma mesure est la plus basse qui ne fonctionne pas mais je n'arrive pas à trouver la bonne écriture.
Ma formule B pour trouver l'annee_mois :
ONLY({<[#Mesure_A]={$(vPointBas2002_Autorisé_12M)}>}Annee_Mois_Libelle)
Ma variable "vPointBas2002_Autorisé_12M" est le résultat de l'expression que j'utilise pour calculer mon point le plus BAS : =Min(Aggr(Sum({<Annee_Mois={">=$(vStartDate) <=$(vAnneeMois)"}, [#mesure_A ]-={0}>}[#mesure_A ]), Annee_Mois )) .
Il faudrait que je remplace dans ma formule B l'élèment [#Mesure_A] par la formule d'aggrégation suivante :
Aggr(Sum({<Annee_Mois={">=$(vStartDate) <=$(vAnneeMois)"}, [#mesure_A ]-={0}>}[#mesure_A ]), Annee_Mois ) mais je n'arrive pas à trouver comment l'écrire sans erreur.
Auriez vous une idée de la bonne syntaxe ?
Merci d'avance pour votre aide !
Bonjour,
Je suis nouvelle sur Qlik et j'aurai besoin de votre aide.
Dans mon modèle, j'ai créé un table de fait de type creuse réunissant les données de deux tables différentes, ma table A dont la dimension temps est au niveau Annee_Mois et une table B dont la dimension temps est au niveau trimestre.
J'ai crée ensuite deux tables de type calendrier, une avec une clé "Anne_Mois" pour faire le lien avec les données de la table de fait issues de la table A et une avec une cle "Trimestre_Code" pour faire le lien avec les données de la table de faits issues de la table B.
Première question, est ce que créer deux tables de dimension calendrier est la bonne méthode quand les données de type temps ne sont pas au même niveau de granularité ?
Qlik me génère une référence circulaire entre les deux tables calendriers au niveau de plusieurs champ qui ont les mêmes noms dans les deux tables : [ANNEE] et [TRIMESTRE_LIBELLE]. Pour supprimer la référence circulaire j'ai décidé de renommer les champs de la table calendrier (celle avec la granularité trimestre) en intégrant dans le nom des champs la source des données (ex : VENTE_TRIMESTRE_LIBELLE).
J'aimerai également savoir si c'est la bonne méthode.
Merci d'avance pour votre aide
Sandrine
Bonjour,
Je dois calculer le point le plus bas d'un ensemble de données pour différentes mesures entre 2002 et maintenant.
J'ai trois volets de filtres : DESTINATION, REGION et DEPARTEMENT
Appelons MESURE_A, une des mesures que je dois calculer
Quand l'utilisateur sélectionne une DESTINATION, une REGION et un DEPARTEMENT le calcul se fait correctement.
La définition de ma variable que j'appelle dans mon KPI : =Min({<Annee_Mois={">$(vStartDate) < $(vAnneeMois)"}, [# MESURE_A]-={0}>} [# MESURE_A])
(vStartDate = 200201, vAnneeMois=202507 - j'enlève également les valeurs à 0 pour le calcul du minimum)
Par contre si l'utilisateur sélectionne une DESTINATION et une REGION le calcul ne fonctionne plus car il continue à chercher le point le plus bas dans les données au niveau des différents départements en lien avec la région au lieu de chercher dans le cumul de tous les département de la région sélectionné. Même problème si l'utilsateur sélectionne une destination particulière sans sélectionner de région et de département.
D'un point de vue base de données je comprend que le GROUP BY en fonction des sélections faites par l'utilisateur n'est pas le même par contre je ne vois pas comment définir ma variable pour tous les cas de figures (Sélection d'une DESTINATION seule, d'une région seule ou d'un département seule).
Une solution pour moi serait de tester quel(s) volet(s) de filtre est(sont) sélectionné(s) et en fonction appeler une variable différentes qui tiendrait compte du regroupement nécessaire.
Est-ce qu'il existe une solution plus simple avec les set analysis ?
Merci d'avance pour votre aide.
Bonjour,
J'ai un graphique en courbes avec des dates au format (annee_mois) allant de 200201 à aujourd'hui et deux mesures.
Je souhaite visualiser ma courbe en intégralité sans avoir besoin de me déplacer avec une barre de défilement. Pour cela j'ai utilisé l'option "Echelle continu" de la propriété de l'axe des abscisses. Le résultat ne semble pas correct car je perd mes années_mois sur mon axe des abcisses et je pense qu'il fait des regroupements.
Je joins le graphique de départ en mode continu avec la barre de défilement et le résultat quand je sélectionne l'option "Echelle continu".
J'ai l'impression que le problème vient de mon format année mois qui est du numérique mais je ne sais pas comment faire différemment.
Merci d'avance pour votre aide
Bonjour,
Je cherche à soustraire les valeurs de 2024 et 2025 dans une colonne
Pour une lecture facile, les dimensions (année et mois) sont horizontales et non verticales
J'ai tenté les états alternatifs mais cela ne correspond pas.
Merci à la communauté
Bonjour,
Je cherche à faire un Set Analysis sur un de mes graphiques.
Actuellement j'ai une expression qui me retourne la semaine précédente par rapport à aujourd'hui : Semaine={'$(=weekname(today()-7))'}. => '2025/34' si nous sommes en S35.
Je cherche à avoir la S-1 en fonction de ma sélection dans le champ semaine. J'ai pensé à quelque chose comme : Semaine= {'$(=GetFieldSelections(Semaine)-1)}' mais cela ne fonctionne pas.
Si vous avez une idée je suis preneur.
Merci d'avance et bonne journée
Bonjour à tous,
J'ai un rôle de Key User sur une application Qlik et je veux essayer de créer un nouveau KPI. J'ai accès à une Base de Données sur le Transport.
J'aimerais créer un KPI qui me permet d'évaluer la performance des lieux de transits.
Ma base de données s'organise de la façon suivante (voir photo)
Pour se faire voici mon idée à travers cet exemple:
Je fais ce KPI via un graphique en barre, en dimensions je mets les valeurs des shaiShipToName.
En mesure, je veux avoir la moyenne en heure de transit pour la même TR entre eux de Shai qui se suivent. Autrement dit, si on prend l'exemple cité plus haut, je veux avoir la différence entre la TR A shai 1 avec le statut 'SHIPMENT_DELIVERED' et la TR A shai 2 avec le statut 'SHIPMENT_PICKUP_COLLECTED'. Bien sûr je calcule la performance de transit des marchandise sur le même lieu, ici Paris.
Tous les champs dates sont sous ce format, je ne sais pas si ils sont réellement sous le format timestand ou si c'est juste du texte comme je n'ai pas accès à la donnée derrière.
Bonjour,
Dans deux tables j'ai deux valeurs distinctes :
--> AnneeClient : année de création de ma fiche client
--> DateFacture.autoCalendar.Year : Année de mes factures
Expression qui me pose problème :
sum({<AnneeClient={2024}>} TotalPied)
Comment remplacer la valeur {2024} par la valeur [DateFacture.autoCalendar.Year].Le champs année de ma date facture est selectionné dans un Volet filtre.
L'objectif est de connaitre uniquement le CA des clients créés sur l'année sélectionnée
Merci
Bonjour,
j'ai une liste de logs dune part dans une table der_connection contenant une date et un ID (l'ID peut se répéter, pas la date). Lié à la liste_membres par l'ID.
j'arrive à compter les membres qui se sont connectés, et en faisant une mesure telle que :
Count(if(desactive='Non',id))
je peux représenter en graphique en barres le nombre de connexions par jour.
j'aimerais pouvoir afficher dans un KPI le nombre de jours où le nombre de connexions quotidiennes a dépassé un seuil donné (500 par exemple) mais aucune idée de la façon de s'y prendre.
je suis preneur de vos idées. merci !
Bonjour à tous,
Je suis nouveau sur Qlik et je cherche à ajouter l’option "Dupliquer" pour l'
administrateur en l’incluant dans le rôle RootAdmin.
Cependant, je ne trouve pas cette option parmi les actions disponibles (voir capture ci-dessous).
Pouvez-vous m’aider à comprendre comment afficher ou activer cette option de duplication ?
NB : Je sais qu’il est possible de dupliquer une application via l’onglet Apps dans le QMC, mais je cherche à le faire directement dans Qlik Sense, sans passer par le QMC.
Merci d’avance !
Bonjour,
J'essaie de faire un graphique en barre avec des range de date "today-7d", "8d-14d" etc. La problématique que je rencontre c'est que lorsque j'applique un filtre, si la barre est égal à 0, la range disparait du graphique alors que je souhaiterais qu'elle apparaisse tout de même.
Merci d'avance pour vos réponses
Bonjour à tous,
Dans un graphe, où figure le nombre d'incidents par mois, comment afficher les mois qui n'ont pas de mesure (d'incident).
Exemple :
Janv 3 incidents
Fevrier 1 incident
Avril 4 incidents
comment avoir Mars 0 incident sans creer cette ligne dans la table des incidents ?
Sachant que mes abscisses sont les An et Mois d'incidents et les ordonnées le nombre d'incidents
Merci
Bonjour,
Mon pb: Certaines données semblent disparaître dans l'interface lorsque je les affiche dans un objet de type table ou grpah de type table, alors qu'elles sont bien chargées et visibles dans l'aperçu de cette table dans le visonneur de données.
Mes données (que j'ai bcp simplifiées car le script est ++ compliqué que ça):
3 tables sources: CALENDRIER (date), EVENEMENT (id_evt; date; catégorie) et CIBLE (période, catégorie, nb_cible).
Dans calendrier, j'ai toutes les dates 2025.
Dans evenement, j'ai 5 lignes :
' evt1','10/02/2025','categorie1'
' evt2','25/03/2025','categorie1'
' evt3','13/01/2025','categorie2'
' evt4','08/02/2025','categorie2'
' evt4','19/03/2025','categorie2'
et dans Cible, j'ai une ligne par période et par catégorie:
'categorie1','01/01/2025','3'
'categorie1','01/02/2025','8'
'categorie1','01/03/2025','1'
'categorie2','01/01/2025','12'
'categorie2','01/02/2025','1'
'categorie2','01/03/2025','5'
Mon script:
CALENDRIER :
load
date,
month(date) as mois,
monthname(date) as période,
year(date) as année
resident Calendrier_tmp;
EVENEMENT:
load distinct
id_evt,
date,
autonumberhash128(categorie,monthname(date)) as cle_cible,
categorie as categorie_evt
resident Evenement_tmp;
CIBLE:
load distinct
autonumberhash128(categorie,monthname(date)) as cle_cible,
categorie,
periode as periode_cible,
nb_cible
resident Cible_tmp;
drop tables Calendrier_tmp,Evenement_tmp; Cible_tmp;
Je me suis assurée que les dates sont au même format, les périodes également (des autonumbrehash sur chacune de ces données donnent bien des valeurs identiques), les libellés de catégories aussi.
Lorsque je charge le script, je vois bien l'ensemble des valeurs dans l'aperçu de chacune des3 tables depuis le visonneur de tables.
Mais lorsque je crée un objet table dans l'interfaçe, la catégorie 1 pour le mois de janvier n'apparaît pas (1 valeur dans CIBLE, mais aucune valeur dans EVENEMENTpour cette période). Ca ne fonctionne pas non plus avec des ste analysis pour forcer la sélection ( sum({$<categorie="*'}>}nb_cible) ; ou alors sum({$<cle_cible="*'}>}nb_cible) ) .
J'ai tenté bien sûr un left join
CIBLE:
load distinct
autonumberhash128(categorie,monthname(date)) as cle_cible,
categorie,
periode as periode_cible,
nb_cible
resident Cible_tmp;
left join distinct
cle_cible
resident EVENEMENT;
ou encore
left join distinct
cle_cible
count(distinct evt_cible) as nb_evt
resident EVENEMENT
group by cle_cible;
Les scripts se déroulent bien, mais rien à faire, je n'ai aucune valeur cible pour janvier 2025 pour la catégorie 1 dans mon objet table ou grah table CIBLE pour avoir dans un même tableau le nb d'id_evt et le nb_cible par catégorie et par période (dimensions: Période, Catégorie, nb_cible, nb_evt ; et si graph, expressions: sum(nb_cible) ou sum({$<cle_cible="*'}>}nb_cible) et count(distinct id_evt) ou sum(nb_evt) selon que j'ai calculé le nb_evt dans le script ou pas. Si je sélectionne catégorie 1 dans une liste de sélection, la période janvier 2025 de l'objet table CALENDRIER est grisée. C'est comme si la ligne de janvier pour la catégorie 1 disparaissait de la table cible, en l'absence de données pour cette catégorie en janvier 2025 dans la table EVENEMENT.
Si je copie ce script simple dans une autre appli test pour debuguer, ça fonctionne bien, mais pas dans mon appli source, qui charge bcp de données et dont le script est bcp + complexe.
Qu'est-ce que j'ai loupé ? avez-vous déjà rencontré ce pb, et comment l'avez-vous résolu ?
Merci d'avance pour votre aide .
Bonjour à tous,
J'ai créé une feuille sense avec les datas issues d une feuille excel depuis qqes jours et je viens de me rendre compte que depuis la création de feuille sense les nouvelles données d'excel ne remontent pas dans ma publication sense et je ne trouve pas d'erreur dans mon fichier de log que j'ai mis en pj.
Merci de votre aide
Bonjour
Utilisateur des versions serveur de QlikView depuis 2004 (V8 ! 8-)) puis un peu de QlikSense (OnPremise) avant mon départ retraite, je suis très attaché aux outils de cet éditeur que je trouve très puissants et pertinents dans plein de domaine d'activité.
Afin de "garder la main", j'ai commencé de créer une petite application de vidéothèque de tous mes films en DVD/BR ou sur disque Externe connecté à ma box. N'étant plus dans une entreprise j'ai donc utilisé l'Edition Personnelle de QlikView (que je préfère "techniquement" à Sense, et qui par ailleurs N'a PAS l'équivalent d'édition personnelle sauf si je me trompe...)
Par contre, afin de faciliter l'utilisation de cette petite application, j'aurais voulu la rendre accessible de ma SmartTV pour sélectionner les films depuis mon fauteuil de salon au lieu de me "fatiguer" à faire une consultation dans mon bureau ;8-)))
Comme on ne peut pas utiliser DIRECTEMENT QV sur la TV (enfin je ne vois pas comment cela serait possible...) mon idée était de créer un petit site Web sur mon serveur dans le bureau qui "intégrerait" l'application Qlik et que je pourrais accéder via une URL uniquement INTERNE à mon réseau (mode Intranet).
Question: Quelqu'un a-t'il déjà mis en oeuvre ce type de solution ? Si oui, quels en était les pré-requis et/où tips&tricks pour y arriver rapidement ?
NB : J'insiste encore que je sais que c'est possible avec une solution SERVEUR (je l'ai fait dans le cadre d'une appli dans mon entreprise précédente) mais que donc il faudrait que ce soit avec un QV Personal Edition....
Remerciant par avance toutes les personnes intéressées par ce sujet et les éventuelles solutions qui seront discutées.
Cdlmt
Bonjour à tous,
J'ai un soucis que je ne parviens pas à résoudre...
J'ai un TCD sur qlik qui se présente ainsi :
Mes données en rouge sont celles que je cherche à modifier, et qui ne sont pas juste car j'ai changé les chiffré des Nb candidat
Mes données sont issues d'une selection qui se nomme "sourcing" ou j'ai deux options "oui" ou "non".
Dans mon besoin je ne selectionne que les candidats présent dans "sourcing" -> "non"
De plus j'ai deux dimensions : Les régions, et l'item 'pré-qualification'
Concretement, j'ai besoin d'avoir le total du nom de candidat par pré qualification et par région = > ce que j'ai dans mon total
J'utilise l'expression : Count([Nom Prénom])
Ensuite j'ai besoin d'avoir le pourcentage du total du nombre de candidat par préqualification par région.
Hors mon tableau me calcul le pourcentage du total du nombre de candidat sur la globalité du nombre de candidat.
Voici mon expression : =Count([Nom Prénom])/Count(TOTAL [Sourcing])
Comment faire pour qu'il calcul mon pourcentage sur ma dimension Région tout en gardant le total global ?
Un immense merci (encore et toujours
) d'avance
Céline