JMP のクエリ ビルダー (QB) からオブジェクトのリンクと埋め込み、データベース、または OLEDB にアクセスします。お客様からよく質問されるのですが、JMP から Proficy Historian データベースにアクセスすることは可能ですか?そこで、「Historian などの COM ベースのインターフェイスを中心に構築されたデータにアクセスするにはどうすればよいですか?」という質問に答えるためのオプションをいくつか共有したいと思いました。
JMP のスクリプト言語 (JSL) は、ファイルを開くダイアログ内からはまだ直接利用できない、必要となる可能性のあるあらゆる種類のデータにアクセスするために必要なリソースだけを提供します。JMP は、Triple-S XML、CSV、SAS、SPSS などの多くのフラット ファイル データ ソースからデータを直接読み取ることができる、事前に構築されたデータ コネクタを多数提供します。このブログ投稿ではこのタイプのファイルには焦点を当てませんが、代わりに、Oracle、PostgreSQL、SQLite などのリレーショナル データベース、または Historian などの他の OLEDB ソースからのデータへのアクセスに焦点を当てます。
リレーショナル データベースへのアクセスは、JMP Query Builder インターフェイスを使用して行われます。QB にアクセスするには、[ファイル] メニューから [データベース]、[クエリ ビルダー] の順に選択します。

このアプローチは既存の JMP ユーザーには馴染みがあるため、これが Historian データベースなどの非 ODBC データ ストアのデータにアクセスするための良い準備ステップであると判断しました。
ここでは 2 つのアプローチとそれぞれのソリューションの詳細を紹介します。さらに、各ソリューションの利点と制約についていくつかの考えを示します。 1つ目は経由カスタムクエリ、2番目は経由OLEDB を JMP Query Builder でより簡単に利用できる形式に変換またはスナップショットします。
偶然にも、最初のアプローチは、JMP のクエリ ビルダーを使用して Historian OLEDB にアクセスする最も単純なアプローチです。カスタム クエリを使用するだけです。必要なデータベース構成は、SQL サーバーから Historian OLEDB へのデータベース リンクを作成することだけでした。

以下に示すように、リンク サーバーを使用してデータベースへの接続を確立します (私の場合、リンク サーバー名は「MY_HISTORIAN」と呼ばれていました)。

「次へ」をクリックして、クエリビルダーダイアログを表示します。 このダイアログでは、クエリの構築に使用するスキーマとテーブルをスキーマ内から選択できます。S SQL サーバー接続から任意のスキーマとテーブルを選択します (実際には直接使用していないため、どのテーブルでも機能します)。sys スキーマと all_columns テーブルをプライマリ データ テーブルとして選択しました。

[クエリの構築] ボタンをクリックして、クエリの構築を開始します。左上のテーブル メニューの下にある赤い三角形をクリックすると、カスタム クエリを挿入できます。
JMP は、既存のクエリをカスタム クエリに変換するかどうかを尋ねるアラートを表示します。[OK] ボタンをクリックして続行します。
カスタム クエリには、次のような以前に作成したものを使用できます。
SELECT タグ名、タイムスタンプ、値、品質 FROM OPENQUERY (iHist,' SET StartTime=yesterday-12Day, EndTime=今日、IntervalMilli秒=1時間、SamplingMode=計算済み、計算モード=最大 SELECT * FROM ihRawData WHERE TagName LIKE *simulation00001')
カスタムクエリは編集できなくなります。 QBインターフェイスを歌います。 元のクエリを貼り付けるだけで、クリップボードからクエリを適用できます。更新ボタンをクリックすると、データのプレビューが表示されます。
C [クエリの実行] をクリックして、ihRawData Historian データ テーブルを JMP データ テーブルとしてインポートします。
の重要な部分構文は OPENQUERY オプションです。これは、処理のためにクエリをリンク サーバーに直接渡すように SQL Server に指示します。
リンク サーバーがリクエストを処理すると、テーブルが JMP に返され、そこでさらに視覚化と分析を行うことができます。カスタム クエリ アプローチの利点の 1 つは、実装が簡単なことです。必要なのは、リンク サーバーを作成することだけです。QB インターフェイスが残りの作業を行います。このアプローチは、コピーして貼り付けることができる使用可能なクエリのライブラリを DBA が提供している場合にうまく機能します。 このアプローチの欠点は、実行するクエリを事前に把握しておく必要があり、データをさらに探索してクエリする自由がほとんどないことです。
JMP のクエリ ビルダーの使用に慣れていない人のために、追加のリソースへのリンクを提供しました。高度なマスタリングJMPセッションのプレゼンタークリス・キルヒベルク。
2 番目のアプローチでは、データベース構成を変更する必要はありません。 ただし、Python と追加の Python ライブラリ (win32com.client) のインストールが必要です。インストールするだけですOLE データベース ツール アドインそしてプロンプトに従ってください。アドインは Python スクリプトを実行します (Python スクリプトの作成については、ブライアン・ブーン)これにより、OLEDB のスナップショットが作成され、SQLite DB として保存されます。次に示すように、QB から SQLite DB に直接アクセスできます。Python などの外部プログラムは、JMP スクリプト言語または JSL を使用して実行できます。JSLにはRun Programという機能があります。最近の Discovery Summit Europe では、まさにこのテーマに関する優れた論文が発表されました。 hecht@jmp資格のある "プログラムの実行 - 他のプログラムへの JMP® リンク「」では、この関数の使用方法に関する詳細な例がいくつか示されています。
Python スクリプトは、ユーザー インターフェイス (UI) から渡されるいくつかのコマンド ライン オプションを実行します。UI は完全に JSL で構築されており、JMP アドインとしてパッケージ化することで、あらゆるアナリストに展開できるようになりました。アドインをインストールするには、アナリストはダブルクリックするだけです。アドインは、アドイン メニューから使用できるようになりました。

3 つのメニュー オプションから選択できます。メニューのタイトルは、クエリビルダーで使用するスナップショット OLE データベース、 OLEDB へのカスタム QB クエリそして公共事業。 最初のオプションは、OLE データベースまたは単一の OLE データベース テーブルを SQLite データベース形式に変換します。カスタム QB クエリ オプションは、JMP クエリ ビルダー (QB) で構築されたクエリを OLE データベースに送信して処理します。[ユーティリティ] メニューの最後のオプションでは、SQLite データベースからテーブルまたはすべてのデータを削除したり、アドインのデフォルトの選択肢を変更したりすることができます。 ユーティリティ メニューの最後のオプションを使用すると、アドインのデフォルト設定を更新するメカニズムが提供されます。観測値の数が多い場合は、OLE データベースから取得する最大行数を設定するオプションを使用します。以下に、返されるレコードの最大数を 10 に設定する方法を示します。最大レコード数を -1 に設定すると、OLE データベース内の各テーブルのすべての行が取得されます。

接続する。 選択する。 建てる。 輸入。
QB を使用して、作成したばかりの SQLite データベースへの接続を確立します。これで、同じインターフェイスを使用してクエリの構築を開始できるようになります。好みのクエリを作成したら、[OLEDB へのカスタム QB クエリ] オプションを実行して、Python スクリプトによって再度実行されるクエリをコピーします。今回、クエリが実行されると、クエリの where 句に一致するすべての行が返されます。JMP でテーブルを使用できるようになったことで、JMP の視覚化およびモデリング機能に完全にアクセスできるようになりました。

定期的に接続するデータ ソースは何ですか?JSL 内の Run Program 機能をご存知ですか?
定期的に接続しているデータ ソースや、独自のスクリプトでプログラムの実行を使用したその他の方法についてコメントを残してください。
次回まで...コーディングを楽しんでください!
* GE Intelligent Platforms, Inc は、General Electric Company の完全子会社です。 GE ブランドおよびロゴは、General Electric Company の商標です。
SQL Server Management Studio でのリンク データベースのセットアップは簡単で、Proficy マニュアルにも記載されていました。 私が問題を抱えているのは、JMP でリンクされたサーバーへの新しい接続を設定することです。 リンク サーバーを作成した後の接続方法について詳しく教えていただけますか?