202002 のの会@関数Talk 19th | Talks around @Functions in Notes and Domino

491 Views

September 30, 20

スライド概要

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談しております。
第19回は @DbColumn と @DbLookup についてのつづきと
@DocumentUniqueID と @InheritedDocumentUniqueID についてもつづきを。

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- 2020/02/13 @関数Talk 第19回 公開版 @ 阿部 覚 (tw:) @abesat

2.

@ '19年9,10,11月は @DbColumn, @DbLookup のお話を 3回連続で行い、 まだつづきがありながら… 😅 '19年12月には @DocumentUniqueID, @InheritedDocumentUniqueID を お話ししました しかし1回では終わらず… 😅 @ 今回はいずれにせよ どちらかのつづきをやらねば :

3.

@ @DbColumn @DbLookup 引数ピックアップ篇その2 @

4.

@ 引数ピックアップ篇その1では こちらの引数をお話ししました @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) @

5.

@ 今回は、残る こちらの引数のお話です @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) @ まずはviewから

6.

@@DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) 検索するビュー名またはフォルダ名の指定です @

7.

@ 指定するビュー名ですが 設計上のオモテの名前でも別名でも きちんと取得できます @

8.

@@DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) 探索のためのキーの指定(@DbLookupのみ) たいていの場合、文字列で指定すると思います @ ヘルプによれば数値、日時、 またはリストも使える由(今回はここには深入りしません)

9.

@@DbColumn ( class : cache ; server : database ; view ; @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber ) columnNumber または fieldName ; keywords ) 探索先の列番号またはフィールド名の指定 フィールド名も 指定できますが 多くの場合、 番号を使い 列の値を取得していると 思います @

10.

@ 探索先の列番号またはフィールド名の指定 以前触れたように、実は0を指定しても1列目を とってくるようです @

11.

@ 探索先の列番号またはフィールド名の指定 また、存在する列数を越えた指定をしてもエラーにはならず… @

12.

@ 探索先の列番号またはフィールド名の指定 さらに番号がこの数以上になると、再び1列目を表示します 確認すると、この数値は、2の31乗でした @ あと、マイナスを指定しても… まあ興味のある方はご自分でお試しください 😅

13.

@@DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) キーワードの指定(@DbLookupのみ) 次の3種類 ● [FAILSILENT] ● [PARTIALMATCH] ● [RETURNDOCUMENTUNIQUEID] [FAILSILENT]はすでにお話ししたので 第16回のTalkをご参照ください @

14.

@ キーワードの指定(@DbLookupのみ) [PARTIALMATCH] ヘルプには 「パラメータで指定されたキー値が列の値の最初の数文字と一致する場 合、一致内容を返します。」 数文字って何文字だよ!と思い… @

15.

@ キーワードの指定(@DbLookupのみ) [PARTIALMATCH]でキーの先頭2文字 @ できた

16.

@ キーワードの指定(@DbLookupのみ) [PARTIALMATCH]でキーの先頭1文字 えっ いけるの? @

17.

@ キーワードの指定(@DbLookupのみ) [PARTIALMATCH]でキーの先頭0文字 えーーーっ?​ @ つまり前方一致が何文字でもよく、 0文字だと"@DbColumn 化"してしまうらしいことが、判明しました

18.

@ キーワードの指定(@DbLookupのみ) [RETURNDOCUMENTUNIQUEID] フィールドや列の値ではなく、文書の UNID を返します。 列指定やフィールド指定は無視されるの? @

19.

@ キーワードの指定(@DbLookupのみ) [RETURNDOCUMENTUNIQUEID] フィールドや列の値ではなく、文書の UNID を返します。 列指定やフィールド指定は無視されるの? @ そのようです!

20.

@ 以上、かけあしでしたが 4回目となりました @DbColumn,@DbLookupのおはなしは 終わりたいと思います つづいて、 @

21.

@ @DocumentUniqueID @InheritedDocumentUniqueIDの 雑談 @

22.

@ 前回は「考えられる使い方その1」でした 12月の「のの会」では、 そのままフィールド内で使う場合(文書リンクとしての使用) についてトークしました @ フィールドの式にそのまま関数を置くことで文書リンクになる状況を 確認しました どの程度業務で使うことがあるかについては「?」がつきましたが

23.

@ 考えられる使い方その2 @Text(@DocumentUniqueID) もうひとつの使い方は @Text(@InheritedDocumentUniqueID) @ @Textと組み合わせて使うこと

24.

@ 考えられる使い方その2 @Textと併用することで、32桁の文書IDが表示されます これによって、ほかのNotes式に文書特定のための情報を与えることが 可能になります @ この式で文書IDを手に入れておくと、どんなことができるか 例えば、他の式と組み合わせて Notes:// 形式のURL を作り Notes以外のツール上(例えばOfficeファイル上)に、Notes文書への リンクを置くことができます 方法はHCL Master 御代さんのブログなどが参考になるかな…

25.

@ 考えられる使い方その2 たとえば、ビューの列に設定しておくことで ビューに文書IDが表示された列を作ることができます この列を用意しておくと、 @DbColumn式や@Dblookup式を通して、 ビュー上の文書の文書IDを取り出せるようになります @ ・・・あれ?

26.

@ 考えられる使い方その2 そう、少なくとも @DbLookup式に関していえば そんなことをわざわざしなくとも、文書IDの列をつくらずとも 前述の[RETURNDOCUMENTUNIQUEID]でこと足りてしまいます。 もともとは、@DbLookup式から文書IDを得る主な方法は 前頁の方法だったのですが、 @ あとから(Notes 6から)追加された [RETURNDOCUMENTUNIQUEID] キーワードにより 簡易化できるようになった次第です

27.

@ 今回もお付き合い ありがとうございました @