It's my pleasure![]()
- コメントを投稿するにはログインしてください
It's my pleasure![]()
皆さん、こんにちは!
期間が10日間延長され、応募締め切りが31日までに変わりました!まだまだ間に合います💨
ぜひ IRIS+Python に関係する記事を投稿しコンテストへ参加してみてください!![]()
(参加者全員に🎁賞品🎁あります!)
Ohataさん こんにちは。
①についてですが、CREATE文に対する?の引数指定がサポートされていないため、エラーになってしまうようでした。
Ohataさん、もしかして、shaCdカラムのタイプですが、埋め込みクラス(%SerialObject)で作成したクラスをタイプとして定義されていたりしますか?
テーブル定義ではなく、クラス定義として以下作成してテストしてみたら、カラム名=Null でヒットしました。
参照元クラス:Test.Person
Class Test.Person Extends%Persistent
{
Property Name As%String;Property Address As Address;
}
埋め込みクラス:Test.Address
Class Test.Address Extends%SerialObject
{
Property Zip As%String;Property Pref As%String;
}(Test.PersonのAddressプロパティがTest.Addressを参照する定義)
以下のテストをしたところ、Ohataさんと同じ状況になりました(SELECTの実行ですが、管理ポータルのODBCモードとODBCクライアントで試しています)
insertinto Test.Person (Name) values('テスト太郎')
select * from Test.Person where Address=NULL この結果👉 .png)
select * from Test.Person where Address is NULL この結果👉 0件
違う状況でしたらすみません・・。
Hiroseさん、こんにちは。
独自のアプリケーションのパスのハンドラーマッピングの設定で、
要求パス(*.cspなど)の設定画面にある「要求の制限」ボタンクリック後に開く画面内「要求のマップ先が次の場合のみハンドラーを呼び出す」のチェックボックスに、チェックが入っていましたら、外してみていただけますでしょうか。
現在16記事が投稿されていますがその中の1つは、🗾日本のコミュニティメンバーからの投稿です👍
投票は英語記事への「いいね👍」で行っています。ぜひ日本からの投稿を応援してください📣
さて、今回のお題ですが、レベルを問わない InterSystems IRIS のチュートリアルです。
など、ご経験された内容を新しいコミュニティメンバーに共有するイメージでぜひ投稿してみてください。
投稿は直接英語版コミュニティに投稿いただいても、まずは日本語で日本のコミュニティに投稿いただいてもどちらでも大丈夫です(#チュートリアル のタグをつけて投稿いただければ、日本のコミュニティからご連絡いたします)。
なお英字にした際、URLやコマンド実行例を除き「400単語以上の記述が必要」となりますので、ご注意ください。
英単語のカウントは、コミュニティのエディタをデフォルトモード「WYSIWYG」にした状態で右下に表示されます。確認にご利用ください。
.png)
@Ohata.Yujiさん、こんにちは
単独で作成されているグローバル変数に対してSQLを発行するためには、クラス定義のストレージの定義を「デフォルトストレージ」から「SQLストレージ」に変更する必要があります。
丁度、似たグローバル構造に対してSQLストレージを作成する例がFAQトピックにありました。
既存のグローバルデータをオブジェクトやSQLインタフェースから利用する方法はありますか?
(添付の参考資料にあるPDFのP2~9までの ^KIONデータに対する定義が対象です。SQLストレージを作成する場合、スタジオのインスペクタを使っていただくと作りやすいかと思います。)
こんな感じで試してみました。
(^Testの右辺のデータを Data1プロパティで操作できるように定義してみました)
Class Gbl.Test Extends%Persistent [ StorageStrategy = MyGlobalStorage ]
{
Property Key1 As%Integer [ Required, SqlColumnNumber = 2 ];Property Key2 As%String [ Required, SqlColumnNumber = 3 ];Property Data1 As%String;
Index KeyIndex On (Key1, Key2) [ IdKey, Unique ];ClassMethod createdata()
{
set^Test(1,2)="A"set^Test(1,3)="B"set^Test(2,1)="C"set^Test(2,2)="D"
}
Storage MyGlobalStorage
{
<SQLMap name="GblMap">
<Data name="Data1">
<Delimiter>"^"</Delimiter>
<Piece>1</Piece>
</Data>
<Global>^Test</Global>
<RowIdSpec name="1">
<Expression>{L1}</Expression>
<Field>Key1</Field>
</RowIdSpec>
<RowIdSpec name="2">
<Expression>{L2}</Expression>
<Field>Key2</Field>
</RowIdSpec>
<Subscript name="1">
<Expression>{Key1}</Expression>
</Subscript>
<Subscript name="2">
<Expression>{Key2}</Expression>
</Subscript>
<Type>data</Type>
</SQLMap>
<StreamLocation>^Gbl.TestS</StreamLocation>
<Type>%Storage.SQL</Type>
}
}
DBeaverからの参照はこんな感じです。
.png)
このようなイメージであっていますでしょうか。
いつの間にか、:py も追加されていました。(Pythonシェルへ切り替わります。)
USER>:py
Python 3.9.5 (default, Jan 132023, 15:20:22) [MSC v.192764 bit (AMD64)] on win32
Type quit() or Ctrl-D to exit this shell.
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2023, 4, 13, 11, 16, 43, 487481)
>>>もちろん、以下メソッドの実行でも切り替わります。
do##class(%SYS.Python).Shell()![]()
2023/4/26 開催「 Pythonでデータベースプログラミング」をYouTubeへUpしました。ぜひご参照ください。
2023/5/30開催「ワークフローコンポーネントの使い方」~自動処理にユーザからの指示を統合する方法~
をYouTubeへUpしました。ぜひご参照ください。
IISから接続をお試しいただきありがとうございます。また設定画面の共有もありがとうございます!
@Akio Hashimoto さん、共有ありがとうございます!
(私も欲しいです!)
ビデオの 29:45 ~ ご紹介しているコンテナ版IRISの使い方ですが、InterSystemsコンテナレジストリ
の登場により、pull する際ご参照いただくページが変わりました。
詳細は「InterSystemsコンテナレジストリの使い方とコンテナ開始までの流れ(解説ビデオ付き)」をご参照ください。
2023/6/27開催「JSONテンプレートエンジンのご紹介~FHIR JSONフォーマットを簡単作成~」をYouTubeへUpしました。ぜひご参照ください。
2023/7/25開催「インターシステムズ ウェビナー: バッチジョブ管理への応用から学ぶ ~インターオペラビリティ機能の ビジネスプロセスを理解する」 をYouTubeにUpしました。ぜひご参照ください。
@Yuji Ohata さん、こんにちは。
ご連絡ありがとうございます。コミュニティチームで確認しまして応募方法を以下に変更することとしました。
グループ「IRIS contest」は不要
タグの「コンテスト」のみの設定でご応募お願いいたします。(この後、関連記事を修正します)
(記事に関連するタグは、もちろん設定いただいて大丈夫です)
ご連絡いただき助かりました!ありがとうございました。
ご応募お待ちしてます!
@Shuichi Igusa さん、こんにちは。
1つ目のご質問についてですが、
実際のデータが登録されているテーブルは「HSFHIR_X0001_S.Patient」かと思いますが、どこでInsert文が流れているのでしょうか。
IRIS for HealthのFHIRリポジトリの内部処理内で行われているため、詳細は非公開となります。申し訳ありません。
2つ目のご質問の「HSFHIR_X0001_S.Patient」のclsファイルですが、FHIRリポジトリ作成の中で自動生成されるクラスのため、お試しいただいているテンプレートの中には含まれないファイルです。
自動生成されたクラスは、クラスリファレンスであればご覧いただけます。(VSCodeの左下に見える接続文字列をクリックすると画面中央上部に「Open Class Reference」のリンクが表示されます)
.png)
クラスリファレンスの画面左でパッケージ名の階層を展開するとクラス名が確認できるのでクリックすると画面右側に詳細が表示されます。
.png)
ぜひご確認ください。
皆さん、投稿の準備はできましたか?
投稿以外にも、応募記事のいいねをクリックすることで投票が行えます。ぜひ投票も応募も、両方挑戦して下さい!😎
以下、過去のコンテスト投稿記事をご紹介します。
2023/8/30 開催「大規模FHIRデータの活用~Bulk FHIR Coordinatorのご紹介」をYouTubeにUpしました。ぜひご参照ください。
コンテスト応募作品をご紹介します 👉https://jp.community.intersystems.com/contests/current
素敵な投稿には「いいね」を押して投票できます。
ぜひご参照ください!
2023/9/26開催「IRISデータベースの内部動作」をYouTubeへUpしました。ぜひご参照ください!
(スライドのPDFもあります)
コンテスト投稿記事への投票(「いいね」のクリック)はお済ですか?👉https://jp.community.intersystems.com/contests/current
11月6日(月)23時59分まで投票できますのでまだの方はお早めに!💨
@Junichi Sakata さんの投稿された記事:Embedded Pythonの使い所は?のボーナスポイントを追加しました。
もし間違いがある場合はこの投稿の返信かダイレクトメッセージでお知らせください!
2023/10/18開催「クラウド上のIRIS - サイジングのベストプラクティスをご紹介」 をYouTubeへUpしました。
スライドのPDFも公開しています。ぜひご参照ください!
2023/11/29開催「機械学習101」 をYouTubeへUpしました。ぜひご参照ください。
プライベートWebサーバではない通常のWebサーバを使用する場合の注意点を追記しています。
@Misao Aikawa さん、こんにちは。
圧縮は「データベースファイルの使用していないブロックを後ろに集める」
切り捨て(未使用領域削除を指してる場合)は、「後方に集めた未使用ブロックを削除してデータベースファイルのサイズを縮小する」
を行う機能で、両作業を行うことによるパフォーマンスの影響はありません。
バージョン2018.1以降ですと、管理ポータルに「デブラグ」ボタンが追加されていて、データベースの連続領域に対して大量のREADアクセスが発生するような場合に実行することで実行前よりパフォーマンスが向上します。
なお、それぞれの機能を利用される際はデータベースに対してアクセスがない状況で実施されることをお勧めしています。
3つの機能を紹介する記事もありますので、よろしければご参照ください👉「データベースファイルのサイズを圧縮する方法」
2023/12/19開催「まずはコンテナを動かしてみよう!~コンテナ版IRISで新機能を試す方法のご紹介~」 をYouTubeへUpしました。
また、2024/1/25開催ウェビナー「IRISのデータを可視化する4つの方法」のPDFを公開しています。
ウェビナーはオンデマンド配信登録でいつでも視聴いただけます👉https://event.on24.com/wcc/r/4421589/067D4D72C25D1C479C651171051C8FC7
ぜひご覧ください。