開発者の皆さん、こんにちは!
今週は、InterSystems Analytics コンテスト2021 の投票週間です!InterSystems IRIS を使い開発されたベストソリューションに投票お願いします!
🔥 投票はこちらから! 🔥
投票方法については、以下ご参照ください。
開発者の皆さん、こんにちは!
今週は、InterSystems Analytics コンテスト2021 の投票週間です!InterSystems IRIS を使い開発されたベストソリューションに投票お願いします!
🔥 投票はこちらから! 🔥
投票方法については、以下ご参照ください。
これは InterSystems FAQ サイトの記事です。
%SYSTEM.License クラスのメソッド利用すると、ライセンス情報を取得できます(実行時は、$SYSTEM.License.メソッド名() と記述します)。
%SYSTEM.License クラスは、ライセンスユーティリティ用システムオブジェクトです。
ユーティリティの詳細については、添付資料をご参照ください。
(クラス詳細については、クラスリファレンス内 %SYSTEM パッケージ以下 License クラスも併せてご覧ください。)
また、ライセンス情報は、管理ポータルからも確認できます。
ライセンスキー情報:
[システム管理] > [ライセンス] 以下
ライセンス使用状況:
[システムオペレーション] > [ライセンス使用量] 以下
これは InterSystems FAQ サイトの記事です。
$ZSTRIPコマンドは、指定された文字列から文字のタイプと文字を削除します。
このコマンドを使用することで文字列から数値部分のみを抽出することが可能です。
$ZSTRIP(string,action,remchar,keepchar)
第1引数(string) :対象文字列
第2引数(action) :string から削除する対象。アクションコードとマスクコードで構成。
第3引数(remchar) :削除する特定の文字を指定。第2引数のマスクコードに含まれない文字も指定可能。【オプション】
第4引数(keepchar):削除しない特定の文字を指定。【オプション】
以下はその例です。
これは InterSystems FAQ サイトの記事です。
$ZF(-100) のコマンドは、以下のフォーマットで使用します。
$ZF(-100, フラグ, コマンド名, コマンドの引数)
OSコマンドを実行する場合は、「/shell」フラグが必要です。
例えば mkdir であれば、次のように使用します。
コマンドの引数が複数ある場合は、以下の例のように引数の数だけ二重引用符で括ってカンマ区切りで指定します。
また、同期・非同期実行は以下のように使用します。
記事で使用されているすべてのソースコード: https://github.com/antonum/ha-iris-k8s
前の記事では、従来型のミラーリングではなく分散ストレージに基づいて、高可用性のあるk8sでIRISをセットアップする方法について説明しました。 その記事では例としてAzure AKSクラスタを使用しました。 この記事では引き続き、k8sで可用性の高い構成を詳しく見ていきますが、 今回は、Amazon EKS(AWSが管理するKubernetesサービス)に基づき、Kubernetes Snapshotに基づいてデータベースのバックアップと復元を行うためのオプションが含まれます。
早速作業に取り掛かりましょう。 まず、AWSアカウントが必要です。AWS CLI、kubectl、およびeksctlツールがインストールされている必要があります。 新しいクラスタを作成するために、次のコマンドを実行します。
eksctl create cluster
--name my-cluster
--node-type m5.2xlarge
--nodes 3
--node-volume-size 500
--region us-east-1
このコマンドは約15分掛けてEKSクラスタをデプロイし、それをkubectlツールのデフォルトのフォルダに設定します。
これは InterSystems FAQ サイトの記事です。
InterSystems製品のクラスクエリにはSQL文を利用する方法と、ユーザコードによる記述が選択できます。
スタジオメニューの [クラス] >[追加] > [クエリ] を選択すると、クエリウィザードが起動します。
.png)
画面に、「実装」を選択する項目があり、「このクエリはユーザコードで定義されている」を選択すると SQL文ではなく、ユーザコードによりクエリ定義が行えます。

次画面以降では、必要な情報として、入力パラメータ、結果セットの選択カラムの指定を行います。 ウィザード終了後、ユーザコードのひな型として、以下のメソッドがクラス定義に追加されます。
{QueryName}Execute()
{QueryName}Fetch()
{QueryName}Close()
({QueryName}はクエリウィザードで指定するクエリ名です。)
これらのメソッドに実際に実行したいユーザコードを記述していきます。
以下に、詳細記述とJavaから呼び出すサンプルがございますのでご参照ください。
これは InterSystems FAQ サイトの記事です。
Linux上では、以下の手順で InterSystems IRIS (以降IRIS)のインスタンスを削除してください。
(1) アンインストールしたい IRIS のインスタンスを iris stop で停止
# iris stop インスタンス名
(2) 以下のコマンドでインスタンス情報を削除
# iris delete インスタンス名
(3) IRIS のインストールディレクトリを rm コマンドで削除
# rm -r インストールディレクトリ
IRISは、インストール先のディレクトリのほかに、以下の(a)(b)も使用しています。
-----------------------------------------
(a) /usr/local/etc/irissys フォルダ
(b) /usr/bin/iris
/usr/bin/irisdb
/usr/bin/irissession
-----------------------------------------
もしマシン上から、すべての IRIS を完全に削除したい場合は、上記のアンインストール手順に加えて、(a)(b)をすべて削除してください。
但し、これらは全インスタンスで共通で使用しています。
これは InterSystems FAQ サイトの記事です。
ネームスペースを作成後にInteroperability機能を有効にするには、%EnsembleMgrクラスのEnableNamespaceメソッドを使用します。
do ##class(%EnsembleMgr).EnableNamespace($namespace)これは InterSystems FAQ サイトの記事です。
24時間停止しないシステムの場合、「ジャーナルファイルの削除設定」に合わせて 0時30分 に古いジャーナルファイルを削除します。
「ジャーナルファイルの削除設定」より古いジャーナルファイルが残っている原因として、オープンされたままのトランザクションが存在していることが考えられます。
その場合、トランザクション実行中プロセスを探し、トランザクションを確定させることでジャーナルファイルを削除できるようになります。
以下のサンプルは、オープンされたままのトランザクションの存在確認と、存在する場合は対象ファイル名とジャーナルレコード情報が出力されます。
(サンプルは、https://github.com/Intersystems-jp/CheckOpenTransaction からダウンロードできます)
※注意※
確認対象のジャーナルファイルサイズが大きい場合、ジャーナルファイルが多数ある場合は、実行に時間がかかるため、弊社サポートセンターまでご連絡ください。
Class ISJ.JournalUtility
{
ClassMethod GetOpenTransaction() As %Status
{
set status=$$$OK
#dim ex As %Exception.最初の記事では、Caché Webアプリケーションのテストとデバッグを外部ツールを用いて行うことについて説明しました。 2回目となるこの記事では、Cachéツールの使用について説明します。
以下について説明します。
これは InterSystems FAQ サイトの記事です。
何らかの理由でサーバー移行が必要になった際に、移行前の環境から移行後の環境に設定情報をコピーすることで設定作業を軽減できます。
以下の設定情報を移行できます。
注1 パスワードを設定している場合には、パスワードのみ手動で再設定が必要です。
注2 ^%ZSTART, ^ZMIRRORルーチンなど
優先接続サーバー設定に関しても、物理的には移行可能ですが、Windowsのレジストリー情報をコピーする必要があります。
しかしながらレジストリー情報をコピーして他システムに移行する方法は通常推奨される方法ではありませんので、安心、安全を優先する場合は、手動設定することをお勧めします。
各設定のエクスポート/インポート方法は、以下のリンクをご確認ください。
また、以下のドキュメントもあわせてご覧ください。
これは InterSystems FAQ サイトの記事です。
InterSystems 製品には、テーブルのコンテンツに関する統計を収集し、クエリの最適化に役立てる「テーブルチューニング機能」があります。
設定方法は、以下のドキュメントをご参照ください。
ターミナルでは次のコマンドを実行します。
do $SYSTEM.SQL.Stats.Table.GatherTableStats("スキーマ名.テーブル名")2021.1以前のバージョンでは以下メソッドを利用します。
Do $system.SQL.TuneTable("スキーマ名.テーブル名",1,1)また、以下の資料もご参照ください。
1) パフォーマンス調査の基礎知識として必要なグローバル構造の解説やSQLの動作の仕組みからクエリプランの見方の解説
2) パフォーマンスチューニングの例(P13~)
3) ビットマップ・インデックスの圧縮やオプティマイザ・ヒントなど、Caché SQLのパフォーマンスを最大限に引き出すための情報について
4) パフォーマンスに困ったときにどこに着目し、どのツールで調べていくか、お客様から日々ご相談をいただくカスタマーサポートから、解決に向かうアプローチの「イロハ」をご紹介するビデオ
5) 開発者コミュティのパフォーマンス関連情報(performanceタグ)
これは InterSystems FAQ サイトの記事です。
リレーションシップが設定されており 1対n の n が多量の場合、そのリレーションシップの順次処理などで大量のメモリ消費となるケースがあります。
プログラムの中で多側オブジェクトを参照し内部的にスウィズル処理した後には、そのOREFを含む変数の解放(削除、他の値の設定など)だけでは、その多側オブジェクトとリレーションシップオブジェクトが解放されないことが原因です。
それらを完全にメモリから解放するためには、OREF変数の解放とRelationshipオブジェクトの%UnSwizzleAt<%Library.RelationshipObject >メソッドの実行による明示的なメモリ解放が必要です。
- 使用例 -
Do {
Set employee = company.Employees.GetNext(.key)
If (employee '= "") {
Write employee.Name,!
// remove employee from memory
Do company.Employees.これは InterSystems FAQ サイトの記事です。
こちらは、コンパイル時に既にそのクラスのインスタンスを開いている場合に起こるエラーです。
対処方としては以下の2つの方法があります。
インスタンス化しているプロセスを特定したい場合は、以下のサンプルルーチンをお試しください。
/// Test.開発者の皆さん、こんにちは!
InterSystems Analytics コンテストのテクノロジーボーナスが発表されました!
Adaptive Analytics (AtScale) キューブの使用- 4 ポイント
InterSystems Adaptive Analytics では、分析ソリューションに AtScale キューブを作成して使用するオプションを提供しています。
今回、コンテスト用に準備した AtScale サーバ(URLと認証情報は Discord チャンネルで確認できます)にあるキューブを使用するか、JDBC 経由で IRIS サーバに接続し、新しいキューブを作成することもできます。
AtScale を使用した Analytics ソリューションの可視化レイヤでは、Tableau、PowerBI、Excel、Logi を利用することができます。
この記事では、Caché Webアプリケーション(主にREST)のテストとデバッグを外部ツールを用いて行うことについて説明します。 パート2では、Cachéツールの使用について説明します。
サーバー側のコードを作成したのでクライアントからテストしたい、またはすでにWebアプリケーションが存在するが機能していない― そういったときに使用できるのがデバッグです。 この記事では、最も使いやすいツール(ブラウザ)から最も包括的なツール(パケットアナライザー)までを説明しますが、まずは、最も一般的なエラーとその解決方法について少し説明します。
これは InterSystems FAQ サイトの記事です。
インターシステムズでは、お客様のペースで学ぶことができる柔軟でユーザセントリックな教育サービスを提供しています。
ラーン&プレイ
InterSystems オンラインラーニングにご登録いただくと、Java から InterSystems IRISにアクセスする様々なサンプルをご利用いただけます。
Java のサンプルは、オンラインラーニングの以下のページでご紹介しています(英語のみ)。
Welcome to the Java QuickStart!
オンラインラーニングサービスアカウントのない方のために、簡単に手順をご紹介します。
※詳細については、上記オンラインラーニングサービスページをご覧ください。
http://github.com/intersystems/quickstarts-java Eclipse を使用する場合:
https://github.ソリューションを Amazon Web Services エコシステム、サーバーレスアプリケーション、または boto3 を使用した Python スクリプトにスムーズに統合する方法を探している場合は、IRIS Python Native API を使用するのが最適です。 IRIS で何かを取得したり設定したりしてアプリケーションに素晴らしい機能を備える必要があるまで、本番の実装を大々的に構築する必要はありません。したがって、誰かにとって重要なものまたはあなた以外にはまったく重要でないもの(これも同じくらい重要なことです)を構築できるようにこの記事が役に立てればと思います。

開発者の皆さん、こんにちは!
第1回 InterSystems 技術文書ライティングコンテスト が終了し、23 の素晴らしい記事🔥が掲載されました!
初開催の技術文書ライティングコンテストへご参加いただいた皆様、ありがとうございました!
この記事では、受賞作品をご紹介します!
これは InterSystems FAQ サイトの記事です。
InterSystems IRIS Business Intelligence 用メニューの Analytics(または DeepSee)を使用するためには、使用するネームスペース用ウェブアプリケーションパスを Analytics(またはDeepSee)に対応するように設定変更する必要があります。
詳細については以下のドキュメントをご参照ください。
【IRIS】
InterSystems IRIS Business Intelligence の Web アプリケーション設定について
【2015.1~2018.1】
DeepSee の Web アプリケーション設定について
これは InterSystems FAQ サイトの記事です。
※データベースファイルとは、IRIS.DAT、および、CACHE.DATのことを指します。
Caché/Ensemble 2018.1.4、IRIS 2019.1.2/2020.1.0 以降のバージョンより、データベースファイル のサイズの縮小に、データベースの「圧縮」と「未使用領域の削除」機能をあわせて使用できます。
※注意※
Caché/Ensemble 2018.1.4、IRIS 2019.1.2/2020.1.0 より前のバージョンでは、データベースの「圧縮」機能は使用できません。使用された場合、データベース破損が引き起こされる可能性があります(「未使用領域の削除」機能は利用できます)。
詳細情報は以下、弊社ウェブサイト内のページをご確認ください。
製品ニュースとアラート>警告: データベース圧縮またはデフラグ後のデータベース整合性の問題
データベースサイズ縮小手順は以下の通りです。
管理ポータル: [システムオペレーション] > [データベース] を開き、操作したいデータベース名をクリックします。
(または、画面左上の[空き容量]ボタンをクリックし、データベースの空き容量を表示します。
PHP はその公開当初から、多くのライブラリや市場に出回っているほぼすべてのデータベースとの統合をサポートしていることでよく知られています(またそのことで批判を受けてもいます)。 にもかかわらず、何らかの不可解な理由により、グローバル変数については階層型データベースをサポートしませんでした。
グローバル変数は階層情報を格納するための構造です。 Key-Value型データベースにある程度似ていますが、キーを次のようにマルチレベルにできるという点で異なっています。
*この動画は、2021年2月5日に開催したウェビナーのアーカイブです。
InterSystems IRIS data platform は、拡張性に優れ、相互運用性、分析機能を備えたアプリケーション開発のためのデータプラットフォームです。
この動画では、これからインターシステムズのデータプラットフォーム製品をお使いになる開発者の方を対象に、その特徴を20分でご紹介します。
このような方を対象としています。
ぜひご覧ください!
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
スタジオ以外でSourceControlを利用されている方がいれば教えてください。
現在SourceControlを用いて、コンパイル前に
自動コードレビュー(静的解析)を行うような仕組みを構築しております。
実際にスタジオやVSCodeでの保存時には、上記の仕組みが動作しソースチェックが行われるのですが、
clsの一括取り込みを行おうと『$SYSTEM.OBJ.ImportDir()』を実行した際には
SourceControlが動作していないように見えております。
以下のような形でメソッド実行しているのですが、オプション等の不備になるのでしょうか?
> Do $SYSTEM.OBJ.ImportDir("ファイルが存在するパス","*.cls;*.mac;*.int;*.inc;*.dfi","ck",,1)
開発者の皆さん、こんにちは!
次回開催の InterSystems オンラインプログラミングコンテストについてご案内します!
🏆 InterSystems IRIS Analytics Contest 🏆
応募期間は 2021年8月23日~9月5日 です!
💰 賞金総額: $8,750💰
(投票期間は 2021年9月6日~9月12日、勝者発表は 9月13日を予定しています)
コンテスト専用ページ(https://contest.intersystems.com)もできました!

Office ドキュメント(docx ドキュメント、xlsx 表計算、pptx プレゼンテーション)を処理するタスクは非常に複雑です。 この記事では、XSLT と ZIP のみを使用してドキュメントを解析、作成、および編集する方法を紹介します。
このトピックを記事にしたのは、 docx が最も一般的に使用されているドキュメント形式であり、この形式を生成して解析する機能は必ず役に立つからです。 「既製ライブラリ」によるソリューションでは、次の理由により面倒になる可能性があります。
この記事では、基本ツールのみを使用して、docx ドキュメントを操作します。
開発者の皆さん、こんにちは!
InterSystems IRIS でアナリティクスソリューションを構築するにはどのような方法があるでしょうか。

最初に、アナリティクスソリューションは何かについて確認しようと思いますが、とても幅広いテーマになってしまうので、Analytics コンテストで発表できるソリューションに限定してご紹介します。
以下、モニタリング、インタラクティブアナリティクス、レポーティングの3種類のアナリティクスソリューションについてご紹介します。
モニタリング
一般的なモニタリングソリューションは、アクティブに更新される KPI を備えたオンラインダッシュボードで構成されています。
モニタリングの主な使用例としては、新しいデータの KPI を常に視覚的に観察し、緊急時に対応することです。
インタラクティブアナリティクス
このソリューションはフィルタやドリルダウンが行えるインタラクティブなダッシュボードのセットを想定しています。
主なユースケースは、グラフや表のデータを視覚化した上で、フィルタやドリルダウンを使用してデータを探しだし、ビジネス上の意思決定を行うことです。
レポーティング
レポーティングソリューションは、グラフやテキスト形式のデータを事前にデザインされたフォームで提供する HTML や PDF ドキュメントの形式で、静的(通常)レポートを提供し、メールで送付することもできます。
レポーティングシステムの主なユースケースは、ビジネスにとって重要な製品やプロセス、サービス、セールスなどの状況を説明するレポートを一定期間に取得することです。
このようなソリューションを構築するために、InterSystems 製品をどのように利用できるでしょうか。
以下の項目で議論してみましょう。
InterSystems Reportsでレポートを作成するのは難しいですか?
ネタバレ
InterSystems Reports は Logi Analytics 社の製品である Logi Report(旧名:JReport)使用しています。InterSystems Reports は、InterSystems IRIS、InterSystems IRIS for Health で動作し、以下に示すように堅牢でモダンなレポートソリューションを提供します。
- レポート開発者とエンドユーザーの両方がカスタマイズ可能な、組み込み型のオペレーショナルレポート。
- 請求書、文書、フォームなどの特殊なレイアウト要素や、特定のフォームグリッドを開発することができるピクセルパーフェクトなフォーマット。
- 集約されたデータと詳細なデータの構造を提供する帯状のレイアウト。
- ヘッダー、フッター、アグリゲーション、詳細データ、画像、サブレポートを正確に配置。
- 多彩なページレポートタイプ。
- PDF、XLS、HTML、XMLなどのファイルフォーマットへのエクスポート、印刷、法規制遵守のためのアーカイブを含む、大規模なダイナミックレポートのスケジューリングと配布。
InterSystems Reports は、以下の内容で構成されています。:
- レポートデザイナーには「デザイン」タブと「プレビュー」タブがあり、レポート開発者はライブデータを使ったレポートの作成とプレビューができます。
- エンドユーザーにブラウザベースのアクセスを提供し、レポートの実行、スケジューリング、フィルタリング、修正を可能にするレポートサーバーを用意します。
以上、InterSystems ドキュメント から抜粋。
この記事では、InterSystems Reports の サーバー部分に焦点を当て、すべてのデータを永続化しながらコンテナでレポートサーバーを実行するためのガイドをご提供しています。
開発者の皆さん、こんにちは!
✨新しいコンテスト✨「InterSystems 技術文書ライティングコンテスト」の開催が決定しました!
🏆 InterSystems Tech Article Contest 🏆
いつもの「IRIS プログラミングコンテスト」とは異なり、今回は InterSystems のテクノロジに関連するあらゆるトピックについての記事を投稿いただくコンテストです!
応募期間:2021年7月15日~2021年8月15日 8月22日まで延長します!
今回は、応募期間中に投稿いただいた方 全員 に 特別賞 をご用意しています。
🎁優勝賞品:Apple iPad 🎁
月間 55,000人 以上の読者が訪れるインターシステムズ開発者コミュニティに記事を投稿してみませんか?
詳細は以下の通りです。