データベースからのインポートをLabTalk置換で更新する
概要
このチュートリアルで使用するデータベースはMicrosoft Azure上に設定されています。 |
このチュートリアルでは、SQLでLabTalk変数が定義されたOriginワークシートにデータベースからデータをインポートし、インポートされたデータから棒グラフをプロットする方法を示します。次に、LabTalk変数を変更し、データベースを再インポートします。
手順はOrigin 2023bに基づいています。
学習する項目
このチュートリアルでは、以下の項目について解説します。
- SQLエディタを使ってデータをインポートする
- SQLステートメント内でLabTalk置換を使う
- 棒グラフを作図する
- データベースからのインポートをLabTalk置換で更新する
手順
データベースからデータをインポートする
- 新しいプロジェクトを開始します。メニューのデータ:データベースに接続:新規作成...をクリック、またはデータベースアクセスツールバーのSQLエディタを開くボタンをクリックします。
- 接続文字列を選択してOKをクリックします。接続文字列の欄に下記を貼り付けます。
Driver={SQL Server}; Server=olab.DATABASE.windows.net; Port=1433; DATABASE=sample1; Uid=Olabts; Pwd=Origin@2024;
ODBC Drive 18 for SQL Serverを使用している場合は、
Driver={ODBC Driver 18 FOR SQL Server}; Server=olab.DATABASE.windows.net; Port=1433; DATABASE=sample1; Uid=Olabts; Pwd=Origin@2024;
- 問題なければ、OKをクリックしてデータベースにアクセスします。
- 以下のクエリをコピーして、SQLエディタのテキストボックスに貼り付けます。クエリは、指定されたcompany名で各製品の総売上を表示します。
SELECT SalesLT.ProductCategory.Name AS ProductName, SUM(SalesLT.SalesOrderDetail.LineTotal) AS '%(company$)' FROM SalesLT.SalesOrderDetail INNER JOIN SalesLT.Product ON SalesLT.Product.ProductID=SalesLT.SalesOrderDetail.ProductID INNER JOIN SalesLT.SalesOrderHeader ON SalesLT.SalesOrderHeader.SalesOrderID =SalesLT.SalesOrderDetail.SalesOrderID INNER JOIN SalesLT.ProductCategory ON SalesLT.Product.ProductCategoryID = SalesLT.ProductCategory.ProductCategoryID INNER JOIN SalesLT.Customer ON SalesLT.Customer.CustomerID = SalesLT.SalesOrderHeader.CustomerID WHERE SalesLT.Customer.CompanyName LIKE '%(company$)' GROUP BY SalesLT.ProductCategory.Name
- LabTalk文字列変数companyを追加するには、クエリー:LabTalk...を選択してLabTalkサポート設定ダイアログを開きます。
- LabTalk置換 (%,$) をするチェックボックスをオンにします。
- 次のスクリプトを入力して、LabTalk文字列変数companyを定義します。
string company$ = "Professional Sales and Service";
これをクエリー前のスクリプト に入力します。OKをクリックします。
ボタンをクリックして、SQLエディタボックスでLabTalk変数が置換されたSQLクエリ文字列をプレビューします。
- OKボタンをクリックするとワークブックにデータがインポートされます。デフォルトでは、SQLはワークシートと一緒に保存されます。
- ワークブックの左上にあるアイコンは、シートにSQLクエリが含まれていることを示します。




