2015-07-13

数値計算 - 数学演算子

数学演算子を使って数値計算を行うワークスペース例を掲げます。

FME 2015.1.0.3 build 15485
# 数学関数については「数値計算 - 数学関数」を参照してください。

=====
平成22年国勢調査の人口等集計表に基づいて男女別の人口構成比率(%)を求め、その結果を含む人口集計表を作成する。

ソースデータ
e-Stat 政府統計の総合窓口からダウンロードした「男女別人口及び世帯の種類(2区分)別世帯数」テーブル(CSV 形式, 全国1ファイル)
e-Stat 政府統計の総合窓口
平成22年国勢調査 > 人口等基本集計(男女・年齢・配偶関係,世帯の構成,住居の状態など)> 全国結果
総人口・総世帯数 表番号2「男女別人口及び世帯の種類(2区分)別世帯数」
ダウンロードファイル名: 002.csv
=====

FMEワークスペース例1 - ExpressionEvaluator
















[CSV] リーダー: ソースデータを読み込む。
AttributeRenamer: 属性名を変更する。
AttributeKeeper: 不要な属性を削除する(必要な属性を残す)。
ExpressionEvaluator × 2: 男女別の人口構成比率を求め、新たな属性に格納する。

CSVテーブルを読み込む際にヘッダ部分(表タイトル等)をスキップする方法については、「属性値の条件に基づくデータ抽出」を参照してください。
ExpressionEvaluator は数値計算専用のトランスフォーマーで、パラメーターとして入力した数式に基づく計算を行い、その結果を新しい属性に格納したり既存の属性の値を更新したりすることができます。
数式では、四則演算をはじめとする数学演算子や数学関数が使用できます。数学演算子の一覧表はこの記事の末尾に掲載しています。数学関数については「数値計算 - 数学関数」を参照してください。

ExpressionEvaluator パラメーター設定画面(男性の人口比率計算)





















男性の人口比率を求めるためのパラメーター設定は次のとおりです。
-----
New Attribute (計算結果を格納する属性名): 男率
Arithmetic Expression (数式): @Value(人口 男)/@Value(人口 総数)*100
-----
"@Value" は、それに続くカッコ内に指定した属性の値を取得するための FME 固有の関数です。
画面左側の FME Feature Attributes セクションに入力フィーチャーの属性名が表示されており、ここで属性名をダブルクリックするか、または、右の編集画面上にドラッグ・アンド・ドロップすることによって "@Value(属性名)" を編集中の数式に挿入することができます。編集画面に直接キー入力することもできますが、その際はアルファベットの大文字小文字が区別されることに注意してください。例えば、先頭の V が小文字の "@value" や全て大文字の "@VALUE" は不可です。
画面左側の Math Operators セクションには演算子も表示されており、これらもダブルクリック、または、ドラッグ・アンド・ドロップで数式に挿入できます(直接キー入力もできます)。

結果: FME Data Inspector Table View による表示














ExpressionEvaluator は、データフロー内で数値計算を行うための最も基本的なトランスフォーマーですが、他のトランスフォーマーのパラメーターでも、数式エディタ(Arithmetic Editor)を使用して数式を入力することにより、その計算結果をパラメーターの値として使用できるものが数多くあります。
ひとつ以上の新しい属性を作成するための AttributeCreator の Value パラメーター(新しい属性に与える値)にも数式が設定できるので、ワークスペース例1の2つの ExpressionEvaluator は、ひとつの AttributeCreator に置き換えることができます。

FMEワークスペース例2 - AttributeCreator



















AttributeCreator のパラメーター設定画面で Value 入力フィールドのメニューボタン(▼)をクリックして表示させたメニューで Open Arithmetic Editor (数式エディタを開く)コマンドを選択すると数式エディタ(Arithmetic Editor)が開き、数式が入力できます。

AttributeCreator パラメーター設定画面(Value フィールド設定前)

















数式エディタ(Arithmetic Editor)
数式の入力方法は ExpressionEvaluator と同じです。入力後 OK で閉じると、トランスフォーマーのパラメーター入力フィールドにその数式が設定されます。














AttributeCreator パラメーター設定画面(Value フィールド設定後)















実行結果はワークスペース例1と同じなので省略します。
数式エディタの使い方はどのトランスフォーマーのパラメーターでも同じです。

参照: FME リファレンス > 数学演算子 (Math Operators)

0 件のコメント:

コメントを投稿