web-dev-qa-db-ja.com

グリッドでゼロによる除算を表示する方法は?

私は自社の内部Webアプリを作成する必要があります(asp.net C#とTelerikを使用)。内部に財務レポートを含むグリッドがあり、既に使用されている予算をパーセンテージで表示する単純なKPIがあります。

Delta = 1 - (Budget - Actuals) / Budget

しかし、Budgetは、多くの場合ゼロに等しくなります。また、Actualsもゼロに等しい場合があります。しかし、デフォルトでは、私のライブラリはInfinityを使用したX/0の結果とNaNを使用した0/0の結果を表示します。これが私のグリッドの例です:

enter image description here

この値で何を考えればよいのかわかりません... X/0!= 0なので、ゼロの方が適切だとは思いません。

ユーザーにとって最も適切なものを知っていますか?ユーザーに質問することはできません。このグリッドを迅速に提供する必要がありますが、優れたUXで何かを作りたいです。

23
Alex

実際の原因の短い説明を使用してみてください。 予算なし

63
msp

特定の状況(予算が0の場合の%Δなど)で利用できない、または適用できないテーブルセルの一般的な解決策は、プレースホルダーテキスト n/a (またはN/A)。

28

ホバーにツールチップを表示する感嘆符アイコンを使用して、正確に、それが何を意味し、何が欠けているか/どの値が悪いのかを正確に説明できます:

mockup

download bmml sourceBalsamiq Mockups で作成されたワイヤーフレーム

13
CodeManX

ユーザーと一緒にWordを使用することを検討し、ユーザーが何を表示する必要があると思うかを尋ねます。ただし、注意してください。最初の反応は「ゼロ」であり、これは数学的な意味で間違いなく間違いです。

個人的には出力を空白のままにするか、おそらく「未定義」という用語を使用します。彼らが本当にシンボルを見たいのであれば、そこに無限大シンボル(∞)を安全に置くことができると思います(数学的には正しくありませんが、他の計算で結果を使用できるとは思われません)。

11
Michael Kohne

ほとんどのスプレッドシート(​​OpenOffice Calc、Microsoft Office Excel、およびGoogleスプレッドシート)は、「ゼロ除算」のような非ブロッキングエラーを表示するこれらのケースを処理します。 enter image description here

これは、ユーザーにとって意味のあるものでフィールドを埋めますが、同時に「目立ちすぎ」ず、全体的なエクスペリエンスを損なうことがないので、これが最良の動作だと思います。コメントで指摘されているように、おそらく#DIV/0よりもわかりやすいもの、たとえばDiv. by zeroのようなものを選択する必要があります。

6

ユーザーの観点からは、このセルが予算を実際の値で割って計算されることが明らかな場合は、空白のセルを使用します。背景:長いテキストを追加すると、特に予算が頻繁でない場合、グリッドに多くのノイズが追加されます。 「予算がゼロなので計算できませんでした」と表示されるExcel青緑の情報マークなどのツールチップを追加することもできますが、すべてのユーザーが計算で訓練されている場合は、やりすぎかもしれません。

3
Christian

どちらか:

  1. 原因を挙げてください-なぜ計算ができないのかを説明するいくつかの単語。
  2. エラー文字列を使用します-他の人が述べたように、GoogleシートとExcelの例を取り上げます。
  3. 結果を確認します-計算を行うとき、結果がNaNまたはInfinityの場合は、代わりにN/Aを表示します。
  4. ヘルプリンクを追加します-エラーの横に小さな「(なぜ?)」または「(詳細)」があり、結果が表示されない理由をユーザーにすばやく説明します。ここにソリューションを含めることもできます。

通常は、セルで何が行われているのかをユーザーが確実に把握できるようにします。

2
ArtOfCode

「DIV0」または「INF」/「∞」と書かれたいくつかの小さなスタイルのテキストを、その周りにいくつかの負のスペースがある灰色の網掛けボックスの背景で使用します。それは、他のように入力または計算された値ではないことを示すアイコンのように見えるはずです。しかし、メッセージは依然として明確に読み取ることができるため、一般的なエラーアイコンを理解しなくても、問題の関連性が明らかになります。

1
Rich Remer

一部のユーザーにそれをデモして、彼らに彼らの考えを言うように頼むことができないのはなぜですか?

ただし、これらは2つの異なる状況であり、N/Aは混乱を招く可能性があります。 xが0でない限り、x/0は無限大です。1/ xのグラフを見てください。 0に近づくと、グループは爆発して無限大になります。制限値として、0/0は不確定であり、何でもかまいません。 x/xは、xが0に近づくにつれて1に近づきます。x* x/xは、xが0に近づくにつれて0に近づきます。視覚的な手がかりとして、無限大は、計算の分母のソースを見て、その理由を確認する必要があることを意味します。 NaN(非数)は、分子と分母の両方をチェックする必要があることを意味します。

0
user53088

予算がゼロで実績がゼロの場合、差(デルタ)はゼロになります。 0と0の間に違いはありません。

予算がゼロで実績が高い場合、差(デルタ)は「無限%」と表示すると見栄えがよくなると思います。それは、真実で簡潔、意味があり、エレガントで、記号ではなく、不可解ではありません。良いフレームワーク、ビスケットがあります!

予算が高く、実績がゼロの場合、@ CoDEmanXに同意します-説明的なツールチップが好きです。

ただし、フレームワークが「無限大」と「NaN」を挿入したい状況の両方で、人々がこれらのフィールドを単に空白のままにすることを好むことに気づくことが最善の方法であることに気付くかもしれません。人間が無限とNaNの概念を消化することは、あなたが示している他のより口当たりの良い情報の隣に特に困難です。彼らはなぜそれがかなり早く空白だったのか理解を深めたと思います。

ちなみに見栄えの良いフレームワーク。

0
dave