FileMaker をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
Clarisと社名が変更になった.
本家 [[https://www.claris.com/ja/>+https://www.claris.com...
商品名は「Claris FileMaker」
[[XMLの取り扱い>FileMaker/XML]]
[[FMのデータからファイルを作成>FileMaker/create_file]]
[[firewall>FileMaker/firewall]]
[[server>FileMaker/server]]
***PMIDからメタデータを取得する [#td1bd608]
PMIDなる数字のフィールドを用意して、その値を元にPUBMEDの...
#code(nonumber){{
レコード/検索条件/ページへ移動 [最初の]
Loop
If [ IsEmpty ( pubmed::PMDI )]
全スクリプト終了
End If
URL から挿入[選択; ダイアログあり:オフ; ターゲット:pu...
"https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esumma...
# DOSと間違われないようにするためインターバルを設置
スクリプト一時停止/続行 [間隔(秒): 3]
レコード/検索条件/ページへ移動 [次の; 最後まできたら...
End Loop
}}
これで得られたJsonDataフィールドを使って1stAuthorを得るに...
その計算式は下記のようにする
#code(nonumber){{
JSONGetElement ( jsonData ; "result." & PMID & ".authors[...
}}
またlastAuthorを得るなら、lastAuthor[計算]フィールドを作...
#code(nonumber){{
JSONGetElement ( jsonData ; "result." & PMID & ".lastauth...
}}
とする。
他
#code(nonumber){{
Title --> JSONGetElement ( jsonData ; "result." & PM...
Journal名 --> JSONGetElement ( jsonData ; "result." & PM...
Volume --> JSONGetElement ( jsonData ; "result." & PM...
Issue --> JSONGetElement ( jsonData ; "result." & PM...
Page --> JSONGetElement ( jsonData ; "result." & PM...
ELocationID -> JSONGetElement ( jsonData ; "result." & PM...
pubdate(出版日) -> JSONGetElement ( jsonData ; "resu...
epubdate(電子出版日) -> JSONGetElement ( jsonData ; "resu...
}}
著者一覧
#code(nonumber){{
Replace (
while (
[
count = 0 ;
authors = ""
] ;
count < ValueCount ( JSONListKeys ( PMID_jsonData; "re...
[
authors = authors & "," & JSONGetElement ( PMID...
count = count + 1
];
authors
) ;
1;1;"")
}}
***DOIからメタデータを取得する [#xa5dc351]
基本的にPMDIから...と同じ. ただDOIの方は氏名がフルで書か...
っで作ったスクリプト
#code(nonumber){{
レコード/検索条件/ページへ移動 [最初の]
Loop
If [ IsEmpty (DOI)]
全スクリプト終了
End If
If [ DOI_json = "" ]
URL から挿入[選択; ダイアログあり:オフ; ターゲット:...
スクリプト一時停止/続行 [間隔(秒): 10]
End If
変数を設定 [$authorCount; 値: ValueCount(JSONListKeys...
変数を設定 [$i; 値: 0]
If [ $authorCount > 0 ]
Loop
変数を設定 [$seq; 値: JSONGetElement ( DOI_jso...
if [ $seq = "first" ]
変数を設定 [ $given; 値: JSONGetElement (...
変数を設定 [ $family; 値: JSONGetElement ...
フィールド設定 [ DOI_json_1stAuthor ; $fa...
End If
変数を設定 [$i; 値: $i + 1 ]
Exit Loop If [ $i >= $authorCount ]
End Loop
End If
レコード/検索条件/ページへ移動 [次の; 最後まできたら...
End Loop
}}
DOIのデータから論文誌を抽出するには
#code(nonumber){{
Substitute (
JSONGetElement ( DOI_json ; "message.short-container-t...
[ "[\"" ; "" ];
[ "\"]" ; "" ]
)
}}
同じくタイトルを抽出するには
#code(nonumber){{
Substitute (
JSONGetElement ( doi_jsonData ; "message.title" );
[ "[\"" ; "" ];
[ "\"]" ; "" ] )
}}
とする
#code(nonumber){{
JSONGetElement ( doi_jsonData ; "message.volume" )
JSONGetElement ( doi_jsonData ; "message.page" )
JSONGetElement ( doi_jsonData ; "message.issue" )
Substitute (
JSONGetElement ( doi_jsonData ; "message.created.date-par...
[ "[\"" ; "" ];
[ "\"]" ; "" ];
[ "[" ; "" ];
[ "]" ; "" ] )
}}
著者一覧
#code(nonumber){{
Replace (
while (
[
count = 0 ;
authors = ""
] ;
count < ValueCount ( JSONListKeys ( DOI_jsonData ; "mes...
[
authors = authors & "," &
JSONGetElement ( DOI_jsonData ; "messag...
JSONGetElement ( DOI_jsonData ; "messag...
count = count + 1
];
authors
)
;
1;1;"")
}}
***外部 SQL データソース(ESS:External SQL Data Source)...
オラクル内に作ったAERSの各種データをFMで閲覧できないかと...
win7の「ODBCデータソースアドミニストレーター」なるものの...
用意したら認識できた。&color(red){*};「ユーザDSN」に置い...
&ref(2013y01m22d_223302404.png,nolink);
***カスタム関数 [#q351d7e5]
&ref(2018y07m29d_012047052.png,nolink);
グローバル格納の「str」を作って、複数行で入力可能とします。
その入力値を使って「text」を検索して、ヒットした文字列を...
#code(nonumber){{
Case(
$$#c = "";
Let(
[ $$#c = 1 ;
$$#res = text ];
ColorText( str ; text)
);
$$#c > ValueCount( str ) ;
Let(
[ $$#c = "";
#res = $$#res;
$$#res = "" ];
#res
);
$$#c =< ValueCount(word) ; /* 「=<」はFileMakerでは...
Let(
[
$$#res = Substitute ( $$#res ; GetValue ( str ; $$#...
$$#c = $$#c + 1 ];
ColorText( word; text)
)
)
}}
終了行:
Clarisと社名が変更になった.
本家 [[https://www.claris.com/ja/>+https://www.claris.com...
商品名は「Claris FileMaker」
[[XMLの取り扱い>FileMaker/XML]]
[[FMのデータからファイルを作成>FileMaker/create_file]]
[[firewall>FileMaker/firewall]]
[[server>FileMaker/server]]
***PMIDからメタデータを取得する [#td1bd608]
PMIDなる数字のフィールドを用意して、その値を元にPUBMEDの...
#code(nonumber){{
レコード/検索条件/ページへ移動 [最初の]
Loop
If [ IsEmpty ( pubmed::PMDI )]
全スクリプト終了
End If
URL から挿入[選択; ダイアログあり:オフ; ターゲット:pu...
"https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esumma...
# DOSと間違われないようにするためインターバルを設置
スクリプト一時停止/続行 [間隔(秒): 3]
レコード/検索条件/ページへ移動 [次の; 最後まできたら...
End Loop
}}
これで得られたJsonDataフィールドを使って1stAuthorを得るに...
その計算式は下記のようにする
#code(nonumber){{
JSONGetElement ( jsonData ; "result." & PMID & ".authors[...
}}
またlastAuthorを得るなら、lastAuthor[計算]フィールドを作...
#code(nonumber){{
JSONGetElement ( jsonData ; "result." & PMID & ".lastauth...
}}
とする。
他
#code(nonumber){{
Title --> JSONGetElement ( jsonData ; "result." & PM...
Journal名 --> JSONGetElement ( jsonData ; "result." & PM...
Volume --> JSONGetElement ( jsonData ; "result." & PM...
Issue --> JSONGetElement ( jsonData ; "result." & PM...
Page --> JSONGetElement ( jsonData ; "result." & PM...
ELocationID -> JSONGetElement ( jsonData ; "result." & PM...
pubdate(出版日) -> JSONGetElement ( jsonData ; "resu...
epubdate(電子出版日) -> JSONGetElement ( jsonData ; "resu...
}}
著者一覧
#code(nonumber){{
Replace (
while (
[
count = 0 ;
authors = ""
] ;
count < ValueCount ( JSONListKeys ( PMID_jsonData; "re...
[
authors = authors & "," & JSONGetElement ( PMID...
count = count + 1
];
authors
) ;
1;1;"")
}}
***DOIからメタデータを取得する [#xa5dc351]
基本的にPMDIから...と同じ. ただDOIの方は氏名がフルで書か...
っで作ったスクリプト
#code(nonumber){{
レコード/検索条件/ページへ移動 [最初の]
Loop
If [ IsEmpty (DOI)]
全スクリプト終了
End If
If [ DOI_json = "" ]
URL から挿入[選択; ダイアログあり:オフ; ターゲット:...
スクリプト一時停止/続行 [間隔(秒): 10]
End If
変数を設定 [$authorCount; 値: ValueCount(JSONListKeys...
変数を設定 [$i; 値: 0]
If [ $authorCount > 0 ]
Loop
変数を設定 [$seq; 値: JSONGetElement ( DOI_jso...
if [ $seq = "first" ]
変数を設定 [ $given; 値: JSONGetElement (...
変数を設定 [ $family; 値: JSONGetElement ...
フィールド設定 [ DOI_json_1stAuthor ; $fa...
End If
変数を設定 [$i; 値: $i + 1 ]
Exit Loop If [ $i >= $authorCount ]
End Loop
End If
レコード/検索条件/ページへ移動 [次の; 最後まできたら...
End Loop
}}
DOIのデータから論文誌を抽出するには
#code(nonumber){{
Substitute (
JSONGetElement ( DOI_json ; "message.short-container-t...
[ "[\"" ; "" ];
[ "\"]" ; "" ]
)
}}
同じくタイトルを抽出するには
#code(nonumber){{
Substitute (
JSONGetElement ( doi_jsonData ; "message.title" );
[ "[\"" ; "" ];
[ "\"]" ; "" ] )
}}
とする
#code(nonumber){{
JSONGetElement ( doi_jsonData ; "message.volume" )
JSONGetElement ( doi_jsonData ; "message.page" )
JSONGetElement ( doi_jsonData ; "message.issue" )
Substitute (
JSONGetElement ( doi_jsonData ; "message.created.date-par...
[ "[\"" ; "" ];
[ "\"]" ; "" ];
[ "[" ; "" ];
[ "]" ; "" ] )
}}
著者一覧
#code(nonumber){{
Replace (
while (
[
count = 0 ;
authors = ""
] ;
count < ValueCount ( JSONListKeys ( DOI_jsonData ; "mes...
[
authors = authors & "," &
JSONGetElement ( DOI_jsonData ; "messag...
JSONGetElement ( DOI_jsonData ; "messag...
count = count + 1
];
authors
)
;
1;1;"")
}}
***外部 SQL データソース(ESS:External SQL Data Source)...
オラクル内に作ったAERSの各種データをFMで閲覧できないかと...
win7の「ODBCデータソースアドミニストレーター」なるものの...
用意したら認識できた。&color(red){*};「ユーザDSN」に置い...
&ref(2013y01m22d_223302404.png,nolink);
***カスタム関数 [#q351d7e5]
&ref(2018y07m29d_012047052.png,nolink);
グローバル格納の「str」を作って、複数行で入力可能とします。
その入力値を使って「text」を検索して、ヒットした文字列を...
#code(nonumber){{
Case(
$$#c = "";
Let(
[ $$#c = 1 ;
$$#res = text ];
ColorText( str ; text)
);
$$#c > ValueCount( str ) ;
Let(
[ $$#c = "";
#res = $$#res;
$$#res = "" ];
#res
);
$$#c =< ValueCount(word) ; /* 「=<」はFileMakerでは...
Let(
[
$$#res = Substitute ( $$#res ; GetValue ( str ; $$#...
$$#c = $$#c + 1 ];
ColorText( word; text)
)
)
}}
ページ名:
1