web-dev-qa-db-ja.com

ゼロからのパーセント差の表示

古い値と新しい値のパーセンテージの違いを表示する必要があります。私は数式を取得しましたが、値がゼロでもう一方がゼロの場合に何を表示すればよいかわからないことを除いて、機能しています。

初期値が1で、新しい値が10の場合、差は900%です。
初期値が0で、新しい値が10の場合、違いは???

また、書き込める不動産も限られています。
私はINF%を書くことを考えていましたが、それはユーザーをフレンドリーに感じません。

10
the_lotus

パーセンテージを省略したくない場合、表示する内容はデータによって異なります。

データが絶えず0と1の間、または同様の小さな数値の間で変動する場合、1,000%の増加を示すことは誤解を招くものです。同じように、数百万であることが多く、突然0の値が100%の減少を示すだけの値は、役に立たない場合があります。

数学的にはパーセンテージは正しくないので、好きなように言うことができます。 しかし、ユーザーにとって価値のあるものを選択し、何が起こっているのかをユーザーが解釈できるようにします。 0が頻繁に受け入れられる状態である場合、大きなパーセンテージであまり注意を払わないことをお勧めします。一方、0が悪い、間違っている、またはデータに予期しない急上昇がある場合は、異常に大きなパーセンテージを示すことで、注意を引くことができます。

12
Nathan Rabe

該当する場合は、パーセンテージを追加情報として提供し、代わりに絶対的な変化を表示することをお勧めします。

+9(900%)

該当しない場合は省略してください

+10

このようにして、ユーザーは変更があったことを認識し、以前の数値と比較してどれだけ変更されたかについての印象も得ます。

16
msp

多くの科学分野におけるパーセント差は、次の式に基づいて計算されます。

              (Amount final) - (Amount initial)
%diff =  ------------------------------------------- x 100%
           AverageOf(Amount final, Amount initial)

Amount finalAmount initialと等しい場合、パーセントの差は0として指定する必要があります。これは、上記の式だけでなく、if/elseブロックで処理する必要があります。)

すべての量が正であると仮定すると、これにより、問題がなくなります。

"Whyこの式を使用するのはなぜですか?"あなたが尋ねるかもしれません。これに対する答えは、問題の分野によって異なります。私が聞いた中で最も良い説明の1つは、「%差」が最終値または初期値の代わりにいずれかで除算した場合、あいまいであるということです。平均。 「平均化」メソッドは、0から10へ、または10から0へ移動した場合も同じ結果になります。多くの場合、これは非対称の結果よりも優れています。

tl; dr:パーセント差の定義は、思ったほど明確ではない場合があります。特定の科学分野(物理学や経済学で見たことがあります)で使用されている式は、すべての測定量が正であると仮定すると、「0からのパーセント」の問題を完全に回避します。

5
apnorton