FlexPro サポート > データ解析チュートリアル
更新日: 25/04/28

FPScript カスタム関数チュートリアル

FlexPro では、ユーザー独自の関数を FPScript でプログラミングし、テンプレートデータベースに保存することで、FPScript 数式内で作成した関数を呼び出すことができます。FPScript 関数は、少なくとも引数を1つ使用する FPScript で記述された数式です。引数は、Arguments 文を使用して1つまたは複数宣言することができます。

以下の事例では、データセットを正規化する関数をプログラムし、それを FPScript 関数として登録して使用する方法を学習します。

注意:この例は、FPScript 言語によるカスタム関数の実装に限定されています。外部ライブラリ(DLL)にアクセスして関数を開発したり、既存のアルゴリズムを FlexPro で利用できるようにする場合は、VBA または他のオートメーション対応プログラミング言語で FPScript のカスタム関数を実装する必要があります。詳しくは「カスタム FPScript 関数」を参照してください。

FPScript のカスタム関数を登録する

  1. 以下の FPScript コードを使って数式を作成します:
    Arguments Data, NormalizeTo
    If NormalizeTo == Empty Then
    NormalizeTo = 1.
    End
    NormalizeTo * Data / Maximum(Data)

    この数式は、Arguments 文によって関数に変換されます。関数を呼び出すときは引数のリストを指定する必要があります。
  2. オブジェクトリストで数式を選択し、「ホーム」 [選択したオブジェクト] > 「テンプレートとして保存」 をクリックします。
  3. テンプレートウィザードの最初の画面で、「テンプレートの種類」として 「FPScript 関数」を選択し、名前に Normalize と入力し、コメントに Normalizes a data set と入力します。

注意:FPScript 関数テンプレートタイプを選択できるのは、数式を1つだけ選択している場合のみです。また、最初の行の数式にはキーワード「Arguments」が含まれており、構文エラーがないことが必要です。

  1. 「次へ」をクリックします。引数 Data の説明として、「正規化するデータセット」と入力します。「使用可能なデータタイプ」として、16ビット整数から64ビット浮動小数点値までを選択します。「使用可能なデータ構造」として、「データシリーズ」と「シグナル」を選択します。
  2. 「次へ」をクリックします。引数 NormalizeTo の説明として、「データセットを正規化する値」を入力します。「使用可能なデータタイプ」として、「16ビット整数」から「64ビット浮動小数点値」までを選択します。「使用可能なデータ構造」として「スカラー値」を選択します。「デフォルト値」オプションを有効にし、「1」を入力します。
  3. 「次へ」をクリックします。ウィザードの最後の画面で設定内容とテンプレートの保存場所が「パーソナルテンプレートデータベース」であること確認します。ウィザードを閉じます。
  4. 以上で、関数 Normalize がテンプレートデータベースに保存されました。プロジェクトデータベースから削除できます。削除するには、オブジェクトリストから関数を選択し、キーボードの Delete キーを押してください。

FPScript のカスタム関数を使用する

  1. 挿入 [データ] > シグナル > サイン を選択してサインの合成シグナルを作成します。
  2. 次に、「挿入」[データ] >「数式」をクリックして空の数式を作成し、数式ツール > デザイン [FPScript の挿入] >「関数」をクリックします。カテゴリに「カスタム」を選択し、Normalize 関数を選択します。
  3. Data 引数には正規化するデータセット「シグナル」を入力し、NormalizeTo 引数には値 10 を入力します。
    コードは次のようになります:
    Normalize(シグナル, 10)
  4. オブジェクトリストで数式の名前をクリックします。プレビューに極値 +-10 の正弦曲線が表示されます。

FPScript のカスタム関数を企業ネットワーク上で提供する

注意:このオプションは、FlexPro Professional および Developer Suite でのみ使用できます。

  1. 新規プロジェクトデータベースを作成し、ネットワーク上の任意のフォルダーに 「FPScript ライブラリ」という名称で保存します。
  2. [ファイル] > [情報] > [オーガナイザー] をクリックし、[オーガナイザー] ダイアログ ボックスの [テンプレート] タブを選択します。
  3. 「共有テンプレート データベース」をクリックすると、同じ名称のダイアログボックスが開きます。作成した「FPScript ライブラリ」のパスをコピーして、新規ボタンをクリックします。
  4. 「貼り付け」をクリックし、リスト内の新しく作成されたフィールドの右側にあるボタンをクリックします。
  5. 先に保存したデータベースを選択し、OK をクリックして2つのダイアログを閉じます。
  6. 「オーガナイザー」ダイアログボックスで、「テンプレートタイプ」に「FPSCript 関数」を選択します。
  7. 左側の「アイテムが利用可能な場所」で、「FPScript ライブラリ」を選択します。リストに表示されない場合は、「プロジェクトデータベースを閉じる」をクリックし、「プロジェクトデータベースを開く」をクリックしてファイルを選択します。
  8. 右側の「アイテムが利用可能な場所」の下で、「パーソナルテンプレートデータベース」を選択します。
  9. リストボックスの右側で、関数 Normalize を選択したら、「コピー」をクリックして共有テンプレートデータベースにコピーします。
  10. 削除をクリックして、この関数を「パーソナルテンプレートデータベース」から削除します。

注意:テンプレート データベース「FPScript ライブラリ」に保存されている FPScript 関数を同僚が使用できるようにするには、手順 2 ~ 5 の説明に従って、「共有テンプレート データベース」リストにそれらの関数を入力する必要があります。

異なるテンプレートデータベースに同じ名前の関数が存在する場合、最も優先度の高いテンプレートデータベースからロードされます。適用される順番は以下のとおりです:

  1. パーソナルテンプレートデータベース
  2. 共有テンプレート データベースは、「共有テンプレート データベース」リストに入力された順番で表示されます。

 

 

前のページにもどる