Friday 24 February 2017

Calculer Déplacement Moyen En Accès 2007

Comment puis-je écrire une requête dans MS Access 2007 qui affiche le compte ET le pourcentage du total des enregistrements dans une table pour chaque ligne dans un champ spécifié Par exemple, si ma table a un champ appelé genre, quelle est la requête que je devrais Écrire pour voir le nombre de lignes et le pourcentage d'hommes et le nombre de lignes et le pourcentage de femmes si, si la table avait 1000 enregistrements, le résultat ressemblerait à quelque chose comme: je peux facilement écrire une requête qui me donne juste le nombre de lignes, Ne peut pas comprendre comment voir aussi les pourcentages. Je dois mentionner que je ne sais pas SQL. J'utilise la vue de conception lors de la création de requêtes. Mais si vous pouvez me donner le texte pour la requête en SQL, je peux le copier et le coller dans une nouvelle requête, puis l'enregistrer. Il ne fait pas partie de SQL lui-même, mais vous pouvez utiliser une fonction VBA dans une requête pour compter la quantité d'enregistrements dans une table: DCount (MSDN). Copier et coller les lignes suivantes dans le concepteur de requêtes (ligne supérieure, une ligne par colonne): Vous pouvez ensuite obtenir le pourcentage en effectuant quelques mathématiques simples sur les valeurs de retour (encore une ligne par colonne): Ne pas oublier de définir le format à Les pourcentages ou les valeurs apparaîtront comme 0,6 et 0,4 au lieu de 60 et 40. En passant, il ya probablement plus de consise des façons de le faire. J'ai essayé de le rendre lisible. PS: n'oubliez pas de remplacer les noms des tables et des champs. Les nouvelles données sont ajoutées à la table tous les jours du lundi au vendredi, en fonction des variations du cours boursier pour ce jour. L'exigence actuelle est basée sur le champ VOLUME, qui indique le volume négocié pour un stock particulier sur une base quotidienne. EXIGENCE Pour obtenir le volume moyen et total pour les derniers 10,15 et 30 jours respectivement. MÉTHODE UTILISÉE ACTUELLEMENT - J'ai créé ces 9 QUESTIONS SÉPARÉES afin d'obtenir mes résultats souhaités Tout d'abord j'ai créé ces 3 requêtes pour tirer les dernières 10,15 et 30 dernières dates de la table actuelle. qryLast10DaysStored qryLast15DaysStored qryLast30DaysStored Puis j'ai créé ces 3 requêtes pour obtenir qrySymbolAvgVolume15Days qrySymbolAvgVolume30Days des moyennes respectives Et puis je l'ai créé ces 3 requêtes pour obtenir les TOTAUX respectives qrySymbolTotalVolume10Days qrySymbolTotalVolume15Days qrySymbolTotalVolume30Days PROBLÈME être confronté à MÉTHODE ACTUELLE - Maintenant, mon problème est que je l'ai terminé Up ayant ces nombreuses requêtes différentes, alors que je voulais obtenir la sortie dans une seule requête, comme le montre l'instantané de la feuille Excel. SOLUTION NÉCESSAIRE - Y at-il un moyen par lequel je peux obtenir ces champs obligatoires dans UNE SEULE QUERY, de sorte que je n'ai pas à regarder dans plusieurs endroits pour les champs requis Peut quelqu'un s'il vous plaît me dire comment obtenir toutes ces requêtes distinctes en un seul - A) Soit en retirant ou en déplaçant les résultats de ces requêtes individuelles séparées à un seul. B) Ou en faisant une nouvelle requête qui calcule tous ces champs en lui-même, de sorte que ces requêtes individuelles séparées ne sont plus nécessaires. Ce serait une meilleure solution je pense. Une clarification sur les dates Un ami pourrait penser pourquoi j'ai utilisé la méthode d'utilisation Top 10,15 et 30 pour obtenir les dernières valeurs 10,15 et 30 Date. Pourquoi pas je viens d'utiliser le PC Date pour obtenir ces valeurs Ou utilisé quelque chose comme - (VOLUME, tbl-B, TimeStamp ENTRE Date () - 10 ET Date ()) La réponse est que j'ai besoin de ma requête pour Lire la date de la TIMESTAMP Champ, puis effectuer ses calculs en conséquence pour DERNIER RECETTES 10 jours, 15 jours, 30 jours POUR LESQUELS LES DONNÉES SONT DISPONIBLES DANS LA TABLE, SANS BOUTERING QUELLE EST LA DATE ACTUELLE. Il ne devrait pas dépendre de la date actuelle en aucune façon. S'il existe une meilleure méthode ou un moyen plus efficace de créer ces requêtes, alors s'il vous plaît éclairer. PS. J'ai joint une base de données SAMPLE qui a les données pour 6 mois, à partir du 1er novembre 2011 au 30 avril 2012 et il a également obtenu les requêtes mentionnées ci-dessus. Exemple de base de données avec QUERIES Vous avez des requêtes distinctes pour calculer 10DayTotalVolume et 10DayAvgVolume. Je soupçonne que vous pouvez calculer les deux dans une requête, qry10DayVolumes. Cependant, cela me fait me demander si 10DayAvgVolume peut jamais être autre chose que 10DayTotalVolume 10 Des considérations similaires s'appliquent aux valeurs de 15 et 30 jours. En fin de compte, je pense que vous voulez quelque chose basé sur un point de départ comme ceci: Cela suppose que vous avez créé qry15DayVolumes et qry30DayVolumes suivant l'approche que j'ai suggéré pour qry10DayVolumes. Si vous souhaitez réduire le nombre de requêtes, vous pouvez utiliser des sous-requêtes pour chacune des requêtes qryDayVolumes enregistrées, mais essayez-la d'abord pour vous assurer que la logique est correcte. Dans cette deuxième requête ci-dessus, il peut y avoir un problème dû aux noms de champs qui commencent par des chiffres. Joignez ces noms entre crochets ou re-alias eux dans qry10DayVolumes. Qry15DayVolumes. Et qry30DayVolumes utilisant des noms d'alias qui commencent par des lettres au lieu des chiffres. J'ai testé la requête comme indiqué ci-dessus avec le 2ème Upload. mdb que vous avez téléchargé, et il a fonctionné sans erreur d'Access 2007. Voici la première ligne du jeu de résultats de cette requête: Répondue Oct 24 12 at 19: 20Avg Fonction Calcule l'arithmétique Moyenne d'un ensemble de valeurs contenues dans un champ spécifié sur une requête. L'espace réservé expr représente une expression de chaîne identifiant le champ qui contient les données numériques que vous voulez faire la moyenne ou une expression qui effectue un calcul utilisant les données dans ce champ. Les opérandes dans expr peuvent inclure le nom d'un champ de table, d'une constante ou d'une fonction (qui peut être intrinsèque ou définie par l'utilisateur mais pas l'une des autres fonctions d'agrégation SQL). La moyenne calculée par Avg est la moyenne arithmétique (la somme des valeurs divisée par le nombre de valeurs). Vous pouvez utiliser Avg. Par exemple, pour calculer le coût moyen du fret. La fonction Avg n'inclut aucun champ Null dans le calcul. Vous pouvez utiliser Avg dans une expression de requête et dans la propriété SQL d'un objet QueryDef ou lors de la création d'un objet jeu d'enregistrements basé sur une requête SQL.


No comments:

Post a Comment