201811 のの会@関数Talk 7th | Talks around @Functions in Notes and Domino

140 Views

November 20, 18

スライド概要

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第7回は SELECTキーワードと@Select について。

profile-image

Notes/Domino worker - Formula language ♡er, #IBMChampion '15 & #HCLAmbassador '20 - '23, Nature Game (Sharing Nature) leader

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

-notes knows community- 2018/11/14 @関数Talk 第7回 公開版 ネオアクシス株式会社 阿部覚 (tw:) @abesat

2.

前回のTalk (9月)において • • • • @All @True @Yes @Success 「この4つの@関数は、 どうやら同じものだ!」 というお話をさせていただきました

3.

このとき 会場からでた声もふまえ、 今回は こんなお話をしたいと思います

4.

SELECTの 雑談

5.

「『SELECT』? @関数ではなく?」 といわれそうですが、実は、 IBMさんのヘルプ ヘルプ上でSELECTは、 @関数の一覧に含まれています😎

6.

ヘルプではこんな説明になっています。 IBMさんのヘルプ 使いみちは3とおり。 いちばんよく目にするのは ビューの選択式としての利用でしょう。

7.

ビューでは、どんな文書を表示するかに使うわけで SELECT Form = "Main" SELECT Form = "Main" & Category = "English" SELECT StatusCode = "20" 表示対象を限定する場合はその条件を記述し SELECT @All 限定しない、全文書集合!の場合は @Allを指定します (アクセス権限のない文書以外は、基本表示されます)

8.

前回触れたように @Allは、代わりに @True、@Yes、@Successを 使っても機能しました。

9.

それは要するに @All、@True、@Yes、@Success いずれも「数値の1を返す」からで、 ということは、 (前回会場で声があがったように、)

10.

「数値の1」でも行けちゃいます

11.

じつは、「1」に限らず、 2でもOK

12.

試してみると、 他の数値、100でもー1でも、こんな値でも ほとんどの数値がOK、Trueとみなされるようです

13.

ただし、 数値は0に限って 何も表示されません 前回触れた、 (@Trueに対する)@Falseや、(@Yesに対する)@Noが、 数値の0を返すことと符合します

14.

0の他に、何も表示しないものをあたってみました たとえば、こんなの ""だけでなく、"ABC","こんにちは" など数値にならない文字は、Falseあつかい

15.

あるいは… 意味のない変数など、 要は論理的に意味をなさないもの?は 何も表示しない、Falseとみなされるようです

16.

さて、いろいろ試行する中で、 そもそもSELECTの選択式って?と、 ある疑問が。 IBMさんのヘルプ 前掲のヘルプにはSELECTが 文書の選択を行う旨が 記されてますが 何も表示しないビューを作れるということは そもそも「文書を選択するかどうか」も 指定できてしまうということでは

17.

要はこんなことができちゃうってことです (本当はビューでは推奨されない、日時の関数を使った式ですが) 現在の時間(秒)が50未満ならTrue

18.

画面更新(F9,F5を押すないし をクリック)を 繰り返す必要はありますが 現在秒が50未満なら 画面更新後も 表示し 現在秒が50を越すと 画面更新で 表示が消えます!

19.

ほかに、ユーザーが誰かによって 文書を出すかどうか決めちゃったりとか

20.

こうした遊び 「文書を選ぶかどうか自体を条件指定すること」は 実際の業務でも応用が利くのかな? ビューでは、画面更新(ないしビューの更新)を しないと効果が反映されないので あまり現実的でなさそうですが IBMさんのヘルプを再々掲 SELECTを使った選択式は、 ビューのほかに エージェントの式と、 複製式で利用できます

21.

たとえば、複製式で 他のサーバーやユーザーに 複製の際に相手やタイミングによって 文書を渡さない、とか? アイディア次第で何かできる、かも… 現時点で私からは何も保証しませんけど😎

22.

ところで、名前が よく似た@関数があるので お話ししようと思ったのだけれども

23.

@Selectの 余談

24.

IBMさんのヘルプ 何が引っかかってるかというと、 引数が「;」(セミコロン)であること。

25.

IBMさんのヘルプ もし、これはという使いみちがあったら 教えてください

26.

「のの会」後の追記 と、会場で話したら、 いやいやこの関数は けっこう使ってるよ♥ というご指摘の声がちらほらあがり そこでようやく気づいたのは、 通常は最初の引数に、変数や式をあてて使うということ (ヘルプにはそういう例がないけど)

27.

「のの会」後の追記 いちばんわかりやすい使用例は 「曜日」や「月名」を日付から取り出すことのようです @Select(@WeekDay(@Today); "日"; "月"; "火"; "水"; "木"; "金"; "土") @Select(@Month(@Today); "Jan"; "Feb"; "Mar"; "Apr"; "May"; "Jun"; "Jul"; "Aug"; "Sep"; "Oct"; "Nov"; "Dec") 参考にしたページ: http://tooljp.com/notes_qa/7C12076406EEFC7F492572D6004C09FF.html https://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256C1A005D5E96 以上、もうちょっと調べてから話せば…と反省もしつつ 追加のご報告でした😅

28.

今回もありがとうございました!