データベースからのインポートをLabTalk置換で更新する

概要

このチュートリアルで使用するデータベースはMicrosoft Azure上に設定されています。

このチュートリアルでは、SQLでLabTalk変数が定義されたOriginワークシートにデータベースからデータをインポートし、インポートされたデータから棒グラフをプロットする方法を示します。次に、LabTalk変数を変更し、データベースを再インポートします。

手順はOrigin 2023bに基づいています。

学習する項目

このチュートリアルでは、以下の項目について解説します。

  • SQLエディタを使ってデータをインポートする
  • SQLステートメント内でLabTalk置換を使う
  • 棒グラフを作図する
  • データベースからのインポートをLabTalk置換で更新する

手順

データベースからデータをインポートする

  1. 新しいプロジェクトを開始します。メニューのデータ:データベースに接続:新規作成...をクリック、またはデータベースアクセスツールバーのSQLエディタを開くボタンをクリックします。
    ImportDataDatabase 1.png
  2. 接続文字列を選択して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;
    
  3. 問題なければ、OKをクリックしてデータベースにアクセスします。
  4. 以下のクエリをコピーして、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
    
  5. LabTalk文字列変数companyを追加するには、クエリー:LabTalk...を選択してLabTalkサポート設定ダイアログを開きます。
    Db LT Script1.png
  6. LabTalk置換 (%,$) をするチェックボックスをオンにします。
  7. 次のスクリプトを入力して、LabTalk文字列変数companyを定義します。
    string company$ = "Professional Sales and Service";
    
    これをクエリー前のスクリプト に入力します。OKをクリックします。
    ImportDB for LT sub company.png
  8. Db editor labtalk.pngボタンをクリックして、SQLエディタボックスでLabTalk変数が置換されたSQLクエリ文字列をプレビューします。
    ImportDB for LT sub company SQL.png
  9. OKボタンをクリックするとワークブックにデータがインポートされます。デフォルトでは、SQLはワークシートと一緒に保存されます。
  10. ワークブックの左上にあるアイコンは、シートにSQLクエリが含まれていることを示します。
    ImportDB for LT sub company1 imported.png