web-dev-qa-db-fra.com

Comment afficher trop de données

Nous construisons une plate-forme Web où le tableau de bord principal affiche un tableau de données que les utilisateurs peuvent visualiser et analyser. Au fur et à mesure que nous développons cet outil, nous semblons ajouter de plus en plus de colonnes et manquer d'espace horizontal sur des résolutions d'écran plus petites (nous constatons un habillage de données). Il est important pour l'utilisateur de visualiser toutes les colonnes à la fois, donc le masquage des colonnes est quelque peu hors de question, tout comme le défilement horizontal (à la demande du patron et parce que le défilement horizontal est quand même nul). Je me demandais si quelqu'un connaissait une interface utilisateur intelligente pour les tables avec de nombreuses colonnes.

MODIFIER

Ci-dessous, une capture d'écran de la disposition de la table. Malheureusement, pour des raisons de sécurité, j'ai dû masquer les titres des colonnes. Cet exemple contient des lignes qui ne contiennent pratiquement pas de données, mais en cours d'utilisation, elles contiennent de nombreuses données qui s'étendent plus que leurs titres de colonne respectifs. En réponse à certaines des réponses, il est impératif que l'utilisateur voit toutes les colonnes, car elles sont toutes nécessaires pour analyser les données afin de prendre certaines décisions. Toutes les données sont numériques à l'exception des trois premières colonnes. Merci encore pour tout commentaire.

alt text

Ok, donc je vois que le téléchargement de cette image ne lui rend pas vraiment justice ... cela prend toute la largeur de l'écran à une résolution de 1680x1050 (22 ") et lorsque les données remplissent les colonnes, la colonne de gauche avec le texte se rétrécit un peu plus bas.

EDIT 2 Je voulais juste dire merci aux idées géniales de tout le monde. Je ne peux sélectionner qu'une seule réponse, mais beaucoup de vos idées se sont révélées très utiles et peuvent se retrouver dans le produit final. Merci encore!

217
Jason

Étant donné que toutes les données après les trois premières colonnes sont numériques, vous pouvez arrondir afin que la largeur de chaque colonne soit aussi petite que quatre caractères.

 Full Length   Shorter   Tiny
------------   -------   ----
 $143,573.39   $143.6k   144k
     112.54%    112.5%    113 
 198,220,329    198.2m   198m

Vous pouvez décider quelle version afficher en fonction de la quantité d'espace disponible. Ceux qui ont la chance d'avoir de plus grands moniteurs auraient toujours tout. La présentation se dégraderait gracieusement pour les petits moniteurs

Bien sûr, lorsque le contenu d'une cellule est abrégé, vous devez afficher la valeur complète dans une info-bulle.


Mise à jour: @Oskar a souligné dans les commentaires que l'affichage de nombres de magnitudes différentes rend la comparaison visuelle plus difficile. Voici donc une variation dans le cas où la comparaison des valeurs relatives est plus importante que la précision.

  Revenue 
($millions)  
------------ 
       143.6   
        93.2
         0.3
       < 0.1  

(L'en-tête dans cet exemple est plus large que les données, mais comme d'autres l'ont souligné, cela peut être résolu en inclinant les en-têtes à un angle de 45 degrés.)

134
Patrick McElhaney

Vous pouvez essayer d'afficher plusieurs lignes par enregistrement, par exemple:

alt text

Vous pouvez également aller plus loin en faisant de chaque ligne une vue récapitulative qui peut être développée afin que l'utilisateur puisse voir l'enregistrement complet, par exemple:

alt text

Dans l'image ci-dessus, l'utilisateur est intéressé par les informations complètes de Mary Jane, alors elle clique sur le triangle à côté de son nom pour voir l'enregistrement complet.

De plus, je ne suis pas d'accord avec votre prémisse selon laquelle "la dissimulation de colonnes est quelque peu hors de question". S'il y a vraiment que beaucoup d'informations, l'utilisateur va vouloir cacher quelque chose. Vous voudrez peut-être les avoir tous visibles par défaut initialement; mais il devrait y avoir un moyen pour l'utilisateur de masquer certaines colonnes au fur et à mesure.

153
Hisham

Si les colonnes dépassent les lignes, vous pouvez essayer de mettre les lignes en colonnes

alt text

109
Eduardo Molteni

Cela ressemble beaucoup au cas où le client/chef de produit veut tout sur l'écran principal vs tout ce que vous besoin sur l'écran principal.

À mon humble avis, un écran de tableau de bord devrait donner à l'utilisateur un aperç de tout ... mais pour obtenir des détails sur une partie de cela (par exemple, l'augmentation de 275% des ventes cette semaine), l'utilisateur doit "explorer" les données pour voir le (s) tableau (s) d'informations sur l'origine des ventes.

Trop compliquer la vue "principale" pour essayer de montrer beaucoup, beaucoup d'informations finit par échouer car l'utilisateur se perd dans une bande de données. Les exemples ci-dessous ne sont que des choses aléatoires que j'ai trouvées sur Google, mais dans l'écran A, vous pouvez à peine décider où commencer - par rapport à l'écran B où le contenu est soigneusement organisé en vues d'ensemble.

exemple de données accablantes: alt text

exemple de données simples et faciles à digérer: alt text

61
scunliffe

Le tableau est un bon moyen de présenter une grande quantité de données. Cependant, avec plus de 5 colonnes, les tableaux deviennent rapidement illisibles. Si vos données changent en temps réel comme vous le dites, l'utilisateur ne sera probablement pas en mesure de prendre sa décision à temps s'il devait consulter 15 colonnes différentes en même temps.

Google sait mieux que le tri le plus important lors de l'examen d'une grande quantité de données. Vous devez trier par sa pertinence pour l'utilisateur. Chaque élément de données peut être important, mais certains éléments de données sont plus importants que les autres, vous devez identifier quel élément est le plus important et quels éléments ne le sont pas, cela dépend fortement de l'objectif de l'entreprise.

Toutes les colonnes ne sont pas créées égales

Certaines colonnes sont plus importantes que les autres:

  • certaines colonnes doivent être lues en premier avant que les données d'une autre colonne deviennent pertinentes. Les utilisateurs anglophones lisent de gauche à droite, les colonnes doivent être lues de gauche à droite lorsque cela est possible;
  • certaines colonnes ne sont importantes que dans leur ordre relatif, c'est-à-dire que leurs valeurs absolues n'ont pas vraiment d'importance, par ex. date-heure. Vous pouvez masquer cette colonne et utiliser le tri pour donner un sens à l'ordre;
  • certaines valeurs ne sont importantes que comme élevées, moyennes, faibles. La petite différence entre deux valeurs "élevées" peut ne pas vraiment affecter beaucoup la prise de décision car il existe d'autres facteurs qui affectent la décision de manière plus significative. Vous pouvez utiliser l'icône "verte", "jaune", "rouge" au lieu du texte intégral pour économiser de l'espace.
  • certaines colonnes peuvent être en lecture seule, ou doivent être modifiées moins souvent que d'autres, il existe des groupes de colonnes qui sont très susceptibles d'être modifiés ensemble. Triez vos colonnes afin que les colonnes qui nécessitent une modification ensemble soient regroupées;

Toutes les lignes ne sont pas créées égales

Une très courante erreur lors du tri, consiste à trier par un ordre arbitraire inutile, comme l'ordre alphabétique ou la date ou des valeurs numériques. Un ordre statique et cohérent est utile si vous devez rechercher des valeurs, mais , vous devez laisser l'ordinateur faire la recherche pour vous . Au lieu de cela, dans la plupart des cas, vous voudriez classer par sa pertinence.

Certains d'entre eux peuvent s'appliquer ou non dans votre cas:

  • les données récemment mises à jour sont plus importantes;
  • les transactions de valeurs plus élevées ou les transactions dans une certaine plage de valeurs sont plus importantes;
  • les fausses valeurs ou les vraies valeurs ne sont pas importantes;
  • (plus compliqué) les fausses valeurs ne sont importantes que lorsqu'un autre champ a une certaine valeur, sinon c'est la vraie valeur qui est importante

Vous devez identifier ces objectifs pour vos utilisateurs et effectuer un tri pondéré de vos données et colonnes en conséquence. Si vous n'avez pas identifié les objectifs les plus importants pour vos utilisateurs, alors vous n'êtes pas vraiment en train de concevoir . Après avoir identifié les données les plus importantes, vous pouvez ensuite masquer certaines des données les moins importantes, ou les abréger, ou les résumer en icônes. Les icônes sont faciles à absorber et votre utilisateur ne veut pas passer trois secondes à lire un 8221 et 1463 s'il peut passer un dixième de seconde à regarder "cercle vert" et "croix rouge".

Certaines valeurs ne sont importantes que dans certains contextes

Mettez en surbrillance des valeurs intéressantes. L'utilisateur ne peut être intéressé que par des transactions d'une certaine valeur dans un certain champ. Et l'utilisateur peut savoir qu'il ne toucherait jamais à des transactions trop élevées ou trop basses pour sa préférence; vous pouvez les filtrer pour que l'utilisateur n'ait même pas besoin de les voir. Vous pouvez même masquer une colonne entière, si l'utilisateur dit qu'il n'a aucune utilité pour la colonne.

37
Lie Ryan

quelles données l'utilisateur a-t-il réellement besoin de voir?

Si seulement nous pouvions obtenir une réponse claire à cela. Au lieu de "ça dépend".

Je continue à rencontrer ce problème, et chaque fois que je Google, je reviens ici à l'excellente question de Jason.

Et il y a beaucoup d'excellentes réponses, mais je sens un méta-sujet que nous semblons tous contourner, mais je pense qu'il vaut la peine d'être déballé.

Découvrez d'abord la véritable gamme des intentions des utilisateurs

Face à de telles situations, je trouve utile de prendre du recul et de nous assurer que nous avons une bonne appréciation de la diversité des intentions des utilisateurs au sein de notre système. J'ai dessiné un schéma simple pour illustrer ce que je veux dire:

domain of user intents

Ici, je considère deux choses:

  • Comment pouvons-nous bien définir les activités des utilisateurs?
  • Dans quelle mesure pouvons-nous prédire quand les utilisateurs ont besoin de quelque chose?

Par exemple:

Si nous savons que chaque matin, les directeurs des ventes examinent leur pipeline de ventes par valeur et date de clôture, nous pouvons concevoir un tableau de bord pour cela et savoir qu'il devrait être "à portée de main" chaque matin. C'est ce que j'appellerais un cas d'utilisation défini défini et omniprésent .

Lorsque nous voyons des analystes en investissement déferler sur les actions de leur portefeuille, nous savons qu'ils évaluent constamment leurs positions en utilisant une gamme de techniques standard, mais nous ne pouvons pas à un moment donné déterminer exactement comment ils font l'évaluation. Cela est particulièrement vrai si c'est en réponse à un stimulus extérieur (comme un appel d'un collègue de la salle des marchés ou une histoire dans le Financial Times). C'est ce que nous pourrions appeler indéfini encore omniprésent .

Peut-être savons-nous que les chefs de département sont responsables de la gestion de leurs coûts et budgets. Mais comprenons-nous ce que gérer implique exactement? Et cela peut changer avec le temps - par exemple, au début de l'année, l'entreprise pourrait se concentrer sur la part de marché et l'optimisation des revenus, tandis qu'au quatrième trimestre, tout le monde se concentre sur la réduction des coûts. Cela peut conduire à des types très différents d'examen et d'action. Ce scénario que je pourrais appeler indéfini et éphémère

Et ainsi de suite .. Je pense que vous obtenez l'image.

Décider où se concentrer

Le quadrant supérieur droit est évidemment le meilleur endroit pour être designer. Nous pouvons déterminer ce dont les utilisateurs ont vraiment besoin et nous concentrer sur la conception de la meilleure expérience pour eux. Nous pouvons éliminer toute la cruauté dans notre application qui n'ajoute pas de valeur à l'expérience. Nous pouvons gagner des prix si nous le faisons bien ;-)

Malheureusement, le monde est un endroit en désordre. Les chances sont que nos utilisateurs sont partout dans le tableau. Et cela peut changer d'une minute à l'autre.

Notre réponse habituelle, et toujours le meilleur conseil que vous entendrez quelle que soit la discipline (programmeurs, designers, entrepreneurs) est tout simplement de se concentrer. In extremis: faites une chose et faites-la bien.

Si vous êtes dans une startup ou travaillez sur un MVP, c'est facile et auto-sélectionné ("nous ne construisons cela que pour les utilisateurs qui veulent faire X").

Pour tout le monde, je suggère que nous devons plutôt d'abord apprécier dans quel (s) quadrant (s) les utilisateurs veulent et doivent travailler, et l'utiliser comme objectif pour concentrer nos efforts. Si nos utilisateurs travaillent dans le Quadrant D, mais nous essayons de les forcer dans une solution du Quadrant A .. ce ne sera pas joli, et les utilisateurs gagneront toujours à la fin de toute façon.

Scénario de Jason

Le vrai Jason a probablement évolué depuis longtemps, mais beaucoup d'entre nous ont nos jours quand nous sommes Jason. D'après sa description, il semble que l'hypothèse/proposition de départ est que les utilisateurs de Jason sont tous sur le Quadrant C - toujours très occupé à faire des choses que nous ne pouvons pas facilement définir avec les ensembles de données que nous fournissons.

En d'autres termes, classique travailleurs du savoir . Nous avons particulièrement du mal à construire des systèmes pour ces gens, car ils connaissent et répondent à beaucoup de choses dont nos pauvres ordinateurs n'ont aucune idée.

Il n'est pas surprenant que l'humble tableur règne toujours en maître dans des endroits comme les services financiers. Une fois que les systèmes ERP sont terminés avec tout le traitement des transactions, la plupart du travail restant tombe carrément en dehors du quadrant supérieur droit ... et une feuille de calcul est toujours la toile vierge ultime pour travailler avec des données .

Alors, que pouvons-nous faire? Je suggérerais deux stratégies parallèles

Identifier les cas d'utilisation pour le traitement du quadrant A

OK, peut-être que la plupart du travail doit être effectué dans la vue de la feuille de calcul. Mais peut-être pas tous. Lorsque nous récupérons des indications d'une utilisation omniprésente définie, nous pouvons créer spécifiquement pour cela (une autre vue, une page de tableau de bord ou un punch-out).

Il y a beaucoup de bonnes réponses et commentaires déjà attachés à cette question qui y parviennent en quelque sorte: comment trouver le joyau du Quadrant A dans le désordre du Quadrant C?

Comment trouvons-nous les pierres précieuses à l'état brut?

  • old school - passer des heures/jours/semaines à travailler avec les utilisateurs pour savoir ce qu'ils font vraiment
  • trouver des champions de la communauté des utilisateurs qui peuvent expliquer comment les choses se font vraiment
  • regardez les données. Peut-on découvrir comportements prédictifs conduisant à une action définie? par exemple. avant de passer un ordre de vente, les utilisateurs semblent toujours regarder les vues A et B, trier par C et D et exécuter le rapport E. Cela peut au moins nous donner un endroit pour commencer à examiner de plus près ...

Créez la meilleure expérience Quadrant C possible

Mais avec des systèmes comme celui-ci, il est souvent un Taylor-pipe-dream de penser que nous pourrons éventuellement réduire tout cela à un ensemble soigné de cas d'utilisation, nous pouvons concevoir des solutions de quadrant A autour.

Si nous ne pouvons pas construire pour des objectifs finaux complets et bien définis, peut-être pouvons-nous encore faire de grands sauts en améliorant le parcours des utilisateurs?

Focus sur l'accès et les conditions

Nous ne savons donc pas exactement ce que les utilisateurs essaient de faire, mais nous pouvons améliorer leur capacité à accéder à nos données et à les manipuler. Par exemple:

  • recherche, filtrage et tri de premier ordre
  • colonne afficher/masquer. Mieux encore: afficher/masquer les groupes de colonnes
  • téléchargement facile des données pour faire ma propre analyse
  • choisir parmi un ensemble de vues prédéfinies à des fins spécifiques
  • peut-être puis-je enregistrer et utiliser mes propres vues personnalisées? Je peux peut-être partager ce point de vue avec des collègues
  • en tant qu'utilisateur, je peux "adapter" ma vue au besoin. Par exemple:
    • taille de police
    • plus/moins de détails par cellule
    • mode ligne mince/ligne large/mode Pinterest

Focus sur le micro-outillage

Nous ne connaissons pas toute l'histoire de ce que vous essayez de réaliser, mais nous pouvons livrer des parties du puzzle. Par exemple:

  • exploration évidente des lignes pour plus d'informations
  • outils "clic droit":
    • pivoter par cette colonne
    • chercher une nouvelle valeur pour cette cellule
    • tendance historique contextuelle pour cette ligne/cellule
    • épingler cette rangée et classer les autres autour d'elle

Concentrez-vous sur l'ajout de valeur aux données

Nous ne savons pas exactement comment nos employés transforment nos données en Information-Knowledge-Wisdom , mais nous devons rechercher des opportunités pour améliorer continuellement la valeur que nous pouvons ajouter aux données.

par exemple. aujourd'hui, je vous donne simplement les chiffres de production bruts, demain je peux vous donner cela, plus le changement depuis hier/la semaine dernière/le mois dernier.

Ainsi, alors que les gens seront probablement encore en mesure d'extraire les connaissances et la sagesse, nous pouvons peut-être mieux présenter les informations au lieu de simplement les données.

30
tardate

Je sais que vous avez sélectionné une réponse, mais je voulais évoquer quelque chose qui me semble assez important: les données par rapport aux informations. J'y ai beaucoup réfléchi récemment, donc c'est à l'avant de mes têtes.

Ce que vous faites, c'est afficher des données. C'est brut, tout semble vraiment important, mais en réalité la plupart des gens n'ont pas besoin de voir les données. Ce dont ils ont vraiment besoin, ce sont des informations générées à partir des données. Vous mentionnez dans l'un des commentaires que les utilisateurs peuvent "voir un graphique lorsqu'ils survolent la ligne", et je pense que c'est à l'envers. Les données brutes doivent être disponibles sur demande, mais la vue par défaut doit analyser les données et afficher les informations résultantes.

Cela ne veut pas dire que les graphiques sont le bon choix, mais un affichage alternatif des principales conclusions de toutes ces données pourrait être une voie plus sage. C'est plus difficile à développer, conceptuellement, mais cela fera du produit final un outil plus utile qu'un simple lieu de recherche. La question à poser à vos utilisateurs est "que voulez-vous savoir lorsque vous regardez cet écran?"

26
Tim Sullivan

Ce que nous faisons, c'est diviser l'écran essentiellement en deux parties. La moitié supérieure affiche des détails sur l'élément actuellement sélectionné, la moitié inférieure affiche la grille avec une liste paginée des éléments disponibles.

Les contrôles d'onglet sont utilisés pour afficher des vues de détail/collection de ce que nous appelons des détails/collections imbriqués. Ceux-ci sont formés par des relations de clé étrangère.

J'espère que cela vous aide un peu. mockup

14
JochemKempe

Un exemple auquel je peux penser qui pourrait inspirer quelque chose est page des classements de MLB.com , qui est un tableau avec beaucoup trop de colonnes, mais l'interface de personnalisation est instantanément intuitive (pour moi - et elle n'est pas destinée à un public de technophiles). Vous ne voulez probablement pas la limite arbitraire de MLBAM sur le nombre maximum de colonnes que vous pouvez avoir, bien sûr.

Le plus gros problème d'interface utilisateur avec le masquage des colonnes est généralement de récupérer la colonne masquée - à moins qu'ils ne l'aient résolu récemment, "afficher" est vraiment difficile à trouver dans Excel, par exemple.

12
Richard Gadsden

Je suis un peu surpris que personne n'ait encore suggéré le modèle Master-Detail.

Nous avons exactement le même problème dans plusieurs de nos propres produits: trop de colonnes pour tenir sur un écran, cependant, chaque élément d'information sera pertinent dans certains cas d'utilisation.

En fait, nous avons décidé de faire ce que vous (r boss) avez exclu: réduire le nombre par défaut de colonnes visibles à environ 5-6 attributs soigneusement sélectionnés pour couvrir 90% des cas d'utilisation. Cependant, pour la ligne sélectionnée, nous affichons tous les attributs dans un volet de propriétés sur le côté droit de l'écran. L'utilisateur voit les attributs les plus importants du plus grand nombre de lignes possible dans le tableau et autant d'attributs que possible pour la ligne sélectionnée dans le volet de propriétés.

L'utilisateur peut toujours ajouter/supprimer des colonnes de la table, tout comme dans l'Explorateur Windows, s'il juge d'autres colonnes plus importantes que celles choisies par nous, ou même fermer le volet des propriétés et recourir au défilement horizontal, si l'utilisateur décide que c'est ce qu'elle veut vraiment.

L'introduction du volet des propriétés présente quelques avantages intéressants:

  • Vous pouvez fournir une interface utilisateur d'édition plus significative si les données sont destinées à être modifiées
  • Souvent, vous pouvez présenter les données de manière plus appropriée que dans une cellule de tableau. Pensez à une photo prise d'un employé, à un ensemble de coordonnées GPS affichées sur une carte, les possibilités sont infinies.

Pardonnez que les étiquettes soient allemandes, mais cela devrait faire passer l'idée:

enter image description here

11
Chris

Du matériel, bien sûr, mais je suggère une configuration multi-écrans standard. Deux 19 "par rapport à un seul 24" est spectaculaire lorsque vous travaillez avec des tables larges ou des feuilles de calcul.

En outre, fuzzify/normaliser les colonnes critiques (colonnes qui indiquent à l'utilisateur qu'une analyse plus approfondie doit être effectuée, et éventuellement une action supplémentaire). Groupez par ces valeurs floues.

L'autre astuce pourrait être d'incorporer des colonnes "épinglées" de sorte que lorsqu'un utilisateur fait défiler vers la gauche ou la droite, les colonnes épinglées suivent à l'extrémité opposée de l'écran en fonction de la direction du défilement.

7
JustinC

Je pense que vous devez parler avec votre patron de celui-ci. l'affichage de toutes les colonnes et de toutes les lignes encombrera l'écran au-delà de ce qui est utilisable. C'est comme demander de garer un camion sur une place de parking pour voitures particulières. Ne se termine pas bien pour le camion et l'espace de stationnement.

Ce que vous devez vous demander et le client est quelles mesures l'utilisateur va prendre pour évaluer toutes les données. Quelle est la décision basée sur d'abord, puis ce qui doit être vérifié. À partir de là, vous pouvez commencer à comprendre comment l'utilisateur utilisera votre application. Une fois que vous savez que vous pouvez rationaliser les données et les présenter dans un rapport gérable.

d'après ce que je vois dans votre exemple, les données globales ne peuvent pas être capturées dans une seule vue. cela signifie que l'utilisateur devra faire des allers-retours entre les deux espaces de comparaison. Cela peut entraîner une mauvaise décision car les données sont lues de manière incorrecte. les erreurs dans l'entreprise pour laquelle vous travaillez peuvent coûter cher. en disant à votre client qu'il comprendra probablement que vous devez éviter ces erreurs en peignant une image plus claire.

OPTION: Si vous comparez des lignes de données, je suggère un minimum de données dans l'aperçu et la sélection d'un couple à comparer créera un rapport avec toutes les données correctement comparées (graphiques, nombres ou toute autre aide visuelle).

OPTION ALTERNATIVE: Allez voir votre patron, dites que vous le ferez à sa façon mais mettez un autre design sur la table. Lorsque le moment vient et que les hordes d'utilisateurs en colère sont à sa porte, vous lui rappelez que vous avez créé un design alternatif. la politique en technologie n'est jamais mon préféré. mais c'est parfois juste nécessaire!

5
yopefonic

Vous pouvez peut-être regrouper les colonnes de faible valeur (c'est-à-dire: les valeurs dans la plage [0..100)) en sous-colonnes.

Au lieu de:

| Description | Count | Mean | Sum | Foo    | Bar   |
| Lorem ipsum |     1 |    2 |   3 | $ 1.00 | +0.2% |

Présent en tant que:

| Description | Totals    | Foo    | Bar   |
|             | C / M / S |        |       | 
| Lorem ipsum | 1 : 2 : 3 | $ 1.00 | +0.2% |

Où ":" est un séparateur de sous-colonnes, et C/M/S signifie "Count/Mean/Sum" (ou toutes les données qui y sont affichées).

Si les valeurs absolues des données ne sont pas importantes, vous pouvez transformer des pourcentages en icônes de barre empilées.

Si une colonne est le pourcentage d'une autre colonne, vous pouvez utiliser l'arrière-plan de la colonne cible comme barre de progression. En fait, en fonction de la variété des domaines de données, l'arrière-plan de la cellule peut indiquer la valeur qu'elle contient et supprimer le préfixe monétaire et/ou la mise en forme superflue.

5
Romulo AB

Je ne sais pas si vous êtes autorisé à le faire, mais qu'en est-il de ne pas utiliser de table? Affichez une liste d'éléments, voici un exemple de liste de films:

* Movie title 1 *
Cast: actor a, actor b
Year: 2000       Runtime: 100 min       Rating: 75%

* Movie title 2 *
...
3
fhucho

Voici quelques idées:

La vraie question est la suivante: quelles données l'utilisateur a-t-il réellement besoin de voir? Toutes les lignes remplissent-elles toutes les colonnes de vos données? Le mien ne le fait pas, mais il est loin d'être un affichage matriciel "clairsemé".

1) vue fisheye
Avez-vous déjà pensé à une vue fisheye? Difficile de trouver une bonne solution javascript, mais Java sont assez faciles à trouver.

2) conseils de survol
Affichez simplement les données numériques concises (avec une précision variable en fonction de la plage) et exposez les titres des colonnes en survol? Vous voudrez peut-être/devrez mettre en évidence les cellules d'intérêt et laisser l'utilisateur survoler pour voir de quelle colonne il s'agit.

3) regroupement
Groupez les éléments avec des colonnes similaires remplies en groupes et créez plusieurs tableaux avec des éléments similaires, en laissant de côté les colonnes non remplies de chaque table. Vous n'avez pas besoin de savoir au préalable comment les regrouper ... Vous pouvez créer un bitmap ou un hachage dont les colonnes sont remplies pour chaque ligne, puis trier/regrouper les lignes en ensembles de colonnes communs. Un autre algorithme consiste simplement à trier par nombre de colonnes remplies. J'ai trouvé que cela fonctionnait assez bien et aide à identifier facilement les regroupements, et expose assez bien les incohérences mineures.

3
ericslaw

En règle générale, vous ne devriez pas être au gré de tous les désirs de vos utilisateurs. C'est votre travail en tant que professionnel de réinventer leurs besoins d'une manière qui résume de manière appropriée et efficace les masses de données. Les ordinateurs sont excellents pour rassembler des hordes de données et les humains sont mauvais pour interpréter ces données. Résistez, de toutes vos forces, à l'affichage à l'écran de tableaux non formatés et non résumés.

Pensez à rechercher sur Google - la plupart des recherches renvoient généralement des millions de visites. Mais avez-vous déjà navigué au-delà de la première page? Si vous êtes comme la plupart, presque jamais. Que faites-vous si vous ne trouvez pas votre réponse sur la première page? Vous reformulerez votre question et réduirez les résultats jusqu'à ce que votre cible apparaisse sur la première page.

Suivez l'exercice de recherche Google en pensant à votre application. Il n'est que rarement possible de répertorier un cliché non filtré des dossiers.

Un autre exemple - considérez les contacts ou les morceaux de musique sur votre iPhone. Je serais très surpris si vous n'appuyiez pas immédiatement sur le rouleau de lettres à droite et ne sautiez pas à la section alphabétique. La liste complète et complète des enregistrements est plus pour les bonbons (pour montrer la capacité de défilement du téléphone) qu'autre chose.

Maintenant, tout cela peut également être appliqué aux données que vous affichez horizontalement (nombre de colonnes). Trouvez une manière créative et intuitive de résumer ces données. Un avantage supplémentaire à clouer c'est que ce sont les choses qui rendent une application agréable à utiliser. Ajoutez suffisamment de ces réglages et astuces réfléchis et l'application devient même "amusante" à utiliser.

À tout le moins, vous pensez au problème; c'est plus loin que la plupart des développeurs. Bonne chance!

3
xanadont

Je dois juste jeter mes deux cents ici, malgré le fait que cette question soit si ancienne.

Si vous avez un tas de données qui sont TOUS nécessaires pour que l'utilisateur prenne des décisions, alors il y a évidemment un processus de prise de décision qui est basé sur ces données. Plutôt que de confier à l'utilisateur la responsabilité de prendre ces décisions en fonction de données brutes, vous devriez plutôt vous concentrer sur la façon de traiter ces données brutes d'une manière plus utile pour l'utilisateur.

Par exemple, si vous avez des colonnes A, B, C, D et E, et A doit être mis à jour lorsque B et C sont inférieurs à D mais supérieurs à E, alors au lieu de montrer à vos utilisateurs toutes ces colonnes, il vous suffit de une seule colonne qui indique si cette condition est actuellement vraie ou non.

Au lieu de submerger vos utilisateurs de données, vous devez établir une couche de logique métier qui UTILISE ces données. Non seulement cela simplifiera considérablement la complexité de votre interface graphique, mais vos utilisateurs vous seront très probablement extrêmement reconnaissants d'avoir facilité leur vie. Vous devez toujours essayer d'identifier les tâches qui sont plus faciles pour les ordinateurs que pour les personnes, et décharger la responsabilité de ces tâches sur l'ordinateur.

2
Isochronous

Puisque nous ne savons pas pourquoi les utilisateurs doivent voir toutes les colonnes ou pourquoi votre patron pense qu'ils veulent voir toutes les colonnes, vous allez vous débarrasser de certaines solutions de colonnes. Voici la mienne. Ayez un moyen pour les utilisateurs de sélectionner, de commander et d'enregistrer leurs préférences pour les colonnes qu'ils souhaitent. Je suis sûr qu'il y a un nombre important d'utilisateurs qui aimeraient ne voir que 5 colonnes. Le vrai problème est qu'ils ne veulent pas tous voir les mêmes. Finalement, ils auront tellement de colonnes qu'une barre de défilement horizontale apparaîtra. Je suppose que ces "accros aux feuilles de calcul" ne m'en voudront pas. Ils se sentiront comme chez eux.

2
JeffO

La première chose qui vient à l'esprit est les colonnes redimensionnables. Puisque vous dites que toutes les colonnes doivent être visibles et que les données doivent être au format tableau. Les noms de colonne peuvent être dans un angle de 45 degrés, de sorte qu'ils seraient facilement identifiables et prendraient en même temps moins d'espace.

1
Bojan Gavrovski

Rendez-le dynamique en ce que vous contrôlez quelles colonnes sont affichées, puis utilisez des valeurs par défaut intelligentes. Un bon exemple de cela est Google External Keyword Tool , où vous pouvez ajouter/supprimer/trier des colonnes à volonté. Avec des colonnes dynamiques, vous pouvez avoir votre gâteau et le patron peut le manger.

1
Virtuosi Media

Je suis d'accord avec Erwin concernant les graphiques. Des graphiques sparkline peuvent être appropriés.

Voici une discussion concise de ce genre de chose sur le site d'Edward Tufte:

http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=00002r&topic_id=1

1
njivy

J'ai eu ce problème exact, avec plus de 25 colonnes. Toutes les données texte donc pas de chiffres. En gros, c'est un énorme inventaire avec accès à de nombreux domaines.

Actuellement, les touches fléchées haut et bas sélectionnent toujours la ligne, mais les touches gauche et droite masquent et dé-masquent une colonne afin que l'ensemble du tableau se déplace vers la gauche.

Couplée à une recherche vraiment sympa, cette solution n'est pas mauvaise.

Bien sûr, la vue par défaut est entièrement personnalisable par l'utilisateur.

0
vener

En fait, nous avons également rencontré un tel problème avec trop d'affichage des données dans une table et l'utilisateur doit voir plus de colonnes directement au lieu du défilement horizontal.

Ce que je sais solution possible et ce que nous avons également essayé dans notre conception:

  • Essayez de réduire la largeur de la colonne, comme par exemple le libellé ou la valeur.
  • Vue brève avec option d'extension, pour permettre à l'utilisateur de voir plus de détails si nécessaire. mais peut afficher les informations nécessaires avec le premier regard.
  • Affichage des détails principaux, avec une vue brève en premier et une vue détaillée en dessous ou à côté pour afficher plus d'informations.

Quelqu'un a une solution ou une idée plus spéciale?

0
OneSeven