reference データセットとは

「データセット」は、変数と同様にタスクが実行されるたびに変化する可能性のあるタスクのデータを表現するための機能です。データセットはテーブルのように複数の行と複数の列のデータを含むことができ、「変数」や「配列」と異なり使用する前に宣言する必要はありません。そのため、特にデータベースやスプレッドシートのようなデータの集まりを検索する場合や、1つ以上のオブジェクトやアイテムを記述した情報を検索する場合に便利です。アプリケーションやオペレーティングシステム自体が返す情報を格納するためにも使用されます。

データセットに取得したデータを使用するときは、対象のデータセットを%で囲み「データセット名(行番号).列名」のように指定します。例えば5行×2列のデータを持つExcelファイルのデータが格納されているデータセット「dt_ExcelData」内のB列2番目のデータを使用したい場合は、以下のように指定します。

%dt_ExcelData(2).B%

Loopでデータセットを指定すると、列の中に含まれる行ごとのデータを順番に呼び出して使用することが出来ます。

【サンプルタスク】

<AMEXCEL SESSION="ExcelSession1" WORKBOOK="%GetDesktopDirectory()%Book1.xlsx" />
<AMEXCEL ACTIVITY="get_cell" SESSION="ExcelSession1" ACTION="rangebyreference" RESULTDATASET="dt_ExcelData" STARTCELLREF="A1" ENDCELLREF="B5" />
<AMLOOP ACTIVITY="dataset" DATASET="dt_ExcelData" FROM="1" />
<AMSHOWDIALOG WINDOWTITLE="B列のデータ">%dt_ExcelData.B%</AMSHOWDIALOG>
<AMLOOP ACTIVITY="end" />

バージョン11.3以降では「データセット」アクションでデータセットの追加・変更が出来ます。

【サンプルタスク】

<AMDATASET RESULTDATASET="myDataset" COLUMNS="heading1;heading2;heading3" DELIMITER="semi_colon" />
<AMDATASET ACTIVITY="insert_row" DATASET="myDataset"><COLUMNSETTER COLUMNNAME="heading1" VALUE="value1" /><COLUMNSETTER COLUMNNAME="heading2" VALUE="value2" /><COLUMNSETTER COLUMNNAME="heading3" VALUE="value3" /></AMDATASET>
<AMSHOWDIALOG>1列1行目の値:%myDataset(1).heading1%
2列1行目の値:%myDataset(1).heading2%
3列1行目の値:%myDataset(1).heading3%</AMSHOWDIALOG>