関数をレポートに追加するには

  1. Infrastructure Administrator で、次のいずれかを実行します。
    • [エンタープライズ]をクリックし、エンタープライズ インダストリ モデルに接続します。プロジェクトを開きます。
    • [ファイル]をクリックして、インダストリ モデルの図面またはテンプレートを開きます。
  2. レポートのインダストリ モデル ノードを選択します。
  3. Administrator ツールバーで、[レポート デザイナー]アイコンをクリックします。
  4. レポート デザイナーで、レポート定義を開きます。
  5. [追加]メニュー > [関数] > [管理]をクリックします。
  6. [関数]ダイアログ ボックスで、[追加]をクリックします。
  7. [新しい関数]ダイアログ ボックスで、MyRound などの名前を入力します。[OK]をクリックします。
  8. [関数]の下で、コードを入力します。
    サンプル関数が表示されます。
    <name> = Me.Record.LngValue("Fid") * 10. 

    このコードは、属性 FID の値を読み込み、その値に 10 を掛けます。

    この例では、丸めた値を印刷する関数を作成します。これは、パラメータを使用して種々のデータベース列に関数を適用します。この関数は、属性値が空の場合は “--” を、値が 999999 の場合は “Infinite” をそれぞれ印刷し、他のすべての値で丸めた値を印刷します。
    dim columnName AS String
    dim scale as integer
    columnName = Me.FunctionParameters.Item(0) ' First parameter
    scale = Me.FunctionParameters.Item(1)' Second parameter
    if Me.Record.IsDBNull(columnName) then
    MyRound = "--" 'Attribute value is empty
    else
    dim value as double
    value = Me.Record.DblValue(columnName)
    if value = 999999 then
    MyRound = "Infinite" 
    else
    MyRound = System.Math.Round(value, scale)
    end if
    end if
  9. [構文確認]をクリックします。
  10. [閉じる]をクリックします。
  11. レポートで、関数 control を追加し、パラメータを入力します。例:
    {Fun.MyRound("column_name1",2)
    {Fun.MyRound("column_name2",7)}