スピーカー
|
成績証明書
|
| ゲオルグ・ラミング (Siltronic AG) |
みなさん、こんにちは。 |
| |
今日は、分散した複雑なソースからデータを取得するための戦略と例について話したいと思います。 |
| |
私の名前はGeorg Raming、私の仕事は???のプロセス開発です。シルトロニックで単結晶を成長させた。 統計的評価とプロセスに関する経験があります |
| |
製品データと統計教育。 私は Siltronic の JMP ソフトウェアと数百人のユーザーのトレーニング活動も担当しています。 |
| |
Siltronic は、高度に専門化されたハイパーピュア シリコン ウェーハの世界有数のメーカーの 1 つです。 |
| |
いくつかの技術的なヒント。 したがって、このプレゼンテーションではデータベースではなくデータ テーブルを使用して作業していますが、ここで示されている概念は元々、ODBC 接続を介してリレーショナル データベースからデータを取得するために使用されています。 |
| |
また、JMP クエリ ビルダーは、JMP データ テーブルとデータベース テーブルに対して同様の方法で動作します。 |
| |
今日のプレゼンテーションのターゲットは何ですか? それは、データベースから JMP または JMP テーブルに簡単かつ効率的にデータを取得するためのいくつかの方法を確立することです。 |
| |
まずビルディングブロックについて話しましょう。 |
| |
したがって、1 つは JMP データ テーブルである可能性があります。 |
| |
したがって、データベース クエリからデータ テーブルを生成した場合は、次のようになります。 そこで、ここでは JMP、Big Class から有名なサンプル テーブルを取得し、JMP Query Builder を介してデータをクエリしました。 テーブルに付属のスクリプトをすべて削除しました。 |
| |
そしてあなたは見つけるでしょう |
| |
このデータテーブルを JMP Query Builder、いくつかのスクリプト、およびテーブル変数でクエリする場合。 |
| |
したがって、その変数内に SQL が表示されます。 したがって、データ テーブルの定義はテーブルまたはデータベースから取得されます。 |
| |
これらのスクリプトは、単純に |
| |
このように元のデータテーブルの別のコピーを取得します。 ここには、元のスクリプトも含まれていることがわかりますが、ここでも JMP Query Builder からのスクリプトが含まれています。 |
| |
JMP データ テーブルでこのクエリを編集し、実行できる変更クエリ スクリプトもあります。 |
| |
そして、データベースからの更新のクエリがあります。 したがって、データテーブル内のデータを変更すると、 |
| |
または、データ テーブルに新しいデータがある場合は、このボタンを押すだけでデータを更新できます。 |
| |
このような。 ここでもスクリプトはサンプル テーブルから再度取得されています。 |
| |
さて、次のビルディングブロックは JMP Query Builder です。 |
| |
したがって、データベースに 1 つまたは複数のテーブルがある場合は、次のようにクエリを作成する必要があります。JMP サンプル テーブルからビッグ クラスとビッグ クラス ファミリを取得しました。 |
| |
ディレクトリに移動し、次のように JMP Query Builder を使用します。 |
| |
ここのテーブルの上にあります。 JMPクエリビルダー。 |
| |
JMP はこれらの開いているテーブルを認識します |
| |
プライマリ フィールドにも 1 つあり、このようにセカンダリ テーブルを追加すると、JMP が両方のテーブル間の結合を自動的に作成します。 では、それらはどのように結合されるのか。 この結合は編集できます |
| |
このような。 |
| |
詳細はここで確認できます。 |
| |
その後、クエリの作成を続けることができます |
| |
このような。 ここでは両方のテーブルが利用可能です。 |
| |
ここで結合を再度編集することもできます |
| |
そして、すべてを追加したいかもしれません |
| |
列、 |
| |
このような。 |
| |
フィルターを付けたいと思うかもしれませんが、 |
| |
このような。 |
| |
そしてクエリを実行します。 それからあなたはまた |
| |
からのスクリプトを使用してこの結果テーブルを取得します。 |
| |
サンプルテーブルはここでは必要ありません。 |
| |
それらを削除します。 これらは、JMP Query Builder によって記述されたスクリプト、スクリプト、変数です。 |
| |
以前使っていたように。 そしてまた、ここでできます |
| |
このクエリを編集します。 クエリのスクリプトは、以前にここで定義したのと同様に、この結果テーブルに保存されます。 |
| |
これが JMP Query Builder の仕組みです。 |
| |
前に述べたように、データベース テーブルでも、JMP サンプル テーブルで動作するのと同じように動作します。 |
| |
次の建物...ここにはいくつかのスクリプトも入れています。いつでもビジュアルなクエリ ビルダーから切り替えることができます。 |
| |
カスタム SQL に |
| |
クエリ。したがって、これはここで機能します。 もう一つの赤い三角メニュー。 |
| |
カスタム SQL に変換し、ここで定義したものを視覚的に、 |
| |
ここでテキスト SQL クエリで定義できます。 |
| |
実行できます。 |
| |
ここでこのクエリを見るか、[クエリの変更] ボタンを押すと、 |
| |
テキストクエリが表示されます。 ですので、これは一つの方法に過ぎませんが、 |
| |
ビジュアル クエリからカスタム SQL クエリへの変換。 |
| |
それで、ちょっと整理させてください |
| |
いくつかのテーブル。 わかった。 |
| |
次の構成要素はデータベースからデータを取得することであり、そのデータ ソースへの ODBC 接続が必要です。 |
| |
通常、ODBC データ ソースとドライバーは IT 管理者によってセットアップされます。 したがって、Windows では次のことがわかります。 |
| |
これらの接続は ODBC データ ソース管理者の下で行われます。 |
| |
また、データベース ソースのビット数は JMP に適合する必要があることに注意してください。 この場合、64 ビットの JMP アプリケーションがあるため、64 ビットのドライバーが必要です。 |
| |
ユーザーソースは自分で設定できます。 |
| |
システム DSN は管理者によって設定され、さまざまな種類のデータベースのドライバーも管理者によって設定されます。 |
| |
トラブルシューティングの場合、このタブをトレースに使用できます。 |
| |
クエリがどこに送信されたのか、何が問題になっているのか。 |
| |
私からのヒントは、これらのデータ ソースから接続が適切に機能するかどうかを確認することです。 したがって、[構成] をクリックすると、資格情報を入力した後、データ ソース管理者が特定のソースの接続テストを聞くことができます。 |
| |
すべてが正常であれば、システムは次のように通知します。 |
| |
接続が成功しました。 |
| |
クエリが機能しないのは Windows のせいではありません。 |
| |
その他の詳細については、ドキュメントの JMP マニュアルを参照してください。 たとえば、「JMP の使用」の第 3 章は、次の場所にあります。 |
| |
ヘルプメニュー |
| |
および JMP ドキュメント ライブラリ。 そして、これらすべてのツールの使用方法が詳しく文書化されています。 |
| |
スクリプトと JSL、つまりスクリプト言語には、これらの SQL データベース クエリをスクリプト化する 3 つの方法があります。 1 つ目は、以前にすでに使用した新しい SQL クエリです。 したがって、これは、JMP メニューのテーブル、JMP テーブル用の JMP クエリ ビルダーにあります。 |
| |
データベースの場合は、データベース クエリ ビルダーの下にあります。 |
| |
そして、新しい SQL クエリはすべてのコマンドの中で最も強力です。 したがって、新しいクエリ オブジェクトが生成され、それ自体を JMP クエリ ファイルとして保存できます。 ソース変更および更新スクリプトで以前に見たように、データ テーブルを直接生成でき、データの起源を非常に適切に提供します。 |
| |
データベースからデータをクエリするための JSL のもう 1 つのコマンドは、open database コマンドです。 これらすべてのコマンドのドキュメントは、スクリプト インデックスにもあります。 ここのような、 |
| |
私が入力したら |
| |
開ける |
| |
データベース、 |
| |
すべてのコマンドがどのように機能するかをここで確認できます。 |
| |
データベースに接続してクエリを実行する 3 番目の方法は、データベース接続です。 |
| |
そしてそれには3つのステップが必要です。 1 つ目はデータベース接続を作成することです。 2 つ目は、1 つまたは複数のクエリをデータベースに保存することです。 最後に、データベース接続を閉じる必要があります。 |
| |
最後に、素晴らしいスクリプトを書いた場合。 |
| |
自分自身、あるいは同僚もアクセスできるようにする必要があります。方法は少なくとも 2 つあります。 したがって、1 つは、他の人にも簡単に提供できるように、それをアドインに入れることです。 もう 1 つの可能性は、ここで行ったように、カスタム メニューに入れることです。 |
| |
そしてあなたはそれを見つけることができます |
| |
メニューで、ここにこのようにします。 私のシステムには 2 つのアドインがインストールされています。 |
| |
そして、これが私の個人的なものです |
| |
カスタムメニュー。 |
| |
それでは...ビルディングブロックが完成しました。 例に進みましょう。 |
| |
最初の例は、テーブル スクリプトを使用してテーブル レイアウトとクエリを保存する方法です。 |
| |
したがって、このように見えるかもしれません。 付属のデータテーブルがある場合 |
| |
データベースから取得し、そこにいくつかのスクリプトを追加すると、素晴らしいグラフも作成できます。 |
| |
毎日使いたくなるかもしれません。 そして、ここには素晴らしい可能性があります |
| |
つまり、データなしでテーブル スクリプトをコピーします。 |
| |
そして、このスクリプトを使用できるようになります。 |
| |
新しいスクリプトを作成したいと思います。 ごめん。 |
| |
そしてそれをスクリプトウィンドウに貼り付けます。 |
| |
そして、「スクリプトの実行」ボタンを押すだけで、新しいテーブルが作成されます。 |
| |
そしてデータなしで???となります。 そして、このスクリプトをメニューに保存して、データを取得することができます。これは膨大な量のデータになる可能性があります。 「データベースから更新」ボタンを押すだけで、データベースまたは他の場所からのすべてのデータがテーブルに入力されます。 |
| |
これは良い可能性です |
| |
単純にスクリプトを使用する |
| |
データベースからデータを取得します。 |
| |
2番目の例 |
| |
テーブル内からクエリを使用することです。 |
| |
では、このように。 データ テーブルがあり、現在のテーブルの内容に応じて追加のデータをクエリする場合。 |
| |
それで、それを見せます。 |
| |
いくつかの行を削除します。 |
| |
これら 3 つの名前を使用して、別のテーブルに移動してデータを取得したいと考えています。 |
| |
そしてそれはこのスクリプトによって行われます。 |
| |
この表からわかるように、名前を取得してクエリを作成しました |
| |
ビッグ クラス ファミリの別のテーブルのデータをクエリします。 |
| |
そしてそれはどのように機能するのでしょうか? |
| |
このスクリプトで見つけることができます。 |
| |
かなり短いです。 ここで、名前は、ここのように、定義された最初のテーブル クエリから取得されます。 |
| |
名前はクエリに置き換えられます。 |
| |
ここでは、クエリが Big Class Families テーブルに入力されます。 |
| |
さて、このテーブルも閉じなければなりません。 |
| |
これは、グラフィカル ユーザー インターフェイスを備えたカスタム クエリ スクリプトです。 たとえば、データベース上に大規模なデータ テーブルがあり、頻繁に少量のデータ テーブルが必要になる場合は、 |
| |
もちろん、すべてのデータを取得することもできますが、適切にフィルタリングされたデータを取得する方が柔軟で効率的かもしれません。 したがって、このように機能します。 |
| |
データをフィルタリングするための 1 つのテーブルと、ビッグ データ テーブルのすべての列を含む 1 つのテーブルです。 ここでグラフィカルにフィルタリングできます。 女性と年齢としましょう。フィルターに使用する列は 2 つだけでした。 |
| |
こんな感じで12歳と13歳。 |
| |
また、すべての列を取得することも、1 つの列だけを削除することもできます。 |
| |
問い合わせてみます |
| |
ここでは、これらの制限を使用して適切な結果が得られます。 ここでわかるように、ソース スクリプトまたは SQL で次のことができます。 |
| |
制限はここにあります |
| |
定義されたグラフィカル ユーザー インターフェイスから。 |
| |
そしてどうやって |
| |
スクリプト作業はうまくいきますか? それは少しです |
| |
もちろん、より複雑です。 そこでフィルタクエリがあります。 |
| |
列のクエリ。 |
| |
これはスクリプト、つまり、 |
| |
データ フィルター条件を SQL 条件に変換します。 |
| |
これは GUI 部分、グラフィカル ユーザー インターフェイスです。 |
| |
そしてここで最後に、グラフィカル ユーザー インターフェイスの結果が評価され、このカスタム スクリプトに組み込まれます。 |
| |
次の例は 2 ステップのクエリです。 そこで、最初にいくつかのバッチ ID をクエリする必要があると仮定します。 |
| |
そして、これらの ID を別のクエリに取り込み、おそらく別のデータ テーブルに取り込んで追加データを取得するには、 |
| |
このようにできます。 そこで、ここでは Big Class データ テーブルをフィルターとして使用しました。 そこで男性のみをフィルタリングしました |
| |
そして |
| |
13歳以下の生徒。 |
| |
そして、ここに見られるように、これらの名前を使用して、Big Class Families のすべての行をクエリします。 |
| |
そして |
| |
ここでわかるように、両方のテーブルは仮想結合を介して接続されています。 |
| |
それで |
| |
このテーブルは、名前を介して他のテーブルをフィルター テーブルに参照します。 そして、私は使うことができます |
| |
このテーブルのフィルター テーブルの列は、次のようになります。 |
| |
この表では。 |
| |
したがって、これは、複数のテーブルを用意し、1 つのテーブルのコンテンツを使用する場合に適した方法です。 |
| |
そして最後の例は |
| |
2 つまたは複数のクエリをバックグラウンドで並行して実行する方法。 したがって、ここでは例を示しません。 これについては JMP コミュニティで議論されています。 そして、興味があれば、見てみることができます。 |
| |
これで例は終わりました。ジャーナルとプレゼンテーション資料のスクリプトはオンラインで入手できます。 |
| |
素晴らしい議論をしてくれたコミュニティに感謝します。また、この素晴らしいソフトウェアを構築し保守してくれた JMP 開発者に感謝します。 最後に、ご清聴ありがとうございました。 |