これは非常に幅広い質問であり、考慮すべきコンテキストはたくさんありますが、大規模なデータセット(テーブル/リストビュー)をすばやくフィルタリングするにはどうすればよいでしょうか。
現在、当社のソフトウェア製品は2つの異なるパターンを採用しています。
長期的には、これらのパターンを1つの一貫したパターンに統合して、フィルタリングを行いたいと思います。現在、私は#2を強く好みます:
ただし、#1にはいくつかの利点があります。
繰り返しますが、これらのオプションを任意のデータセットだけに重み付けすることは難しいと思いますが、率直に言って、それをここで行う必要があります。お客様のデータは非常に多様であり、当社の管理外の外部ソースから取得される場合があります。
どちらか一方(またはまったく異なるもの)がこのような汎用的な設定でうまく機能する場合、私はあらゆる決定的な研究および/または事例証拠に非常に興味があります。
私にとって、単一の検索(2番目のオプション)を回避する唯一の理由は、類似した内容のいくつかの列を含めることであり、したがって非効率的な検索につながります。
それが当てはまらない場合、私は完全に単一の検索で行きます:
あなたはすでに他の正当な理由を述べました。
検索ボックスの方が直感的に検索できると思います。ただし、テキストボックスは高度なフィルタリングの方法を提供します。したがって、問題は-ユーザーに検索またはフィルターさせますか?
両方が必要な場合、次の中間ソリューションを検討することができます。Amazonは同じものを使用しています。検索ボックスはデフォルトですべての列を検索しますが、ユーザーは単一の列を検索するオプションがあります。
download bmml source – Balsamiq Mockups で作成されたワイヤーフレーム
テーブル内の情報のフィルタリングについて、UXMattersには非常に優れた article があります。古いですが、それでも多くの意味があります。テーブルの上のデータフィルターのようないくつかのオプションが検討されました:
データの左側にフィルターします
または表形式フィルターの数が少ない場合
フィルターの一貫した可用性と可視性についての良い議論もあります。
実際には、最初のオプションはFilterですが、2番目のオプションはSearchです。それらは単なる異なるツールです。そして、どちらのツールも便利です。
しかし、大規模で複雑なデータセットを扱う場合、私は最初のオプションを選択します。
適切なコントロールにより、使いやすさが向上します。タスクの実行時間、エラー数などを簡単に測定して比較できます。
また、フィルタリングは上記のオプションに限定されないことに注意してください。非表示の列などの問題を解決する、フィルタリング用の個別のコントロールを提供できます。