当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2011年1月26日水曜日

リストの中の最小値を取得する

1月も終わりが近づいてきました。そろそろ花粉の時期です。筆者は万年アレルギー症らしいので、すでに準備はできています!?
今年は花粉の量が多いと騒がれているようなので、早めに対策をしましょう。

ということで、こちらのボタンをクリックしましょう。花粉対策が見つかるかもしれません。
にほんブログ村 IT技術ブログへ


さて、今日はどこぞの懇談室に出ていた質問の回答を探ってみました。
リストの中の最小値を取得すると言うことです。
最小値なので、@Minかなぁとか思うのですが、デザイナーヘルプを読むと、「1つのリスト内で最小の数値、または2つの数値や2つの数値リストの小さい方の数値が返されます。」とあります。つまり、数値を対象とした関数であることが分かります。
となると、日付は使えません。

ここは、1つ考え方を変えてみます。
最小値が分かるには・・・そう、小さい順に並べればよいのです。
幸い、ノーツにはリリース6から追加された「@Sort」というソート用の関数があります!さすが!
これを使ってみましょう。

以下は、サンプルとその実行結果です。
date_1 := @TextToTime("2011/01/03");
date_2 := @TextToTime("2011/01/12");
date_3 := @TextToTime("2011/01/05");
date_4 := @TextToTime("2011/01/01");
date_5 := @TextToTime("2011/01/25");
date_6 := @TextToTime("2011/01/07");

tmp := @Sort(date_1:date_2:date_3:date_4:date_5:date_6);
@Prompt([Ok];"最小値";@Text(tmp[1]))


確かに、日付の中で1番小さいものが表示されます。
ここで気をつけて欲しいのは、このリストの中に、空白が含まれている場合は、エラーになると言うことです。

値が空白の場合は、@Sort関数のリストに含めないようにするなどの工夫が必要です。


ということで、今日はこの辺で・・・


【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: