列値の設定を使って分析テンプレートを作成する

サマリー

このチュートリアルでは、列を追加し、実行前の処理スクリプトを設定して、別の列のデータが変わったら、スクリプトを実行します。この手法は、繰り返し行われる似たようなデータ分析を行うための分析テンプレートとして利用することができます。

必要なOriginのバージョン:8.0 SR6

学習する項目

  • 列値の設定を使って、分析テンプレートを作成する
  • Go to関数を使って行を選択する

ステップ

  1. 下図のように、新しいワークブックに\Samples\Statistics\automobile.dat データをインポートします。この例では、Make列に応じてデータを別のワークシートに抽出します。
    Image:Analysis_Template_thru_Set_Column_Value_001.png
  2. 空の列をワークシートに追加し、その列の列値の設定ダイアログを開きます。実行前の処理スクリプトのボックスに以下のスクリプトを入力します。
    //離散度数カウントを実行するデータの範囲
    range makeCol = !col(make);
    // 抽出するワークシート
    range sourceWks = !;
     
    // ワークシートのクリア
    int sheetNum = page.nlayers;
    int colNum = wks.ncols - 1;
    if (sheetNum>1)
    {
            for (jj=2; jj<=sheetNum; jj++)
            {
                    layer -d 2;
            }
    }
     
    // discfreqsの出力を保持するツリー変数
    tree tr;
    // 離散度数カウントを実行
    discfreqs irng:=makeCol rd:=tr;
    // ツリーから結果を取得する文字列配列
    StringArray sa;
    sa.append(tr.FreqCount1.Data1);
     
    if( sa.GetSize() != NANUM )
    {
            // データ抽出のループ
            for (ii=1; ii<=sa.GetSize(); ii++)
            {
                    string sn$ = sa.GetAt(ii)$;
                    // 条件文字列を抽出
                    string cond$ = "makeCol$ = " + sn$;
                    // 異なるMake名を持つワークシートの作成
                    newsheet name:=sn$ cols:=colNum outname:=on$ active:=0;
                    // データ抽出
                    wxt test:=cond$ iw:=sourceWks c2:=colNum ow:=on$;
            }
    }
    

    このスクリプトは、まずMake 列に対して離散度数カウントを実行し、 Makeの明確な値を取得します。そして各ブランドに対する新しいワークシートを作成し、シートにデータを抽出します。

    Image:Analysis_Template_thru_Set_Column_Value_006.png
  3. 再計算モードが自動に設定されている事を確認してOKをクリックします。データは別々のワークシートに分けられます。緑の錠前アイコンがある空の列(H)は、この操作が自動的に更新されることを示しています。
    Image:Analysis_Template_thru_Set_Column_Value_002.png
  4. 元のデータには18の自動車メーカーがあるので、18個の新しいワークシートが作成されます。では、自動更新が機能するか確認しましょう。
    Hondaタブを開きます。19行のデータが入力されている事が分かります。
  5. 最初のシートを開きます。スクロールして、最後の行を削除します。
    Image:Analysis_Template_thru_Set_Column_Value_004.png
    すると、自動更新が行われます。Hondaタブを開きます。すると、18行分のデータのみ確認できます。
    Image:Analysis_Template_thru_Set_Column_Value_005.png