it-swarm.it

Come visualizzare troppi dati

Stiamo costruendo una piattaforma basata sul Web in cui la dashboard principale mostra una tabella di dati che gli utenti possono visualizzare e analizzare. Mentre stiamo sviluppando questo strumento, sembra che stiamo aggiungendo sempre più colonne e stiamo esaurendo lo spazio orizzontale su risoluzioni dello schermo più piccole (stiamo vedendo un po 'di dati). È importante per l'utente visualizzare contemporaneamente tutte le colonne, quindi nascondere la colonna è in qualche modo fuori questione, come lo scorrimento orizzontale (su richiesta del boss e perché lo scorrimento orizzontale fa comunque schifo). Mi chiedevo se qualcuno fosse a conoscenza di un'interfaccia utente intelligente per le tabelle con molte colonne.

[~ ~ #] modifica [~ ~ #]

Di seguito è una schermata del layout della tabella. Sfortunatamente per motivi di sicurezza ho dovuto confondere i titoli delle colonne. In questo esempio sono presenti righe praticamente prive di dati, ma in uso disporranno di molti dati che si espanderanno più largamente dei rispettivi titoli di colonna. In risposta ad alcune risposte, è indispensabile che l'utente veda tutte le colonne, poiché sono tutte necessarie per analizzare i dati per prendere determinate decisioni. Tutti i dati sono numerici a parte le prime tre colonne. Grazie ancora per qualsiasi feedback.

alt text

Ok, quindi vedo che caricare questa immagine non rende giustizia ... occupa l'intera larghezza dello schermo con una risoluzione di 1680x1050 (22 ") e quando i dati riempiono le colonne, la colonna di sinistra con il testo si restringe un po 'giù.

EDIT 2 Volevo solo ringraziare le fantastiche idee di tutti. Posso selezionare solo una risposta, ma molte delle tue idee si sono rivelate molto utili e potrebbero finire nel prodotto finale. Grazie ancora!

217
Jason

Poiché tutti i dati dopo le prime tre colonne sono numerici, è possibile arrotondare in modo che la larghezza di ciascuna colonna sia di soli quattro caratteri.

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

È possibile decidere quale versione visualizzare in base alla quantità di spazio disponibile. Coloro che hanno la fortuna di avere monitor più grandi otterrebbero comunque tutto. La presentazione si degraderebbe con grazia per i monitor più piccoli

Naturalmente, quando il contenuto di una cella viene abbreviato, è necessario mostrare l'intero valore in una descrizione comandi.


Aggiornamento: @Oskar ha sottolineato nei commenti che mostrare numeri di diversa grandezza rende più difficile il confronto visivo. Quindi ecco una variazione nel caso in cui il confronto dei valori relativi sia più importante della precisione.

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

(L'intestazione in questo esempio è più ampia dei dati, ma come altri hanno sottolineato che può essere risolto inclinando le intestazioni con un angolo di 45 gradi.)

134

Puoi provare a visualizzare più righe per record, ad es .:

alt text

Puoi anche fare un ulteriore passo trasformando ogni riga in una vista di riepilogo che può essere espansa in modo che l'utente possa vedere il record completo, ad es .:

alt text

Nella foto sopra, l'utente è interessato alle informazioni complete di Mary Jane, quindi fa clic sul triangolo accanto al suo nome per vedere il record completo.

Inoltre, non sono d'accordo con la tua premessa che "nascondere la colonna è in qualche modo fuori questione". Se ci sono davvero che molte informazioni, l'utente vorrà nascondere qualcosa. Potresti averli inizialmente tutti visibili per impostazione predefinita; ma dovrebbe esserci un modo per l'utente di nascondere alcune colonne mentre procede.

153
Hisham

Se le colonne stanno espandendo le righe, puoi provare a mettere le righe come colonne

alt text

109
Eduardo Molteni

Questo suona molto come il caso in cui il cliente/product manager vuole tutto nella schermata principale vs. tutto ciò che necessità nella schermata principale.

IMHO, una schermata del dashboard dovrebbe fornire all'utente un panoramica di tutto ... ma per ottenere dettagli su una parte di quello (ad esempio l'aumento del 275% delle vendite di questa settimana) l'utente deve "analizzare in dettaglio" i dati per vedere la tabella o le informazioni su da dove provengono le vendite.

Complicare eccessivamente la vista "principale" per provare a mostrare molte e molte informazioni finisce per fallire quando l'utente si perde in una serie di dati. Gli esempi che seguono sono solo cose casuali che ho trovato su Google, ma nella schermata A difficilmente puoi nemmeno decidere da dove iniziare - rispetto alla schermata B in cui i contenuti sono organizzati in modo ordinato in panoramiche.

esempio di dati schiaccianti: alt text

esempio di dati semplici e facili da digerire: alt text

61
scunliffe

La tabella è un buon modo per presentare una grande quantità di dati. Tuttavia, con più di 5 colonne, le tabelle diventano rapidamente illeggibili. Se i tuoi dati cambiano in tempo reale mentre li dici, molto probabilmente l'utente non sarà in grado di prendere la sua decisione in tempo se dovesse guardare 15 colonne diverse contemporaneamente.

Google sa bene che la considerazione più importante quando si guarda una grande quantità di dati è l'ordinamento. È necessario ordinare in base alla sua pertinenza per l'utente. Ogni parte di dati può essere importante, ma alcune parti di dati sono più importanti di altre, è necessario identificare quale parte è la più importante e quali parti non lo sono, questo dipende fortemente dall'obiettivo del business.

Non tutte le colonne sono uguali

Alcune colonne sono più importanti dell'altra:

  • alcune colonne devono essere lette prima che i dati in un'altra colonna diventino rilevanti. Gli utenti che parlano inglese leggono da sinistra a destra, le colonne dovrebbero essere lette da sinistra a destra quando possibile;
  • alcune colonne sono importanti solo nel loro ordine relativo, ovvero i loro valori assoluti non contano davvero, ad es. appuntamento. Puoi nascondere questa colonna e utilizzare l'ordinamento per dare il senso dell'ordine;
  • alcuni valori sono importanti solo come alto, medio, basso. La piccola differenza tra due valori "alti" potrebbe non influenzare molto il processo decisionale poiché ci sono altri fattori che influenzano la decisione in modo più significativo. È possibile utilizzare l'icona "verde", "giallo", "rosso" anziché il testo completo per risparmiare spazio.
  • alcune colonne possono essere di sola lettura o devono essere modificate meno spesso di altre, ci sono gruppi di colonne che molto probabilmente verranno modificate insieme. Ordinare le colonne in modo che le colonne che richiedono la modifica insieme siano raggruppate;

Non tutte le righe sono uguali

Un errore molto comune durante l'ordinamento è quello di ordinare in base a un ordine arbitrario inutile, come ordine alfabetico o data o valori numerici. L'ordinamento statico e coerente è utile se è necessario cercare valori, ma è necessario lasciare che il computer esegua la ricerca per te . Invece, nella maggior parte dei casi vorrai ordina per pertinenza.

Alcuni di questi potrebbero o meno essere applicabili nel tuo caso:

  • i dati aggiornati di recente sono più importanti;
  • le transazioni con valori più alti o le transazioni in un determinato intervallo di valori sono più importanti;
  • valori falsi o valori veri non sono importanti;
  • (più complicati) i valori falsi sono importanti solo quando un altro campo ha un certo valore, altrimenti è importante il valore vero

Devi identificare questi obiettivi per i tuoi utenti e fare un ordinamento ponderato ponderato di dati e colonne di conseguenza. Se non hai identificato quali obiettivi sono i più importanti per i tuoi utenti, allora non stai realmente progettando . Dopo aver identificato quali dati sono più importanti, puoi procedere a nascondere alcuni dei dati meno importanti, a abbreviarli o a astrarli in icone. Le icone sono facili da assorbire e l'utente non vuole passare tre secondi a leggere un 8221 e 1463 se può passare un decimo di secondo a guardare "cerchio verde" e "croce rossa".

Alcuni valori sono importanti solo in determinati contesti

Evidenzia valori interessanti. L'utente può essere interessato solo a transazioni con un certo valore in un determinato campo. E l'utente potrebbe sapere che non avrebbe mai toccato transazioni troppo alte o troppo basse per le sue preferenze; puoi filtrarli in modo che l'utente non debba nemmeno vederli. Puoi persino nascondere un'intera colonna, se l'utente dice che non ha un uso per la colonna.

37
Lie Ryan

quali dati l'utente deve effettivamente vedere?

Se solo potessimo ottenere una risposta diretta a questo. Invece di "dipende".

Continuo a imbattermi in questo problema e ogni volta che Google finisco di nuovo qui all'eccellente domanda di Jason.

E ci sono molte risposte eccellenti, ma sento l'odore di un meta-argomento su cui tutti sembriamo aggirarci ma penso che valga la pena disimballare.

In primo luogo ottenere un controllo sulla gamma reale di intenzioni dell'utente

Di fronte a situazioni come questa, trovo utile fare un passo indietro e assicurarci di apprezzare appieno la diversità delle intenzioni degli utenti all'interno del nostro sistema. Ho disegnato un semplice diagramma per illustrare cosa intendo:

domain of user intents

Qui sto considerando due cose:

  • In che modo possiamo definire le attività degli utenti?
  • Quanto possiamo prevedere quando gli utenti hanno bisogno di qualcosa?

Per esempio:

Se sappiamo che ogni mattina i responsabili delle vendite esaminano la loro pipeline di vendita in base al valore e alla data di chiusura, allora possiamo progettare una dashboard e sapere che dovrebbe essere "a portata di mano" ogni mattina. Questo è ciò che definirei un caso d'uso definito e pervasivo .

Quando vediamo analisti degli investimenti riversarsi sui titoli del loro portafoglio, sappiamo che valutano costantemente le loro posizioni utilizzando una serie di tecniche standard, ma non possiamo stabilire in alcun momento esattamente come stanno facendo le valutazioni. Ciò è particolarmente vero se è in risposta a uno stimolo esterno (come una chiamata di un collega nella sala di negoziazione o una storia del Financial Times). Questo è ciò che potremmo definire non definito ancora pervasivo .

Forse sappiamo che i capi dipartimento sono responsabili della gestione dei loro costi e budget. Ma capiamo cosa comporta esattamente gestione? E questo può cambiare nel tempo - ad esempio all'inizio dell'anno, la società potrebbe concentrarsi sulla quota di mercato e sull'ottimizzazione dei ricavi, mentre entro il quarto trimestre tutti sono concentrati sulla riduzione dei costi. Ciò può portare a diversi tipi di revisione e azione. Questo scenario che potrei definire indefinito e effimero

E così via .. Penso che tu abbia la foto.

Decidere dove mettere a fuoco

Il quadrante in alto a destra è ovviamente il posto migliore per essere come designer. Siamo in grado di individuare ciò di cui gli utenti hanno veramente bisogno e fare del nostro meglio per progettare la migliore esperienza per loro. Possiamo eliminare tutte le cruft nella nostra applicazione che non aggiungono valore all'esperienza. Possiamo vincere premi se lo facciamo bene ;-)

Sfortunatamente, il mondo è un posto disordinato. È probabile che i nostri utenti siano in tutto il grafico. E questo può cambiare di minuto in minuto.

La nostra solita risposta, e comunque il miglior consiglio che ascolterai indipendentemente dalla disciplina (programmatori, designer, imprenditori) è semplicemente il focus. In extremis: fai una cosa e fallo bene.

Se sei in una startup o stai lavorando su un MVP, questo è facile e auto-selezionante ("lo costruiamo solo per gli utenti che vogliono fare X").

Per tutti gli altri, sto suggerendo che invece dobbiamo prima apprezzare quale quadrante (i) gli utenti vogliono e di cui hanno bisogno per lavorare, e usarlo come obiettivo per focalizzare i nostri sforzi. Se i nostri utenti lavorano nel quadrante D, ma stiamo cercando di forzarli in una soluzione del quadrante A .. non sarà carino e gli utenti vinceranno comunque alla fine comunque.

Scenario di Jason

Il vero Jason probabilmente è andato avanti a lungo, ma molti di noi hanno i nostri giorni in cui siamo Jason. Dalla sua descrizione, sembra che il presupposto/la proposizione iniziale sia che gli utenti di Jason siano tutti incentrati sul quadrante C - sempre molto impegnato a fare cose che non possiamo facilmente definire con i set di dati che forniamo.

In altre parole, classico knowledge worker . Facciamo particolare fatica a costruire sistemi per queste persone, perché sanno e rispondono a molte cose di cui i nostri poveri computer non hanno idea.

Non sorprende che l'umile foglio di calcolo regni ancora supremo in luoghi come i dipartimenti finanziari. Una volta che i sistemi ERP sono stati completati con tutta l'elaborazione della transazione, la maggior parte del lavoro rimanente cade esattamente al di fuori del quadrante in alto a destra ... e un foglio di calcolo è ancora il canvas vuoto definitivo per lavorare con i dati .

Quindi cosa possiamo fare? Suggerirei due strategie parallele

Identificare i casi d'uso per il trattamento con quadrante A.

OK, forse la maggior parte del lavoro deve essere eseguita nella vista pseudo-foglio di calcolo. Ma forse non tutto. Quando raccogliamo indicazioni sull'uso definito pervasivo, possiamo costruire appositamente per quello (un'altra vista, pagina dashboard o punch-out).

Ci sono molte buone risposte e commenti già allegati a questa domanda che stanno in qualche modo arrivando a questo: come trovare il gioiello del quadrante A nel caos del quadrante C?

Come possiamo trovare gemme allo stato grezzo?

  • vecchia scuola - trascorri ore/giorni/settimane a lavorare con gli utenti per scoprire cosa fanno veramente
  • trova i campioni della community di utenti che possono spiegare come vengono fatte le cose
  • guarda i dati. Possiamo scoprire comportamenti predittivi che porta a un'azione definita? per esempio. prima di effettuare un ordine di vendita, gli utenti sembrano sempre guardare le viste A e B, ordinare per C e D ed eseguire il rapporto E. Potrebbe almeno darci un posto per iniziare a esaminare più da vicino ...

Crea la migliore esperienza quadrante C possibile

Ma con sistemi come questo, spesso è un Taylorist pipe-dream pensare che alla fine possiamo ridurre tutto in un set accurato di casi d'uso in cui possiamo progettare soluzioni Quadrant A.

Se non riusciamo a realizzare obiettivi finali completi e ben definiti, forse possiamo ancora fare grandi balzi concentrandoci sul miglioramento del viaggio per gli utenti?

Focus su Accesso e Convenzioni

Quindi non sappiamo esattamente cosa gli utenti stanno cercando di fare, ma possiamo migliorare la loro capacità di accedere e manipolare i nostri dati. Per esempio:

  • ricerca, filtro e ordinamento migliori della categoria
  • mostra/nascondi colonna. Meglio ancora: mostra/nascondi gruppi di colonne
  • facile download di dati per fare la mia analisi
  • selezionare da una serie di viste predefinite per scopi specifici
  • forse posso salvare e utilizzare le mie viste personalizzate? Forse posso condividere questa opinione con i colleghi
  • come utente posso "ridimensionare" la mia vista come richiesto. Per esempio:
    • dimensione del font
    • più/meno dettagli per cella
    • sottile-riga/grasso fila/pinterest-mode

Focus on Micro-Tooling

Non conosciamo l'intera storia di ciò che stai cercando di ottenere, ma possiamo fornire parti del puzzle. Per esempio:

  • drill-down evidente sulle righe per ulteriori informazioni
  • strumenti "tasto destro":
    • perno di questa colonna
    • cercare un nuovo valore per questa cella
    • tendenza storica pop-up per questa riga/cella
    • appuntare questa riga e classificare gli altri intorno ad essa

Focus sull'aggiunta di valore ai dati

Non sappiamo esattamente come le nostre persone stanno trasformando i nostri dati in Informazione-Conoscenza-Saggezza , ma dovremmo cercare opportunità per migliorare continuamente il valore che possiamo aggiungere ai dati.

per esempio. oggi ti do solo numeri di produzione grezzi, domani posso darti questo e il resto da ieri/la scorsa settimana/il mese scorso.

Quindi, mentre le persone probabilmente avranno ancora il controllo dell'estrazione di conoscenza e saggezza, forse possiamo migliorare nel presentare le informazioni anziché solo i dati.

30
tardate

So che hai selezionato una risposta, ma volevo far apparire qualcosa che ritengo piuttosto importante: dati vs. informazioni. Ci ho pensato molto di recente, quindi è nella parte anteriore della mia testa.

Quello che stai facendo è mostrare i dati. È grezzo, sembra tutto molto importante, ma in realtà la maggior parte delle persone non ha bisogno di vedere i dati. Ciò di cui hanno davvero bisogno sono le informazioni che sono state generate in base ai dati. In uno dei commenti citi che gli utenti possono "vedere un grafico quando passano il mouse sopra la riga" e penso che sia arretrato. I dati non elaborati dovrebbero essere disponibili su richiesta, ma la vista predefinita dovrebbe analizzare i dati e mostrare le informazioni risultanti.

Questo non vuol dire che i grafici siano la scelta giusta, ma una visualizzazione alternativa dei risultati chiave di tutti quei dati potrebbe essere un modo più saggio di procedere. Questo è più difficile da sviluppare, concettualmente, ma renderà il prodotto finale più uno strumento utile che semplicemente un luogo in cui cercare le cose. La domanda da porre ai tuoi utenti è "cosa vuoi sapere quando guardi questa schermata?"

26
Tim Sullivan

Quello che facciamo è dividere lo schermo sostanzialmente in due parti. La metà superiore mostra i dettagli sull'elemento attualmente selezionato, la metà inferiore mostra la griglia con un elenco di articoli disponibili.

I controlli della scheda vengono utilizzati per visualizzare le viste di dettaglio/raccolta di quelli che chiamiamo dettagli/raccolte nidificati. Questi sono formati da relazioni di chiave esterna.

Spero che questo ti aiuti un po '. mockup

14
JochemKempe

Un esempio che mi viene in mente che potrebbe ispirare qualcosa è la pagina delle classifiche di MLB.com , che è una tabella con troppe colonne, ma l'interfaccia di personalizzazione è istantaneamente intuitiva (per me - e non è rivolta a un pubblico techie). Probabilmente non vorrai il limite arbitrario di MLBAM sul numero massimo di colonne che puoi avere, ovviamente.

Il più grande problema dell'interfaccia utente con il nascondiglio della colonna è in genere il recupero della colonna nascosta, a meno che, ad esempio, non sia stata riparata di recente, "scoprire" è davvero difficile da trovare in Excel.

12
Richard Gadsden

Sono un po 'sorpreso che nessuno abbia ancora suggerito il modello Master-Detail.

Abbiamo esattamente lo stesso problema in molti dei nostri prodotti: troppe colonne per adattarsi a uno schermo, tuttavia, ogni informazione sarà rilevante in alcuni casi d'uso.

In realtà, abbiamo deciso di fare ciò che tu (r boss) hai escluso: ridurre il numero predefinito di colonne visibili a circa 5-6 attributi accuratamente selezionati per coprire il 90% dei casi d'uso. Tuttavia, per la riga selezionata, visualizziamo tutti gli attributi in un riquadro delle proprietà sul lato destro dello schermo. L'utente vede gli attributi più importanti di quante più righe possibili nella tabella e quanti più attributi possibili per la riga selezionata nel riquadro delle proprietà.

L'utente può ancora aggiungere/rimuovere colonne dalla tabella, proprio come in Esplora risorse di Windows, se ritiene che altre colonne siano più importanti di quelle scelte da noi, o addirittura chiudere il riquadro delle proprietà e ricorrere allo scorrimento orizzontale, se l'utente decide che quello che lei vuole davvero.

L'introduzione del riquadro delle proprietà presenta alcuni vantaggi:

  • È possibile fornire un'interfaccia utente di modifica più significativa se i dati devono essere modificati
  • Spesso è possibile presentare i dati in modo più appropriato rispetto a una cella di tabella. Pensa a una foto scattata a un dipendente, a una serie di coordinate GPS mostrate su una mappa, le possibilità sono infinite.

Perdonate che le etichette sono tedesche, ma dovrebbe far passare l'idea:

enter image description here

11
Chris

Hardware di sicuro, ma suggerirei l'installazione multi monitor delle materie prime. Due 19 "rispetto al singolo 24" sono drammatici quando si lavora con tavoli ampi o fogli di calcolo.

Inoltre, fuzzificare/normalizzare le colonne critiche (colonne che indicano all'utente che è necessario eseguire ulteriori analisi e possibilmente ulteriori azioni). Raggruppa per quei valori sfocati.

L'altro trucco potrebbe essere quello di incorporare colonne "bloccate" in modo tale che quando l'utente scorre a sinistra oa destra, le colonne bloccate si spostano verso l'estremità opposta dello schermo in base alla direzione di scorrimento.

7
JustinC

Penso che devi parlare con il tuo capo di questo. la visualizzazione di tutte le colonne e di tutte le righe ingombrerà lo schermo oltre la fruibilità. È come chiedere di parcheggiare un camion in un parcheggio per autovetture. Non finisce bene per il camion e il parcheggio.

Quello che dovresti chiedere a te stesso e al cliente è quali passi l'utente dovrà prendere per valutare tutti i dati. Qual è la decisione basata in primo luogo, quindi cosa deve essere verificato. Da ciò puoi iniziare a capire come l'utente utilizzerà la tua applicazione. Una volta che sai che puoi semplificare i dati e presentarli in un rapporto gestibile.

da quello che vedo nel tuo esempio i dati complessivi non possono essere catturati in una vista. questo significa che l'utente dovrà andare avanti e indietro tra i due spazi di confronto. Ciò può comportare una decisione errata perché i dati vengono letti in modo errato. gli errori nel business per cui stai lavorando possono costare molti soldi. dicendo al tuo cliente che probabilmente capirà che devi evitare quegli errori dipingendo un'immagine più chiara.

OPZIONE: Se si stanno confrontando le righe di dati, suggerisco dati minimi nella panoramica e la selezione di una coppia da confrontare creerà un rapporto con tutti i dati confrontati correttamente (grafici, numeri o qualsiasi altro aiuto visivo).

OPZIONE ALTERNATIVA: vai dal tuo capo, dì che lo farai a modo suo, ma metterai sul tavolo un design alternativo. Quando arriva il momento e le orde di utenti arrabbiati sono a portata di mano, gli ricordi che hai creato un design alternativo. la politica in tecnologia non è mai la mia preferita. ma a volte è solo necessario!

5
yopefonic

Forse puoi raggruppare colonne a basso valore (cioè valori nell'intervallo [0..100)) in sotto-colonne.

Invece di:

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

Presente come:

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

Dove ":" è un separatore di sottocolonne e C/M/S significa "Conteggio/Media/Somma" (o qualsiasi altro dato visualizzato lì).

Se i valori assoluti dei dati non sono importanti, è possibile trasformare le percentuali in icone a barre sovrapposte.

Se una colonna è la percentuale di un'altra colonna, è possibile utilizzare lo sfondo della colonna di destinazione come barra di avanzamento. Infatti, a seconda della varietà di domini di dati, lo sfondo della cella può indicare quale valore contiene e rilasciare il prefisso di valuta e/o la formattazione superflua.

5
Romulo AB

Non so se ti è permesso farlo, ma che dire di non usare una tabella? Mostra un elenco di elementi, ecco un esempio di un elenco di film:

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

* Movie title 2 *
...
3
fhucho

Ecco alcune idee:

La vera domanda è questa: quali dati l'utente deve effettivamente vedere? Tutte le righe popolano tutte le colonne nei tuoi dati? Il mio no, ma è ben lungi dall'essere un tipo di display a matrice "sparsa".

1) vista fisheye
Hai mai pensato a una visione fisheye? Difficile trovare una buona soluzione javascript, ma Java sono abbastanza facili da trovare.

2) suggerimenti al passaggio del mouse
Basta mostrare i dati numerici concisi (con precisione variabile in base all'intervallo) ed esporre i titoli delle colonne al passaggio del mouse? Potrebbe essere necessario/necessario evidenziare le celle di interesse e consentire all'utente di passare il mouse sopra di esse per vedere quale colonna sono

3) raggruppamento
Raggruppa elementi con colonne simili popolate in gruppi e crea diverse tabelle con elementi simlar, tralasciando le colonne non popolate da ciascuna tabella. In realtà non è necessario conoscere gli apriori come raggrupparli ... È possibile creare una bitmap o un hash di quali colonne vengono popolate per ogni riga e quindi ordinare/raggruppare le righe in gruppi di colonne comuni. Un algoritmo alternativo è semplicemente ordinare per numero di colonne popolate. Ho trovato che funziona abbastanza bene e aiuta a identificare facilmente i raggruppamenti, esponendo piuttosto incoerenze minori.

3
ericslaw

Di norma non dovresti essere per il capriccio di ogni desiderio degli utenti. Il tuo lavoro come professionista è quello di reimmaginare le loro esigenze in modo da riassumere in modo appropriato ed efficiente le masse di dati. I computer sono bravi a raccogliere orde di dati e gli umani non sono bravi a interpretarli. Resistete, con tutta la vostra forza, scaricando sullo schermo tabelle non formattate e non sommerse.

Prendi in considerazione la ricerca su Google: la maggior parte delle ricerche in genere restituisce milioni di hit. Ma vai mai oltre la prima pagina? Se sei come la maggior parte, quasi mai. Cosa fai se non riesci a trovare la risposta nella prima pagina? Riformulerai la tua domanda e restringerai i risultati fino a quando il tuo target NON apparirà nella prima pagina.

Segui l'esercizio di ricerca di Google mentre pensi alla tua app. Solo raramente è appropriato elencare un dump non filtrato di record.

Un altro esempio: considera i contatti o i brani musicali sul tuo iPhone. Sarei molto sorpreso se non toccassi immediatamente lo scroller di lettere sulla destra e salti alla sezione alfabetica. L'elenco completo e completo dei record è lì per le caramelle (mostra la scorrevolezza del telefono) di ogni altra cosa.

Ora, tutto ciò può essere applicato anche ai dati che mostri in orizzontale (numero di colonne). Scopri un modo creativo e intuitivo per riassumere quei dati. Un ulteriore vantaggio della risoluzione di questo è che queste sono le cose che rendono piacevole l'uso di un'app. Aggiungi abbastanza di questi ritocchi e lucidi premurosi e l'app diventa persino "divertente" da usare.

Almeno stai pensando al problema; questo è più lontano della maggior parte degli sviluppatori. In bocca al lupo!

3
xanadont

Devo solo mettere i miei due centesimi qui, nonostante il fatto che questa domanda sia così vecchia.

Se hai un mucchio di dati che è TUTTO necessario affinché l'utente possa prendere decisioni, ovviamente c'è un processo decisionale basato su quei dati. Piuttosto che spingere l'utente a prendere quelle decisioni sulla base di dati grezzi, ciò su cui probabilmente dovresti concentrarti è capire come elaborare quei dati grezzi in un modo che sia più utile per l'utente.

Ad esempio, se hai le colonne A, B, C, D ed E, e A deve essere aggiornato quando B e C sono inferiori a D ma maggiori di E, quindi invece di mostrare agli utenti tutte quelle colonne, basta avere una singola colonna che mostra se quella condizione è attualmente vera.

Invece di inondare i tuoi utenti con i dati, devi stabilire un livello di logica aziendale che UTILIZZA tali dati. Non solo semplificherà notevolmente la complessità della tua GUI, ma molto probabilmente i tuoi utenti ti saranno incredibilmente grati per aver semplificato la vita. Si dovrebbe sempre tentare di identificare le attività più facili per i computer che per le persone e scaricare la responsabilità di tali attività sul computer.

2
Isochronous

Dal momento che non sappiamo perché gli utenti debbano vedere tutte le colonne o perché il tuo capo pensi di voler vedere tutte le colonne, ti libererai di alcune soluzioni di colonne. Ecco il mio. Avere un modo per gli utenti di selezionare, ordinare e salvare le proprie preferenze per le colonne che desiderano. Sono sicuro che esiste un numero significativo di utenti che desiderano vedere solo 5 colonne. Il vero problema è che non vogliono vedere tutti gli stessi. Alla fine, avranno così tante colonne che apparirà una barra di scorrimento orizzontale. Suppongo che a questi "drogati di fogli di calcolo" non dispiacerà. Si sentiranno come a casa.

2
JeffO

La prima cosa che viene in mente sono le colonne ridimensionabili. Dal momento che dici che tutte le colonne dovrebbero essere visibili e i dati devono essere in un formato tabella. I nomi delle colonne possono avere un angolo di 45 gradi, quindi sarebbero facilmente identificabili e allo stesso tempo occuperebbero meno spazio.

1
Bojan Gavrovski

Renderlo dinamico in quanto controlli quali colonne vengono visualizzate e quindi utilizzare le impostazioni predefinite intelligenti. Un buon esempio di ciò è lo Strumento per le parole chiave esterno di Google , dove puoi aggiungere/rimuovere/ordinare le colonne a piacimento. Con colonne dinamiche, puoi avere la tua torta e il capo può mangiarla.

1
Virtuosi Media

Sono d'accordo con Erwin per quanto riguarda i grafici. Le sparkline possono essere appropriate.

Ecco una discussione spinosa di questo genere di cose sul sito di Edward Tufte:

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

1
njivy

Ho avuto questo esatto problema, con oltre 25 colonne. Tutti i dati di testo quindi nessun numero. Fondamentalmente è un enorme inventario con la strada per molti campi.

Attualmente, i tasti freccia su e giù selezionano ancora la riga, ma i tasti sinistro e destro nascondono e nascondono una colonna in modo che l'intera tabella si sposti a sinistra.

Abbinata a una ricerca davvero piacevole, questa soluzione non è male.

Naturalmente la vista predefinita è completamente personalizzabile dall'utente.

0
vener

In realtà abbiamo riscontrato anche questo problema con troppa visualizzazione dei dati in una tabella e l'utente richiede di vedere direttamente più colonne invece dello scorrimento orizzontale.

Quello che so soluzione possibile e ciò che abbiamo provato anche nel nostro design:

  • Prova a ridurre la larghezza della colonna, come breve la dicitura o il valore.
  • Breve visualizzazione con opzione di espansione, per consentire all'utente di visualizzare più dettagli quando necessario. ma può visualizzare le informazioni necessarie al primo sguardo.
  • Visualizzazione dei dettagli principali, con prima una breve visualizzazione e una vista di dettaglio nella parte inferiore o laterale per mostrare ulteriori informazioni.

Qualcuno ha una soluzione o un'idea più speciale?

0
OneSeven