1 Reply Latest reply: Oct 20, 2017 6:17 AM by Sanaa Merzak RSS

    Ajouter un filtre dans une agrégation

    Sanaa Merzak

      Bonjour,

       

      Je souhaite établir un état des anomalies liées aux commandes.

      En effet, chaque demande d'achat (DA ) est liée à une seule commande (CMD) , il se peut que les utilisateurs font des erreurs dans la création d'une commande , dans ce cas il annule cette dernière et crée une autre  ( chaque commande annulée a un statut : Annulé) .


      Dans certains cas, ils oublient d'annuler une des commandes et ce cas présente une anomalie que je dois ressortir dans une table.

       

      Pour résumé une anomalie est :

      Une demande d'achat qui est liée à plus d'une commande ( 2 ou plusieurs)  + Statut de (n-1) de ces commandes est différent de Annulé  ( il faut avoir une seule commande avec un statut différent de Annulé) .


      L'expression que j'ai crée dans ma table est la suivante:

       

      sum(
      aggr( if([Statut Commande] <> 'Annulé',
      if(count(distinct [Commande])<>1       ,
      count(distinct [Commande])))
        ,
      [Demande d'achat]
      ))


      mais il me retourne toutes les DA qui sont liées à plus d'une commande même ceux qui ne présentent pas d'anomalies.


      J'ai essayé aussi ceci:

      sum(
      aggr(
      if ([Statut Commande] <> 'Annulé',
      if(count(distinct [Commande])<>1       ,
      count(distinct [Commande])))
        ,
      [Demande d'achat],[Statut Commande]
      ))


      Mais dans ce cas je n'ai que les commandes qui ont le même statut est qui est différent de Annulé (exemple deux commande avec statut 'Validée')

      Mais si j'ai une commande 'Validée' et une autre 'Facturé'  ce qui présente bien une anomalie ça ne remonte pas dans ma table .


      La table contient juste l'ID de la demande d'achat et le nombre de commande liées


      Merci par avance