IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Operation avec champs analyse croisé


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut Operation avec champs analyse croisé
    Bonjours,

    Je suis sur une requete et j'arrive pas a trouvé une solution et j'ai cherché !!!


    J'ai une table avec :

    CLIENT.....|....CA....|....anné

    .....x..............123........2005
    .....x..............345........2006

    Avec une requete en analyse croisé j'ai reussi a faire


    ....Client....CA 2005....CA 2006
    .......x...........123..........345


    J'aimerais creer une colone avec l'ecart

    ....Client....CA 2005....CA 2006......Ecart
    .......x...........123..........345...........?........


    J'ai trouvé la solution sur un etat, mais le top serais de le faire sur la meme requete.

    Sachant que l'année et un critere de tri, je ne peut pas faire

    [2005]-[2006]


    Merci de votre aide !!

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 36
    Points : 31
    Points
    31
    Par défaut Pas assez d'informations pour répondre
    Le plus simple c'est que vous envoyer une base de données vierge en y important votre table et votre requête. Je pourrai peut-être alors vous aider...

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Bonjour,

    Pourquoi ne pas te servir de la requete d'analyse croisée comme source d'une autre requete qui elle calcule l'écart. C'est bien souvent la seule solution.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut
    Oui vous avez raison !!


    Sa serais tous de meme le top de pouvoir faire sa sur la meme requete !!

    Quand vous fais des realisations... vous tournez a combien de requete !

    Dans mon application

    Avec votre methode .... sa ferai 14*3 = 42 au lieu de 28...

    Enfin bon !

    MERCI beaucoup

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Citation Envoyé par omacama
    Oui vous avez raison !!


    Sa serais tous de meme le top de pouvoir faire sa sur la meme requete !!

    Quand vous fais des realisations... vous tournez a combien de requete !

    Dans mon application

    Avec votre methode .... sa ferai 14*3 = 42 au lieu de 28...

    Enfin bon !

    MERCI beaucoup
    Bonjour,

    Tout dépend de la complexité des résultats attendus, en général quand on voit que le nombre de requêtes est trop important on les génére en VBA.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    si j'avais 14 fois la même requête dans la même base
    je m'arrangerais pour n'en avoir qu'une
    à mon avis cela suppose une erreur de conception de la base
    Elle est pas belle la vie ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par loufab
    Bonjour,

    Tout dépend de la complexité des résultats attendus, en général quand on voit que le nombre de requêtes est trop important on les génére en VBA.

    Cordialement,
    VBA ?

    Explique moi rapidement s'il te plait !

    C'est sous access ?

    Merciii

  8. #8
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Explique moi le "rapidement" ?

    Merci.
    Citation Envoyé par omacama
    VBA ?

    Explique moi rapidement s'il te plait !

    C'est sous access ?

    Merciii
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut
    Bon disons que je vais realiser la quarantaine de requetes...

    (peut importe vu que je vais le faire qu'ue fois ce travaille)

    J'ai fais une 2 eme requete incluant les resultats de la requete avec l'analyse croisé...

    Sa marche SUPER

    MaIS

    J'ai des champs qui sont vide, dans la table ils ont bien bien une valeurs de 0 pour les vide, mais sur les resultats ils reste vide,

    donc l'operation de soustraction ne fonctionne pas lorsque l'un des champs est vide !


    J'ai modifier les proprieté des champs dans la 2 eme requete, mais rien ne marche !!

    j'ai reussi avec une fonction NRZ mais le resultat de la soustraction reste avec du vide !!!

    merci

  10. #10
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    As-tu toujours 2 années, qui sont X et X-1, ou as-tu plus de deux années.

    Si tu utilise l'assistant, tu verras qu'il te met un colonne qui fait la somme.

    La somme peut aussi être une différence.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut
    oui c'est toujours 2005 2006 ou sa sera 2006 2007 mais sa sera que sa !!


    Donc tu disais ???

    avec l'assistant ?

  12. #12
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    L'assistant Requête Analyse croisée génère une colonne qui donne la somme d'une ligne et une somme peut aussi être une différence.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM Sum(produit.qty) AS SumOfqty
    SELECT produit.Produit, Sum(produit.qty) AS [Total Of qty]
    FROM produit
    GROUP BY produit.Produit
    PIVOT produit.pu;

    Dans la requête, voila ce qui donne la somme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum(produit.qty) AS [Total Of qty]
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut
    Oui sa marche c'est nikel !!


    Tes le seul a mavoir trouvé la solution ....

    Et c'est surement une question bête pour toi mais comment fais tu la "difference" ???

  14. #14
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Si tu bases ta requête analyse croisée sur une autre requête qui permet d'avoir le signe (-) pour les années X-1 avec un IIF.
    Tu as alors une colonne en plus et les années X-1 sont négatives et les années X positive, la somme des deux te donnera le delta.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  15. #15
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT client, [année] & "p" AS rub, [ca]-CDbl(nz(DLookUp("ca","matable","client = '" & [client] & "' and année= " & [an]-1),0)) AS val
    FROM matable
    WHERE année=[an]
    union
    SELECT client, [année]  AS rub, [ca]  AS val
    FROM matable
    WHERE année=[an] or année=[an]-1;
    marche aussi
    Elle est pas belle la vie ?

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut
    Merci !!!!!!!!!

    Merci beaucoup de votre aide et de ton aide oli !!!


    A+ parceque j'ai pas fini de vous embeter !

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par random
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT client, [année] & "p" AS rub, [ca]-CDbl(nz(DLookUp("ca","matable","client = '" & [client] & "' and année= " & [an]-1),0)) AS val
    FROM matable
    WHERE année=[an]
    union
    SELECT client, [année]  AS rub, [ca]  AS val
    FROM matable
    WHERE année=[an] or année=[an]-1;
    marche aussi
    J'ai retranscri mais sa marche pas !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT PIE.[Raison Sociale], [année] & "p" AS rub, [SommeDeNet client régularisé ou CA facturé]-CDbl(nz(DLookUp("ca","PIE","client = '" & [client] & "' and année= " & [an]-1),0)) AS val
    FROM PIE
    WHERE année=[an]
    union
    SELECT PIE.[Raison Sociale, [année]  AS rub, [SommeDeNet client régularisé ou CA facturé]  AS val
    FROM PIE
    WHERE année=[an] or année=[an]-1

    Tu la copie brute ou tu l'incorpore dans le code deja ecrit ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TRANSFORM Sum(PIE.[Net client régularisé ou CA facturé]) AS [La valeur]
    SELECT PIE.[Raison Sociale], Sum(PIE.[Net client régularisé ou CA facturé]) AS Ecart
    FROM PIE
    WHERE (((PIE.[Nom vendeur1])="bernet") AND ((PIE.SEG)="CA" Or (PIE.SEG)="CB" Or (PIE.SEG)="CC" Or (PIE.SEG)="CT" Or (PIE.SEG)="TD") AND ((PIE.[Direct/Dérogé])="dérogé"))
    GROUP BY PIE.[Raison Sociale], PIE.[Nom vendeur1], PIE.SEG, PIE.[Direct/Dérogé]
    PIVOT PIE.Année;

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AS rub, [ca]-CDbl(nz(DLookUp

    Le - present a ce moment du code est la soustraction ???


    Ton code realise la difference ??

  19. #19
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    oui mais je n'ai pas copié la bonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    parameters [an] short;
    TRANSFORM Sum(b.val) AS SommeDeval
    SELECT b.client
    FROM 
    (SELECT client,
     "variation" AS rub,
     [ca]-CDbl(nz(DLookUp("ca","matable","client = '" & [client] & "' and année= " & [an]-1),0)) AS val
    FROM matable
    WHERE année=[an]
    union
    SELECT client, [année]  AS rub, [ca]  AS val
    FROM matable
    WHERE année=[an]
    UNION SELECT client, [année]  AS rub, [ca]  AS val
    FROM matable
    WHERE année=[an]-1) as b
    GROUP BY b.client
    PIVOT b.rub;
    Elle est pas belle la vie ?

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 10
    Points
    10
    Par défaut
    Merci RANDOM

    Je l'ai a nouveau transcrit avec mes donné... il y a des fois ou je sais pas si il faut que je remplace ou pas ?

    Tu peut m'aider s'il te plait ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    parameters [an] short;
    TRANSFORM (PIE.[Net client régularisé ou CA facturé]) AS [La valeur]
    SELECT PIE.[Raison Sociale]
    FROM 
    (SELECT Raison Sociale,
     "variation" AS rub,
     [ca]-CDbl(nz(DLookUp("ca","matable","client = '" & [client] & "' and Année= " & [an]-1),0)) AS val
    FROM PIE
    WHERE Année=[an]
    union
    SELECT Raison Sociale, [Année]  AS rub, [ca]  AS val
    FROM PIE
    WHERE Année=[an]
    UNION SELECT Raison Sociale, [Année]  AS rub, [ca]  AS val
    FROM PIE
    WHERE Année=[an]-1) as b
    GROUP BY PIE.[Raison Sociale]
    PIVOT PIE.Année;

    Table = PIE
    CA (chiffre d'affaire) = [Net client régularisé ou CA facturé]
    Client = [Raison Sociale]
    année = [Année]


    Jpige pas trop les truc de SUB ou la valeur ou val

    Jte remercie de te patiente
    A+

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 16
    Dernier message: 21/02/2017, 20h48
  2. [AC-2003] analyse croisée avec champ texte
    Par popofpopof dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 20/08/2010, 20h26
  3. Selection d'un champ spécifique dans une requête d'analyse croisé
    Par doudou31 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 09/09/2008, 16h34
  4. problème avec requête d'analyse croisé!
    Par sofien dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 16/06/2008, 12h45
  5. Réponses: 1
    Dernier message: 22/12/2005, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo