Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Somme en excluant (retraitant) des données

Bonjour,

J'ai une table sous cette forme :

Réf N°DOC Ventes HT

xxx 7xxxx xxxx

xxx Exxxx xxxx

xxx BCxxx xxxx

xxx BTxxx xxxx

xxx 45xxx xxxx

Les 7xxx correspondent à des factures en HT

Les Exxx correspondent à des échantillons qui peuvent être soit offerts soit facturés

Les BC et BT représentent des bons de Livraisons que les clients nous paient en TTC (La valeur est donc à diviser par 1.2 pour avoir le montant HT correct)

Les 45xxx correspondent simplement à des offres de prix (Donc à ne pas tenir compte lors du calcul de la somme totale)

Mon souhait est de faire dans mon graphe une somme des Ventes HT, en excluant les 45xxx, en mettant à jour la division par 1.2 des docs qui commencent par BC ou BT.

Je souhaite faire une somme des ventes HT uniquement des documents commençant par BC ou BT et que ça a apparaisse dans un coin à part

Je souhaite faire une somme des ventes HT uniquement des documents commençant par Exx pour savoir combien nous avons facturé d'échantillons.

Merci infiniment pour votre aide.

4 Replies
kevinchevrier
Partner - Creator III
Partner - Creator III

Bonjour,

Voici comment je procéderais :

1) Dans ton script :

LOAD

Réf,

N°DOC,

[Ventes HT] as VENTES,

IF(Mid(N°DOC,1,2)='BC' OR Mid(N°DOC,1,2)='BT', ([Ventes HT] / 1.2),[Ventes HT]) as VENTES_HT,

Mid(N°DOC,1,1) as FILTRE_UNE_LETTRE,

Mid(N°DOC,1,2) as FILTRE_DEUX_LETTRES

FROM TA_TABLE

2) Dans ton graphique je ferai 3 expression en utiliserant les set analysis suivant :


- Mon souhait est de faire dans mon graphe une somme des Ventes HT, en excluant les 45xxx, en mettant à jour la division par 1.2 des docs qui commencent par BC ou BT :

=Sum({$ <FILTRE_DEUX_LETTRES-= {'45'}>} Ventes_HT)



- Je souhaite faire une somme des ventes HT uniquement des documents commençant par BC ou BT et que ça a apparaisse dans un coin à part

=Sum({$ <FILTRE_DEUX_LETTRES= {'BC','BT'}>} Ventes_HT)

Ps: Si tu veux le résultat dans un "coin à part", tu peux utiliser un objet texte et y mettre ta formule.


- Je souhaite faire une somme des ventes HT uniquement des documents commençant par Exx pour savoir combien nous avons facturé d'échantillons.

=Sum({$ <FILTRE_UNE_LETTRE= {'E'}>} Ventes_HT)

Kevin

kevinchevrier
Partner - Creator III
Partner - Creator III

Ps : j'ai fait une petite modification donc n'utilises pas les formules que tu auras dans le mail mais bien celles qui sont sur le site.

sfatoux72
Partner - Specialist
Partner - Specialist

Sans modifier le script de chargement :

Mon souhait est de faire dans mon graphe une somme des Ventes HT, en excluant les 45xxx, en mettant à jour la division par 1.2 des docs qui commencent par BC ou BT.

=Sum({$ <[N°DOC]={'BC*', 'BT*'}>} [Ventes HT])/1.2 + Sum({$ <[N°DOC]={'7*', 'E*'}>} [Ventes HT])

Je souhaite faire une somme des ventes HT uniquement des documents commençant par BC ou BT et que ça a apparaisse dans un coin à part

=Sum({$ <[N°DOC]={'BC*', 'BT*'}>} [Ventes HT])/1.2

Je souhaite faire une somme des ventes HT uniquement des documents commençant par Exx pour savoir combien nous avons facturé d'échantillons.

=Sum({$ <[N°DOC]={'E*'}>} [Ventes HT])

C'est  mieux de modifier le script de chargement, surtout pour appliquer la conversion (divisé par 1.2) pour les BT* et les BC* afin d'avoir de vrai montant HT, mais dans ce cas, je trouve plus simple de catégoriser directement les types de ventes plutôt que de créer les deux champs de filtre.

LOAD

    Réf,

    [N°DOC],

    [Ventes HT] as VENTES,

    If(WildMatch([N°DOC], 'BC*', 'BT*') > 0, ([Ventes HT] / 1.2), [Ventes HT]) as VENTES_HT,

    If(WildMatch([N°DOC], 'BC*', 'BT*') > 0,

        'Bon de livraison',

        If(WildMatch([N°DOC], '7*') > 0,

            'Facture',

            If(WildMatch([N°DOC], 'E*') > 0,

                'Echantillon',

                If(WildMatch([N°DOC], '45*') > 0,

                    'Offre',

                    'Inconnu'

                )

            )

        )

    ) as [TYPE VENTES]

FROM TA_TABLE

Du coup les expression sont les suivantes:

Mon souhait est de faire dans mon graphe une somme des Ventes HT, en excluant les 45xxx, en mettant à jour la division par 1.2 des docs qui commencent par BC ou BT.

=Sum({$ <[TYPE VENTES]-={'Offre'}>} [Ventes HT])

Je souhaite faire une somme des ventes HT uniquement des documents commençant par BC ou BT et que ça a apparaisse dans un coin à part

=Sum({$ <[TYPE VENTES]={'Bon de livraison'}>} [Ventes HT])

Je souhaite faire une somme des ventes HT uniquement des documents commençant par Exx pour savoir combien nous avons facturé d'échantillons.

=Sum({$ <[TYPE VENTES]={'Echantillon'}>} [Ventes HT])

kevinchevrier
Partner - Creator III
Partner - Creator III

Saad,

As-tu réussi ?

Kevin

----------------------------------------------------------------------------------------------------------------------------------

Si la réponse apportée a permis de résoudre votre problème merci de marquer celle-ci comme RÉPONSE CORRECTE. Cela aidera la communauté et les employés de Qlik à savoir quelles sont les discussions qui sont toujours en cours et celles qui ont une solution à un problème. Merci de marquer la réponse comme étant UTILE si celle-ci vous a aidé sans nécessairement apporter la solution. Cela peut indiquer des pistes de recherches pour d'autres personnes dans ton cas.