プログラマ ずんべ の日記

zunbe

プログラマ ずんべ の日記
プログラマ ずんべ の日記

探し物は見つかりましたか? サイト内検索を試してください。

(その16) 平均値の計算 (その16) 平均値の計算 新手のスパム(その後) 新手のスパム(その後)

2005/09/28

【若いモンの発想はわからん】(その17) それはNULLじゃないのか?

このエピソードの続き。

 若いモンの発想はわからん(16)

処理しているデータは観測機器から取得した観測データであり、当然のことながら、データ中には「欠測」という状況が発生しうる。
今回のプログラムでは、データが欠測であった場合に、値として NULL を投入するように指示してあった。

社員が書いたプログラムは、通常の値については指示通り NULL が設定されていたが、日平均値の計算は以下の様なプログラムになっていた。

-----
if (有効観測数 > 0)
{
  日平均値 = 日積算値 / 有効観測数;
}
else
{
  日平均値 = 0;
}
-----

有効観測数が「0」の時、日平均値が「0」だと?
ぜんぜんダメである。
なんで、有効な観測値が1レコードもないのに、その平均値が「0」なんだ?
有効な観測値が1レコードもなければ、平均値も有効にはならないのであるから、当然 NULL を設定するべきだろう。

このデータの中身は、気象情報(風速、降水量、日射量など)なのだが、「風速=0」と「風速=わからない(NULL)」はまったく意味が違う。
このプログラムでは、風速が1回も観測できていない状況でも、「平均風速 0.0m」と記録されてしまう。

要するに、社員は、「NULL」という値の意味が理解できていないのである。

ちなみに、このエピソードは、以下のエピソードにも通ずるものがある。

 NULLと空文字列

若いモンは、もっともっと勉強するべきだ。



このエピソードはいかがでしたか?

投稿者 zunbe : 2005/09/28 02:36:09


トラックバック 〔http://blog.zunbe.com/mt/mt-tb.cgi/16〕

コメント

コメントしてください






保存しますか?


スパム対策:
この入力フィールドに「118」と入力してください。


プログラマ ずんべ の日記:ずばヒット アマゾン