JMPは、ODBCマネージャを使用して、ODBCデータソースを利用しているデータテーブルと通信することができます。ODBCマネージャと関連するドライバは、お使いのオペレーティングシステムに依存します。データソースを作成したら、次の手順に従ってJMPからデータベースに接続します。
1. [ファイル]>[データベース]>[テーブルを開く]を選択します。「接続」ボックスに、現在のJMPセッションで接続しているデータソースが一覧されます。
2. [新規接続]をクリックします。
3. (Windows)「データ ソースの選択」ウィンドウ(Figure 3.54)で、[コンピューター データ ソース]タブをクリックし、データソースを選択して[OK]をクリックします。次に、ユーザ名とパスワードを入力し、[OK]をクリックします。
(macOS)「DSNの選択」ウィンドウで、データソースを選択し、ユーザ名とパスワードを入力してから[DSNの選択]をクリックします。
図3.54 データソースの選択(Windows)
新しい接続が「データベース: テーブルを開く」ウィンドウに表示されます。
ODBCデータベースに接続し、読み込むテーブルを選択すると、データがデータテーブルの形で開きます。データテーブルには、複数のテーブルスクリプトが含まれます。
• 「ソース」スクリプトは、データベースに再接続します。
• 「DBから更新」スクリプトは、データを再び読み込んでデータテーブルを更新します。データベーステーブルと元のJMPテーブルの列の数が同じであれば、そのJMPテーブル内の値はその場で更新されます。ただし、列数が異なる場合は、更新されたデータは新しいデータテーブルとして読み込まれます。
• 「DBに保存」スクリプトは、データテーブルをデータベースに保存します。データベース内の既存のデータが置換されます。このスクリプトには、ユーザ名とパスワードが含まれている場合があります。そのような機密情報を含まないようにするには、[ODBC接続文字列を非表示にする]という環境設定を使用します。[ファイル]>[環境設定]>[テーブル](Windowsの場合)、または[JMP]>[環境設定]>[テーブル](macOSの場合)を選択します。
データベースからデータを読み込むには
1. [ファイル]>[データベース]>[テーブルを開く]を選択します。
「データベース: テーブルを開く」ウィンドウが開きます(Figure 3.55)。
2. データベースにすでに接続している場合は、「接続」ボックスでその接続を選択します。[テーブルを開く]を使ったデータベースへの接続の手順に従ってください。
「接続」ボックスに、JMPが接続されているデータソースが表示されます。「スキーマ - テーブル」ボックスに、スキーマをサポートするデータベースのスキーマが表示されます。
図3.55 「データベース: テーブルを開く」ウィンドウ
メモ: ODBCドライバがプロシージャの取得をサポートしていない場合は、[プロシージャの取得]チェックボックスは選択不可となります。
3. 目的のデータソースが「接続」ボックスに表示されていない場合は、[新規接続]をクリックしてデータソースを選びます。データソースの選択方法はオペレーティングシステムによって異なります。
4. 「接続」ボックスのリストから、目的のデータソースを選びます。すると、「テーブル」ボックスのテーブルリストが更新されます。更新には、テーブル数やデータベースへの接続速度によって、数秒かかることがあります。データベースがスキーマをサポートする場合、リスト内の最初のスキーマのテーブルが表示されます。他のスキーマについては、それらをクリックすると表示されます。
5. 表示されるテーブルを指定するには、[テーブルリストに含める]のオプションを選びます。
メモ: これらのオプションの解釈方法は、ドライバによって異なります。
ユーザテーブル これをクリックすると、使用できるすべてのユーザテーブルが「テーブル」ボックスに表示されます。表示されるユーザテーブルは、コンピュータにログインしたユーザによって異なります。
ビュー これをクリックすると、開くことができる全種類のファイルと「ビュー」が「テーブル」ボックスに表示されます。「ビュー」とは仮想的なテーブルで、開くたびに実行されるクエリーの結果セットです。「ビュー」を使って、1つまたは複数のテーブルから情報を抽出したり、結合したりできます。
システムテーブル これをクリックすると、使用できるすべてのシステムテーブルが「テーブル」ボックスに表示されます。システムテーブルとは、すべてのユーザが使用できるか、またはシステムレベルのサービスで使用されるテーブルです。
シノニム これをクリックすると、使用できるすべてのORACLEシノニムが「テーブル」ボックスに表示されます。
標本抽出 テーブルから抽出する行のパーセンテージを入力します。このオプションを選択すると、データベースの規模が大きいときにクエリーの処理速度が向上します。JMPでは、データベースでサポートされている標本抽出法を利用します。データベースが標本抽出に対応していない場合は、このチェックボックスは選択できません。
6. 「テーブル」リストから目的のテーブルを選びます。
メモ: dBaseのデータベースに接続する場合は、データベースのフォルダを選択してください。個別のファイルはグレーで表示されており、選択できません。
7. [テーブルを開く]をクリックし、選択したテーブルのすべてのデータを読み込むか、[詳細]をクリックして、テーブルのサブセットを指定します。一部のデータベースでは、データへのアクセス時にユーザIDとパスワードを入力する必要があります。
大きいテーブルを開く場合は、表示に時間がかかる場合があります。アクティブなODBCクエリーのステータスを確認するには、[表示]>[実行中のクエリー]を選択します。
メモ: データが以前JMPでデータベースに書き出されたものであり、式タイプの列を含んでいる場合は、その列が文字タイプとして読み込まれます。[列]>[列情報]を選択し、データタイプを[式]に変更してください。
SQL(Structured Query Language: 構造化照会言語)文を使って、データベースから読み込むデータを制御できます。JMPでデータベースファイルを開くとき、実際にはSQLステートメントがデータベースに送信されます。デフォルトでは、この文によりデータベーステーブル内のすべての列とそのすべてのレコードが取得されますが、この場合、データが多すぎることがあります。データテーブル内の特定のデータのみが必要な場合、SQLリクエストをカスタマイズして一部のデータのみを取得することができます。実行したSQLクエリーのコードは、データテーブルのSQLテーブル変数に保存されます。
この節では、SQLステートメントを書いてデータを読み込む方法を解説します。SQLステートメントを書かずに対話式にデータを照会する場合は、クエリービルダーを使用してください。また、クエリービルダーでクエリーの作成を開始し、独自のSQLステートメントを追加することもできます。クエリービルダーでSQLステートメントを書くを参照してください。
1. [ファイル]>[データベース]>[テーブルを開く]を選択します。
「データベース: テーブルを開く」ウィンドウが開きます(Figure 3.55)。
2. 必要に応じてデータベースに接続するか、既存のデータベース接続を選択します。[テーブルを開く]を使ったデータベースへの接続の手順に従ってください。
「接続」ボックスに、JMPが接続されているデータソースが表示されます。「スキーマ - テーブル」ボックスに、スキーマをサポートするデータベースのスキーマが表示されます。
メモ: このウィンドウで実行するSQLクエリーは、ウィンドウの左側のパネルに表示されているテーブルとプロシージャのみに基づいて動作します。関係のないSQLをここで実行しても、結果は得られません。
3. 「データベース: テーブルを開く」ウィンドウで、テーブルの特定のサブセットを開く場合は[詳細]ボタンをクリックします。
4. 有効なSQLステートメントを入力するか、デフォルトのSQLステートメントを変更します。Figure 3.56のように、選んだファイルに適切なSQL Select文がデフォルトで表示されます。使用できるSQLステートメントの説明については、SQL(Structured Query Language: 構造化照会言語): リファレンスを参照してください。
[WHERE式]ボタンをクリックして、WHERE式エディタを使って式を作成して追加することもできます。WHERE式エディタの使用を参照してください。
図3.56 Excelファイルの「Solbility」テーブルからすべての変数を読み込む
5. [SQLの実行]をクリックします。選択した列を含むJMPデータテーブルが表示されます。データテーブル変数の使用を参照してください。
6. 実行中のクエリーのステータスを確認するには、[表示]>[実行中のクエリー]を選択します。
有効なSQLステートメントであればどんなものでも、入力して[SQLの実行]をクリックすることで実行できます。有効なSQLステートメントは、データソースやODBCドライバによって異なります。