Choisir un nombre de point par rapport à l'année
Résolu
Scuba1404
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Voilà, j'ai développé une base de donnée pour recenser des réponses sur la provenance de données des stands de notre manifestation. Mon problème est que par année on défini des bonus/malus, ce qui veut dire que par exemple pour 2016, le stand a un bonus et pour 2017 un malus.
Comment faire pour que dans la note moyenne, il soit pris en compte pour la note 2016 ce qui a été défini et pour 2017 aussi.
Pour l'instant je ne peux tenir compte que d'une note.
si besoin je peux fournir des précisions.
Merci en avance pour l'aide
Comment faire pour que dans la note moyenne, il soit pris en compte pour la note 2016 ce qui a été défini et pour 2017 aussi.
Pour l'instant je ne peux tenir compte que d'une note.
si besoin je peux fournir des précisions.
Merci en avance pour l'aide
A voir également:
- Choisir un nombre de point par rapport à l'année
- Point de suite word - Guide
- Point de restauration - Guide
- Nombre de jours entre deux dates excel - Guide
- Plan d'un rapport de stage - Guide
- Comment envoyer un point gps par sms - Accueil - Téléphones
9 réponses
Bonjour,
Voici le code SQL qui reprends la valeur de la table Q5 - Bonus/Malus basé sur le numéro du stand. Mais il n'y a pas la notion de l'année que je ne sais comment l'inclure :
SELECT [Données stands].[No du Stand (COE)], [Données stands].[Nom du Stand], [Produits vendus].Année, [Produits vendus].[Nom du produit], [Q1 - Saison].[Points (Q1)], [Q2 - Origine].[Points (Q2)], [Q3 - Label].[Points (Q3)], [Q4 - Frais].[Points (Q4)], [Q5 - Bonus/Malus].[Points (Q5)]
FROM [Q5 - Bonus/Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN ([Q1 - Saison] INNER JOIN (Produits INNER JOIN ([Données stands] INNER JOIN [Produits vendus] ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Q1 - Saison].[Réponse (Q1)] = Produits.Saison) ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Q5 - Bonus/Malus].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)];
Et voici le début de ma table Q5 - Bonus/Malus :
https://img-19.ccm2.net/pbENT2RO7O5xTwljWLQZ9gySlWw=/a7fdcd96b89848e09c81f25d18630cdd/tmp/__Base_de_donnees-_C__Users_verop_Do.png
Devrais-je inclure encore quelque chose pour que tu puisses m'aider ?
D'avance merci
Voici le code SQL qui reprends la valeur de la table Q5 - Bonus/Malus basé sur le numéro du stand. Mais il n'y a pas la notion de l'année que je ne sais comment l'inclure :
SELECT [Données stands].[No du Stand (COE)], [Données stands].[Nom du Stand], [Produits vendus].Année, [Produits vendus].[Nom du produit], [Q1 - Saison].[Points (Q1)], [Q2 - Origine].[Points (Q2)], [Q3 - Label].[Points (Q3)], [Q4 - Frais].[Points (Q4)], [Q5 - Bonus/Malus].[Points (Q5)]
FROM [Q5 - Bonus/Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN ([Q1 - Saison] INNER JOIN (Produits INNER JOIN ([Données stands] INNER JOIN [Produits vendus] ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Q1 - Saison].[Réponse (Q1)] = Produits.Saison) ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Q5 - Bonus/Malus].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)];
Et voici le début de ma table Q5 - Bonus/Malus :
https://img-19.ccm2.net/pbENT2RO7O5xTwljWLQZ9gySlWw=/a7fdcd96b89848e09c81f25d18630cdd/tmp/__Base_de_donnees-_C__Users_verop_Do.png
Devrais-je inclure encore quelque chose pour que tu puisses m'aider ?
D'avance merci
Désolée de ne pas avoir été claire, alors je vais essayer de l'être ;-))
Je rentre les données selon le formulaire ci-dessous :
https://img-19.ccm2.net/aGW4lfe5ngjI6AdaF2Yz-rRqjDc=/6cfa8556c77348309c2da7019d2a3e77/tmp/__Base_de_donnees-_C__Users_verop_Do.png
Chaques réponses entrées me génèrent automatiquement une note en fonction de différentes tables, ces notes sont appelées dans ce tableau Points (Q1) ou (Q2) etc...
https://img-19.ccm2.net/4-AvQ9bXOD5O5ah59B02L7OOTzk=/f9f32a16d07c4d0fa73ca0c51d33baa1/tmp/__Base_de_donnees-_C__Users_verop_Do.png
Et les points de la question 5, qui est le bonus/malus proviennent de la table :
https://img-19.ccm2.net/Zd_D4Ilb6953w8vYq4MRknS4ukY=/e896aafcafd8481d9d63172c9b21a083/tmp/__Base_de_donnees-_C__Users_verop_Do.png
Ce que j'aimerai pouvoir faire... c'est que pour un stand donné, la valeur retournée pour le bonus/malus soit liée à l'année des données, soit dans mon exemple pour 2016 ou 2017 ...
Pour le stand 16001, si les données concernent 2016, la valeur retournée devrait être "BM 2016" et si c'est 2017 "Points (Q5)".
J'admets que les intitulés des colonnes ne sont pas très explicites, car j'ai dû inclure la colonne pour 2016 en dernière minute, pour avoir l'historique. Mais actuellement dans ma requête, je n'ai que la valeur de la colonne "Points (Q5) qui m'est retournée pour les données relatives à 2016 et à 2017.
Voilà j'espère que c'est plus clair. Dis-moi si non.
Je rentre les données selon le formulaire ci-dessous :
https://img-19.ccm2.net/aGW4lfe5ngjI6AdaF2Yz-rRqjDc=/6cfa8556c77348309c2da7019d2a3e77/tmp/__Base_de_donnees-_C__Users_verop_Do.png
Chaques réponses entrées me génèrent automatiquement une note en fonction de différentes tables, ces notes sont appelées dans ce tableau Points (Q1) ou (Q2) etc...
https://img-19.ccm2.net/4-AvQ9bXOD5O5ah59B02L7OOTzk=/f9f32a16d07c4d0fa73ca0c51d33baa1/tmp/__Base_de_donnees-_C__Users_verop_Do.png
Et les points de la question 5, qui est le bonus/malus proviennent de la table :
https://img-19.ccm2.net/Zd_D4Ilb6953w8vYq4MRknS4ukY=/e896aafcafd8481d9d63172c9b21a083/tmp/__Base_de_donnees-_C__Users_verop_Do.png
Ce que j'aimerai pouvoir faire... c'est que pour un stand donné, la valeur retournée pour le bonus/malus soit liée à l'année des données, soit dans mon exemple pour 2016 ou 2017 ...
Pour le stand 16001, si les données concernent 2016, la valeur retournée devrait être "BM 2016" et si c'est 2017 "Points (Q5)".
J'admets que les intitulés des colonnes ne sont pas très explicites, car j'ai dû inclure la colonne pour 2016 en dernière minute, pour avoir l'historique. Mais actuellement dans ma requête, je n'ai que la valeur de la colonne "Points (Q5) qui m'est retournée pour les données relatives à 2016 et à 2017.
Voilà j'espère que c'est plus clair. Dis-moi si non.
suggestion: cette requête devrait te donner le bonus malus par année et par stand. tu peux ensuite, dans d'autres requêtes, utiliser cette requête au lieu d'utiliser la table bonus/malus.
SELECT 2016 as annee, [No du Stand (COE)] as stand, BM2016 as bonusmalus FROM [Q5 - Bonus/Malus] union SELECT 2017 as annee, [No du Stand (COE)] as stand, [Points (Q5)] as bonusmalus FROM [Q5 - Bonus/Malus];
Merci beaucoup, c'est exactement ce que je souhaitais !
Par contre comment est-ce qu'il faut que je l'intègre dans la requête suivante pour que la colonne Points (Q5) utilise le résultat de la requête que tu m'as donnée :

Le SQL est :
SELECT [Données stands].[No du Stand (COE)], [Données stands].[Nom du Stand], [Produits vendus].Année, [Produits vendus].[Nom du produit], [Q1 - Saison].[Points (Q1)], [Q2 - Origine].[Points (Q2)], [Q3 - Label].[Points (Q3)], [Q4 - Frais].[Points (Q4)], [Q5 - Bonus/Malus].[Points (Q5)]
FROM [Q5 - Bonus/Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN ([Q1 - Saison] INNER JOIN (Produits INNER JOIN ([Données stands] INNER JOIN [Produits vendus] ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Q1 - Saison].[Réponse (Q1)] = Produits.Saison) ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Q5 - Bonus/Malus].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)];
Un tout grand merci pour ton aide.
Par contre comment est-ce qu'il faut que je l'intègre dans la requête suivante pour que la colonne Points (Q5) utilise le résultat de la requête que tu m'as donnée :

Le SQL est :
SELECT [Données stands].[No du Stand (COE)], [Données stands].[Nom du Stand], [Produits vendus].Année, [Produits vendus].[Nom du produit], [Q1 - Saison].[Points (Q1)], [Q2 - Origine].[Points (Q2)], [Q3 - Label].[Points (Q3)], [Q4 - Frais].[Points (Q4)], [Q5 - Bonus/Malus].[Points (Q5)]
FROM [Q5 - Bonus/Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN ([Q1 - Saison] INNER JOIN (Produits INNER JOIN ([Données stands] INNER JOIN [Produits vendus] ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Q1 - Saison].[Réponse (Q1)] = Produits.Saison) ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Q5 - Bonus/Malus].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)];
Un tout grand merci pour ton aide.
appelons A la requête que tu montres et B la requête union.
il faut modifier A pour utiliser B à la place de [Q5 - Bonus/Malus].
il faut aussi lier le champ annee de B avec le champ Année de [Produits vendus].
si tu partages le code SQL de la requête modifiée, je pourrai t'indiquer comment faire cette liaison.
ou bien utilise ceci:
il faut modifier A pour utiliser B à la place de [Q5 - Bonus/Malus].
il faut aussi lier le champ annee de B avec le champ Année de [Produits vendus].
si tu partages le code SQL de la requête modifiée, je pourrai t'indiquer comment faire cette liaison.
ou bien utilise ceci:
SELECT [Données stands].[No du Stand (COE)], [Données stands].[Nom du Stand], [Produits vendus].Année, [Produits vendus].[Nom du produit], [Q1 - Saison].[Points (Q1)], [Q2 - Origine].[Points (Q2)], [Q3 - Label].[Points (Q3)], [Q4 - Frais].[Points (Q4)], [Bonus Malus].bonusmalus FROM [Bonus Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN ([Q1 - Saison] INNER JOIN (Produits INNER JOIN ([Données stands] INNER JOIN [Produits vendus] ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Q1 - Saison].[Réponse (Q1)] = Produits.Saison) ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Bonus Malus].stand = [Produits vendus].[No du Stand (COE)] and [Bonus Malus].annee = [Produits vendus].Année;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup, j'ai ajusté le nom, car dans mon fichier je l'ai appelée Requête - Bonus Malus, ce qui donne comme SQL :
SELECT [Données stands].[No du Stand (COE)], [Données stands].[Nom du Stand], [Produits vendus].Année, [Produits vendus].[Nom du produit], [Q1 - Saison].[Points (Q1)], [Q2 - Origine].[Points (Q2)], [Q3 - Label].[Points (Q3)], [Q4 - Frais].[Points (Q4)], [Requête - Bonus Malus].bonusmalus
FROM [Requête - Bonus Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN ([Q1 - Saison] INNER JOIN (Produits INNER JOIN ([Données stands] INNER JOIN [Produits vendus] ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Q1 - Saison].[Réponse (Q1)] = Produits.Saison) ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Requête - Bonus Malus].stand = [Produits vendus].[No du Stand (COE)] and [Requête - Bonus Malus].annee = [Produits vendus].Année;
Je vais essayer de m'atteler à celle-ci, car j'ai une moyenne calculée, une moyenne du nombre de produits testés et le classement. Est-ce que tu peux m'aider ?
SELECT [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Données stands].[No en 2017], [Données stands].[Nom du Stand], [Données stands].Label, Avg([Q1 - Saison].[Points (Q1)]) AS [MoyenneDePoints (Q1)], Avg([Q2 - Origine].[Points (Q2)]) AS [MoyenneDePoints (Q2)], Avg([Q3 - Label].[Points (Q3)]) AS [MoyenneDePoints (Q3)], Avg([Q4 - Frais].[Points (Q4)]) AS [MoyenneDePoints (Q4)], Avg([Q5 - Bonus/Malus].[Points (Q5)]) AS [MoyenneDePoints (Q5)], Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) AS TOTAL, Count([Produits vendus].[Nom du produit]) AS [CompteDeNom du produit], DCount("*","[Requête - Produits vendus]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang
FROM [Données stands] INNER JOIN (([Q1 - Saison] INNER JOIN Produits ON [Q1 - Saison].[Réponse (Q1)] = Produits.[Saison]) INNER JOIN ([Q5 - Bonus/Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN [Produits vendus] ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Q5 - Bonus/Malus].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]
GROUP BY [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Données stands].[No en 2017], [Données stands].[Nom du Stand], [Données stands].Label
ORDER BY [Produits vendus].Année, Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) DESC;
D'avance merci
SELECT [Données stands].[No du Stand (COE)], [Données stands].[Nom du Stand], [Produits vendus].Année, [Produits vendus].[Nom du produit], [Q1 - Saison].[Points (Q1)], [Q2 - Origine].[Points (Q2)], [Q3 - Label].[Points (Q3)], [Q4 - Frais].[Points (Q4)], [Requête - Bonus Malus].bonusmalus
FROM [Requête - Bonus Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN ([Q1 - Saison] INNER JOIN (Produits INNER JOIN ([Données stands] INNER JOIN [Produits vendus] ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Q1 - Saison].[Réponse (Q1)] = Produits.Saison) ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Requête - Bonus Malus].stand = [Produits vendus].[No du Stand (COE)] and [Requête - Bonus Malus].annee = [Produits vendus].Année;
Je vais essayer de m'atteler à celle-ci, car j'ai une moyenne calculée, une moyenne du nombre de produits testés et le classement. Est-ce que tu peux m'aider ?
SELECT [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Données stands].[No en 2017], [Données stands].[Nom du Stand], [Données stands].Label, Avg([Q1 - Saison].[Points (Q1)]) AS [MoyenneDePoints (Q1)], Avg([Q2 - Origine].[Points (Q2)]) AS [MoyenneDePoints (Q2)], Avg([Q3 - Label].[Points (Q3)]) AS [MoyenneDePoints (Q3)], Avg([Q4 - Frais].[Points (Q4)]) AS [MoyenneDePoints (Q4)], Avg([Q5 - Bonus/Malus].[Points (Q5)]) AS [MoyenneDePoints (Q5)], Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) AS TOTAL, Count([Produits vendus].[Nom du produit]) AS [CompteDeNom du produit], DCount("*","[Requête - Produits vendus]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang
FROM [Données stands] INNER JOIN (([Q1 - Saison] INNER JOIN Produits ON [Q1 - Saison].[Réponse (Q1)] = Produits.[Saison]) INNER JOIN ([Q5 - Bonus/Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN [Produits vendus] ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Q5 - Bonus/Malus].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]
GROUP BY [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Données stands].[No en 2017], [Données stands].[Nom du Stand], [Données stands].Label
ORDER BY [Produits vendus].Année, Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) DESC;
D'avance merci
tu montres deux requêtes en #10. la première donne-t-elle un résultat correct et complet?
si oui, je propose de simplifier la deuxième ainsi, en supposant que la première s'appelle details:
Comment puis-je t'aider?
si oui, je propose de simplifier la deuxième ainsi, en supposant que la première s'appelle details:
SELECT Année, [No du Stand (COE)], [No en 2017], [Nom du Stand],Label, Avg[Points (Q1)]) AS [MoyenneDePoints (Q1)], Avg([Points (Q2)]) AS [MoyenneDePoints (Q2)], Avg([Points (Q3)]) AS [MoyenneDePoints (Q3)], Avg([Points (Q4)]) AS [MoyenneDePoints (Q4)], Avg[Points (Q5)]) AS [MoyenneDePoints (Q5)], Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) AS TOTAL, Count([Nom du produit]) AS [CompteDeNom du produit], DCount("*","[Requête - Produits vendus]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang FROM details GROUP BY Année, [No du Stand (COE)], [No en 2017], [Nom du Stand], Label ORDER BY Année, Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) DESC
Comment puis-je t'aider?
oui tu as bien compris, la première (celle-ci) me donne un résultat correct, avec le détail des produits/année/stand :

le SQL est :
SELECT [Données stands].[No du Stand (COE)], [Données stands].[Nom du Stand], [Produits vendus].Année, [Produits vendus].[Nom du produit], [Q1 - Saison].[Points (Q1)], [Q2 - Origine].[Points (Q2)], [Q3 - Label].[Points (Q3)], [Q4 - Frais].[Points (Q4)], [Requête - Bonus Malus].bonusmalus
FROM [Requête - Bonus Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN ([Q1 - Saison] INNER JOIN (Produits INNER JOIN ([Données stands] INNER JOIN [Produits vendus] ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Q1 - Saison].[Réponse (Q1)] = Produits.Saison) ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON ([Requête - Bonus Malus].annee = [Produits vendus].Année) AND ([Requête - Bonus Malus].stand = [Produits vendus].[No du Stand (COE)]);
et maintenant je désire ajouter les moyennes des notes par année, une moyenne pour le stand, de compter le nombre moyen de produits testés et à la fin du tableau d'avoir le rang (comme celle-ci qui ne reprends pas le bonusmalus selon la nouvelle méthode de requête) :

et le SQL est :
SELECT [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Données stands].[No en 2017], [Données stands].[Nom du Stand], [Données stands].Label, Avg([Q1 - Saison].[Points (Q1)]) AS [MoyenneDePoints (Q1)], Avg([Q2 - Origine].[Points (Q2)]) AS [MoyenneDePoints (Q2)], Avg([Q3 - Label].[Points (Q3)]) AS [MoyenneDePoints (Q3)], Avg([Q4 - Frais].[Points (Q4)]) AS [MoyenneDePoints (Q4)], Avg([Q5 - Bonus/Malus].[Points (Q5)]) AS [MoyenneDePoints (Q5)], Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) AS TOTAL, Count([Produits vendus].[Nom du produit]) AS [CompteDeNom du produit], DCount("*","[Requête - Produits vendus]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang
FROM [Données stands] INNER JOIN (([Q1 - Saison] INNER JOIN Produits ON [Q1 - Saison].[Réponse (Q1)] = Produits.[Saison]) INNER JOIN ([Q5 - Bonus/Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN [Produits vendus] ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Q5 - Bonus/Malus].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]
GROUP BY [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Données stands].[No en 2017], [Données stands].[Nom du Stand], [Données stands].Label
ORDER BY [Produits vendus].Année, Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) DESC;
D'avance merci pour ton aide

le SQL est :
SELECT [Données stands].[No du Stand (COE)], [Données stands].[Nom du Stand], [Produits vendus].Année, [Produits vendus].[Nom du produit], [Q1 - Saison].[Points (Q1)], [Q2 - Origine].[Points (Q2)], [Q3 - Label].[Points (Q3)], [Q4 - Frais].[Points (Q4)], [Requête - Bonus Malus].bonusmalus
FROM [Requête - Bonus Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN ([Q1 - Saison] INNER JOIN (Produits INNER JOIN ([Données stands] INNER JOIN [Produits vendus] ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Q1 - Saison].[Réponse (Q1)] = Produits.Saison) ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON ([Requête - Bonus Malus].annee = [Produits vendus].Année) AND ([Requête - Bonus Malus].stand = [Produits vendus].[No du Stand (COE)]);
et maintenant je désire ajouter les moyennes des notes par année, une moyenne pour le stand, de compter le nombre moyen de produits testés et à la fin du tableau d'avoir le rang (comme celle-ci qui ne reprends pas le bonusmalus selon la nouvelle méthode de requête) :

et le SQL est :
SELECT [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Données stands].[No en 2017], [Données stands].[Nom du Stand], [Données stands].Label, Avg([Q1 - Saison].[Points (Q1)]) AS [MoyenneDePoints (Q1)], Avg([Q2 - Origine].[Points (Q2)]) AS [MoyenneDePoints (Q2)], Avg([Q3 - Label].[Points (Q3)]) AS [MoyenneDePoints (Q3)], Avg([Q4 - Frais].[Points (Q4)]) AS [MoyenneDePoints (Q4)], Avg([Q5 - Bonus/Malus].[Points (Q5)]) AS [MoyenneDePoints (Q5)], Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) AS TOTAL, Count([Produits vendus].[Nom du produit]) AS [CompteDeNom du produit], DCount("*","[Requête - Produits vendus]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang
FROM [Données stands] INNER JOIN (([Q1 - Saison] INNER JOIN Produits ON [Q1 - Saison].[Réponse (Q1)] = Produits.[Saison]) INNER JOIN ([Q5 - Bonus/Malus] INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN [Produits vendus] ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON [Q5 - Bonus/Malus].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]
GROUP BY [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Données stands].[No en 2017], [Données stands].[Nom du Stand], [Données stands].Label
ORDER BY [Produits vendus].Année, Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) DESC;
D'avance merci pour ton aide
que penses-tu de ceci:
SELECT Année, [No du Stand (COE)], [No en 2017], [Nom du Stand],Label, Avg[Points (Q1)]) AS [MoyenneDePoints (Q1)], Avg([Points (Q2)]) AS [MoyenneDePoints (Q2)], Avg([Points (Q3)]) AS [MoyenneDePoints (Q3)], Avg([Points (Q4)]) AS [MoyenneDePoints (Q4)], Avg(bonusmalus) AS [MoyenneDePoints (Q5)], Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+bonusmalus) AS TOTAL, Count([Nom du produit]) AS [CompteDeNom du produit], DCount("*","[Requête - Produits vendus]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang FROM Détails GROUP BY Année, [No du Stand (COE)], [No en 2017], [Nom du Stand], Label ORDER BY Année, Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) DESC
oui, j'ai fait (au moins) une erreur:
SELECT Année, [No du Stand (COE)], [No en 2017], [Nom du Stand],Label, Avg([Points (Q1)]) AS [MoyenneDePoints (Q1)], Avg([Points (Q2)]) AS [MoyenneDePoints (Q2)], Avg([Points (Q3)]) AS [MoyenneDePoints (Q3)], Avg([Points (Q4)]) AS [MoyenneDePoints (Q4)], Avg(bonusmalus) AS [MoyenneDePoints (Q5)], Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+bonusmalus) AS TOTAL, Count([Nom du produit]) AS [CompteDeNom du produit], DCount("*","[Requête - Produits vendus]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang FROM Détails GROUP BY Année, [No du Stand (COE)], [No en 2017], [Nom du Stand], Label ORDER BY Année, Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[Points (Q5)]) DESC
Merci c'est top, j'ai tout ce qu'il me faut.
MERCI !!!!
Dernière question sur ce sujet : en perspective de 2018, je vais devoir aussi avoir une nouvelle colonne avec les valeurs pour 2018 pour les Bonus / Malus que je vais aussi appeler BM2018, donc si j'ai bien compris dans la requête qui reprend les valeurs "Requête - Bonus Malus" (que tu m'as fait créé), je vais devoir ajouter à la fin du SQL : UNION SELECT 2018 as Annee, [No du Stand (COE)] as Stand, BM2018 as BonusMalus FROM [Q5 - Bonus/Malus]
c'est bien correct ?
MERCI !!!!
Dernière question sur ce sujet : en perspective de 2018, je vais devoir aussi avoir une nouvelle colonne avec les valeurs pour 2018 pour les Bonus / Malus que je vais aussi appeler BM2018, donc si j'ai bien compris dans la requête qui reprend les valeurs "Requête - Bonus Malus" (que tu m'as fait créé), je vais devoir ajouter à la fin du SQL : UNION SELECT 2018 as Annee, [No du Stand (COE)] as Stand, BM2018 as BonusMalus FROM [Q5 - Bonus/Malus]
c'est bien correct ?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, je pense en effet qu'il serait utile que tu nous donnes plus d'information.
si tu veux adapter une requête, ce serait bien de la partager.
si tu veux adapter une requête, ce serait bien de la partager.
il serait sans doute utile que tu donnes un exemple de ce que tu veux obtenir, et que tu fasses référence aux champs de tes tables ou de tes requêtes.
je n'ai compris aucune des phrases de ta demande initiale.
j'ai l'impression que tu as quelque chose qui fonctionne bien, qui calcule "la note moyenne", et que tu veux ajouter le concept de bonus/malus annuel. si c'est cela, alors il serait utile que tu nous donnes la requête qui calcule la note moyenne, et que tu expliques comment le bonus/malus devrait influencer cette note.
ce serait utile aussi d'expliquer à quoi servent les colonnes de la table bonus/malus, surtout la colonne BM2016 et la colonne Points (Q5).