J'ai un bloc mental sur ce que je suis sûr est un scénario commun:Interroger une table de consultation dans Excel ou Access
J'ai des données dans un fichier csv que je dois faire des rapports très basique de.
Les données sont essentiellement une table avec Ressources comme en-têtes de colonnes et personnes comme en-têtes de ligne, le reste de la table se compose de drapeau Y/N, « Y » si la personne a accès à la ressource, " N "s'ils ne le font pas. Les ressources et les personnes ont des noms uniques.
données Exemple:
Res1 Res2 Res3 Bob Y Y N Tom N N N Jim Y N Y
Le tableau est trop grand pour voir simplement comme tout dans Excel (disons 300 ressources et 600 personnes), donc je besoin d'un moyen facilement interroger et d'affichage (Une simple liste serait bien) à quelles ressources une personne a accès, compte tenu du nom de la personne.
La personne qui devra utiliser ceci a MS Office, et pas grand chose d'autre sur son PC. Donc, la question est la suivante: Quelle est la meilleure façon de manipuler ces données pour obtenir le rapport dont j'ai besoin? Mon instinct dit MS Access serait le meilleur, mais je ne peux pas imaginer importer automatiquement des données comme celle-ci dans une base de données relationnelle normale. Si ce n'est pas l'accès, peut-être il y a quelques fonctions dans Excel qui pourraient m'aider?
Accepter la normalisation est une bonne idée, des idées sur la façon dont je pourrais tirer parti de l'accès ou exceler pour faire cela? Je préférerais ne pas écrire de code pour cela si je n'ai pas besoin de le faire, et je n'ai aucun contrôle sur le format des données d'entrée. – Millhouse
Un bon point de départ serait d'utiliser Excel pour déplier les données (voir http://superuser.com/questions/78439/is-it-possible-to-unpivot-or-reverse-pivot-in-excel). Ensuite, il sera dans un format de liste qui peut être importé dans une base de données relationnelle pour affiner. – VeeArr
Vous pouvez utiliser différentes requêtes dans Access. Pour aplatir la table, une requête UNION est la meilleure: 'SELECT User, Res1," Res1 "Comme Res FROM tbl UNION ALL SELECT Utilisateur, Res2," Res2 "Comme Res FROM tbl ...' – Fionnuala