WorkFusionの変数系のアクションについて、まとめてみた


以前、タスクで調べた内容をまとめました（ほぼ和訳）。参考にしたのは[公式サイト](https://kb.workfusion.com/display/RPAe/Variables)。
ちなみに、以前まとめた記事はこちら

- [第13弾](https://qiita.com/icchy_sh33p/items/4b082101aa1fd41c58a2)
- [第14弾](https://qiita.com/icchy_sh33p/items/fb045fb74f90c68fc31e)
- [第15弾](https://qiita.com/icchy_sh33p/items/da6118dce1aa134d66e1)

# どういうときに使用する？
 - レコーダー変数のひとつとしてまとめることができたり、値や他の属性を代入することができる場合にアクションフローとして追加
 
# 実行命令一覧
- Random Value
- Constant Value
- Expression Value
- Number Format
    - Reformat string
    - Convert Number to String
    - Convert String to Number 
- Date Format
    - Reformat String
    - Convert Date to String
    - Convert String to Date

# Random Value 
事前に定義された設定にしたがって、ランダムに値を生成するのに使用 
 
## 命令属性 
- Variable 
Random Value変数から取得した値を記録する変数、値の型は、レコーダー変数のリストで示されているそれぞれのレコーダー変数の型と同じ 
 
- Randomize Options 
ランダム変数を生成する際のルール。ルールは変数のそれぞれの型に個別に存在 
    - String（文字列）型の場合 
        - String length・・・生成された値の長さ 
        - Character set・・・生成される値に使用される文字のリスト。
文字の指示は以下のとおり。 
            - Alpha→アルファベットだけで値を構成 
            - Numeric→数字だけで値を構成 
            - Alpha-numeric→アルファベットと数字の両方で値を構成 
    - Date（日付）型の場合 
ランダムな日付は、設定された最初と最後の日付の期間から特定、取得する 
        - From→指定時期の初日 
        - To→指定時期の最終日 
    - Number（数値）型の場合 
        - Pick a number between→数字を取得する範囲を設定 
        - Number Type 
            - Integer→整数型 
            - Decimal→小数を含む形で構成する場合に使用 
    - Table（テーブル）型の場合 
        - Table dimensions・・・テーブルの大きさを設定 
            - Rows→テーブルの行（Row）の数 
            - Columns→テーブルの列（Column）の数 
        - 文字の設定 ・・・テーブルのセル内に入るデータについて、データを生成するのに使用される文字のリスト 
            - Alpha→アルファベットだけで値を構成 
            - Numeric→数字だけで値を構成 
            - Alpha-numeric→アルファベットと数字の両方で値を構成 
    - List（リスト）型の場合 
        - Create a random list with length ・・・リスト内のデータの長さの最大値（文字数の最大値） 
        - 文字の設定・・・リスト内に入るデータについて、データを生成するのに使用される文字のリスト 
            - Alpha→アルファベットだけで値を構成 
            - Numeric→数字だけで値を構成 
            - Alpha-numeric→アルファベットと数字の両方で値を構成 
            - Boolean（真偽）→真か偽か（True／False）、ランダムで選択される 

# Constant Value
レコーダー関数に定数として代入するのに使用

## Constant Valueで設定する属性
- Variable ・・・定数から取得した値を記録する変数。値の型はアクション変数にまとめられたレコーダー変数の型と同じ。 
- Value・・・代入される値。値を代入するレコーダー変数の型に対応。 
    - Number（数値）型の場合 
        - Set Value→数値型の定数を入力 
    - String（文字列）型の場合 
        - Set Value→文字列の決まった値を入力 
    - Date（日付）型の場合 
        - Fixed→ユーザーによって選択された日付 
        - Current Date→現在の日付がRobot実行中に自動で入力される 
    - Table（テーブル）型の場合 
        - Modify Table →テーブル作成／修正のボタンをクリック。行（Row）と列（Column）の数を定義し、セル内の値を入力 
    - List（リスト）型の場合 
        - Modify List →リストを作成／修正するボタンをクリック、リストから（リストへ）値を増減 
    - Boolean（真偽）型の場合 
        - 真か偽か（True／False）を選択

# Expression Value
基本の機能は、対象となる変数の型に基づく。最大ふたつの機能を使用可能

- Number（数値）型の場合 ・・・レコーダー変数の数値の操作から、値を算出する 
    - Variable→Expressionで算出された値を取得するレコーダー変数 
    - Expression→値を算出するための式を設定

```
* →積を算出
/ →商を算出 
+ →和を算出 
- →差を算出 
% →割り算をした際のあまりを算出 
( ) →演算をする順番を優先的にする
```

- List（リスト）型の場合 ・・・ほかのリストから代入するリストへ値を入力 Or  リストの大きさを取得、Number（数値）型の変数として保存 
    - Push（Append）→リスト内の値やString（文字列）型の値を指定した変数に代入 
    - Get Size →リストの長さ（大きさ）を計算し、Number（数値）型の変数として保存 
- Table（テーブル）型の場合 ・・・List（リスト）型の値をテーブルに行（または列）として代入　Or テーブルの行（または列）の数を取得、それぞれを数値型の変数として保存 
    - Push（Append） →List（リスト）型変数のデータを指定されたTable（テーブル）型変数に行（または列）として代入 
    - Get Size→テーブルの行（または列）の数を算出し、Number（数値）型の変数として保存 

# Number Format
Number（数値）型の値の変換に関係するアクション 
 
## Reformat string
String（文字列）型の変数から事前定義した形式で数値を抽出し、抽出した数値に別の形式を適用し、結果をString（文字列）型の変数として保存 
※文字列値に含まれる数値のフォーマットを変える 

- Input→String（文字列）型の値か、値を含んだString（文字列）型の変数を選択 
    - Input string→事前定義したフォーマットにしたがって数値の箇所を抽出、明白な、またはレコーダー変数として定義されたString（文字列）型の値 
    - Format→String（文字列）型の値から数値を抽出させるために適用させるフォーマット。Presets（事前設定）かユーザー設定によってフォーマットは選択可能。 
        - Show presets→結果のString（文字列）値に適用される、事前に準備されたフォーマットのリストを表示 
    - Locale→小数点を定義する地域設定 
※Inputの文字列にある小数点は、地域設定によって定義されたものと一致させる必要あり。定義したものと一致しない字については判定されずに飛ばされる 
- Output→結果の値を保存するString（文字列）型のレコーダー変数 
    - Select Variable→結果となる文字列の値を保存するレコーダー変数をドロップダウンで選択 
    - Format→結果となる文字列の値を適用させるフォーマット。フォーマットは、Preset（事前設定）か、ユーザー定義のものから選択可能 
        - Show Presets→結果の文字列値に適用させる事前設定のフォーマットのリストを表示 
    - Locale→桁（進数）や小数点を定義する地域設定。選択された地域は、Preset（事前設定）とユーザー定義のフォーマットの両方に適用される

## Convert Number to String
指定されたフォーマットでNumber（数値）型からString（文字列）型にデータを変換
 
- Input→String（文字列）型に変換する数値を含むNumber（数値）型のレコード変数 
    - Select Variable→変換する数字を含んだレコーダー変数を選択するドロップダウン 
- Output→変換された数値をString（文字列）型の値として保存するString（文字列）型のレコーダー変数 
    - Select Variable→結果として出てくる文字列（String）型の値を保存するレコーダー変数を選択するドロップダウン 
    - Format→String（文字列）値の結果に適用するフォーマット。フォーマットは、事前設定（Preset）かユーザー定義から選択可能 
        - Show Presets→String（文字列）値に適用させる事前設定のフォーマットのリスト表示 
    - Locale→桁（進数）や小数点を定義する地域設定。選択された地域は、Preset（事前設定）とユーザー定義のフォーマットの両方に適用される

## Convert String to Number
String（文字列）の値から定義されたフォーマットで数値を抽出し、さらに数値として処理するためにNumber（数値）型のレコーダー変数に保存

- Input→数値に変換するString（文字列）値 
    - Input String→事前定義したフォーマットに従って、明白な値、あるいは数値の箇所を抽出するためのレコーダー変数として定義されたString（文字列）値 
    - Format→String（文字列）型の値から数値を抽出するために適用するフォーマット。フォーマットはPreset（事前設定）、またはユーザー定義から選択可能 
        - Show Presets→Inputで設定したString（文字列）値から値を解析する方法を定義する事前設定のフォーマットのリストを表示 
    - Locale→小数点を定義する地域設定。選択された地域は、Preset（事前設定）とユーザー定義のフォーマットの両方に適用される 
※小数点は地域設定で定義されたもののみ照合される。フォーマットとして定義されていない字については、判定されずにとばされる 
- Output→変換した値を保存するNumber（数値）型のレコーダー変数を選択 
    - Select Variable→結果として出力される数値を保存するレコーダー変数を選択するドロップダウン

# Date Format 
Date（日付）型の値の変換に関係するアクション 
 
## Reformat String
String（文字列）値から事前定義されたフォーマットで日付（時刻）を抽出し、ほかのフォーマットに適応させて結果をString（文字列）値として保存 
※String（文字列）値に含まれる日付（時刻）の値のフォーマットを変える

- Input→String（文字列）値、または値をもつString（文字列）型の変数を選択 
     - Input String→事前定義したフォーマットに従って、明白な値、あるいは日付（時刻）の箇所を抽出するためのレコーダー変数として定義されたString（文字列）値 
     - Format→String（文字列）値から日付（時刻）を抽出するよう適応するフォーマット。フォーマットはPreset（事前設定）、またはユーザー定義から選択可能 
        - Show Presets→InputのString（文字列）値から、値を解析する方法を定義する事前設定（Presets）のリスト表示
     - Locale→長短かかわらず日付（時刻）のフォーマットを定義する地域設定。選択された地域はPresets（事前設定）とユーザー定義のフォーマットの両方に適用される 
※Inputの文字列の分離を含む日付（時刻）のフォーマットは地域によって定義されたものとのみ適合される 
- Output→結果の値を保存するString（文字列）型のレコーダー変数 
    - Select Variable→結果として出力されたString（文字列）値を保存するレコーダー変数を選択するドロップダウン 
    - Format→結果のString（文字列）値に適用させるフォーマット。Presets（事前設定）、またはユーザー定義から選択可能。 
        - Show Presets→結果のString（文字列）値に適用される事前設定のフォーマットの表示 
    - Locale→長短かかわらず日付（時刻）のフォーマットを定義する地域設定。選択された地域はPresets（事前設定）とユーザー定義のフォーマットの両方に適用される

## Convert Date to String
TextアクションやNotePadのようなアプリケーションを介さず、日付／時刻（Date／Time）の型を指定した形式に変換するのに使用

- Input→文字列を変換する日付（時刻）の値をもつDateTime（日付／時刻）型のレコーダー変数を選択 
※レコーダー変数内の日付／時刻のフォーマットは操作システムの地域設定で定義する 
    - Select Variable→変換する数値をもつレコーダー変数を選択するドロップダウン 
- Output→変換された値を保存するString（文字列）型のレコーダー変数 
    - Select Variable→結果の文字列を保存するレコーダー変数を選択するドロップダウン 
    - Format→結果の文字列（String）値に適用させるフォーマット。フォーマットはPresets（事前設定）、またはユーザー定義のものから選択可能 
        - Show Presets→結果の文字列（String）値に適応させる事前設定のフォーマットのリスト表示 
    - Locale→長短かかわらず、日付／時刻のフォーマットを定義する地域設定。選択された地域はPresets（事前設定）とユーザー定義のフォーマットの両方に適用される

## Convert String to Date
WorkFusion RPA Expressが実行するRobotで設定しているフォーマットに対応するよう、ほかのアプリケーションやファイルから取得した日付／時刻の形式を変更

- Input→DateTime（日付／時刻）型に変換するString（文字列）値の選択 
    - Input String→事前定義したフォーマットにしたがって、日付／時刻の部分を抽出し、明確な値、またはレコーダー変数として定義されたString（文字列）値 
    - Format→String（文字列）値から抽出したDateTime（日付／時刻）型の値 
        - Show Presets→InputのString（文字列）値から値を解析する方法を定義する事前定義のフォーマットのリスト表示 
    - Locale→長短かかわらず、日付／時刻のフォーマットを定義する地域設定。選択された地域はPresets（事前設定）とユーザー定義のフォーマットの両方に適用される 
    ※InputのString（文字列）値の分離を含む日付／時刻のフォーマットは地域に定義されたものとのみ適合される 

- Output→変換された値を保存するDateTime（日付／時刻）型のレコーダー変数 
     - Select Variable→結果の値を保存するレコーダー変数を選択するドロップダウン

# 感想
以前、せっかくタスクで学んだことをまとめる機会ってなかなかないもんで。ひさしぶりにまとめました。
ちょこちょこ勉強進めていこう。