DrSum3MdiDynamic - Dr.Sum EA Ver.3以降による多次元集計(動的に項目を設定する)

Dr.Sum EA Ver.3以降を使用して多次元集計を行います。
列項目、行項目、集計項目等の設定は入力ストリームのXMLで指定します。

■ストリーム情報

入力フォーマットXML
接続数1
説明 列項目や行項目等が設定されたXMLを入力します。
入力XMLの内容に関しては下記トピック「入力XMLについて」を参照してください。
出力フォーマットCSV,Text
説明集計結果をCSVまたはTextで出力します。

■コンポーネントプロパティ

名前プロパティ型マッピング説明
サーバー名string入力&出力 Dr.Sumのサーバー名を指定します。
ポート番号string入力&出力 Dr.Sumのポート番号を指定します。
ユーザーIDstring入力&出力 Dr.SumのユーザーIDを指定します。
パスワードpassword入力&出力ユーザーIDのパスワードを指定します。
ループを開始loopProcess- 集計結果をまとめて出力するか1行ずつループして出力するか選択します。
出力ストリーム型がCSVの場合のみ有効です。
はい [true] - ループの起点となって1レコードずつストリームに出力します。
いいえ [false] - すべてのレコードがまとめてストリームに出力します。
集計結果の列数int   出力 集計結果の列数が取得できます。
集計結果の行数int   出力 集計結果の行数が取得できます。

■ループ処理

出力ストリーム型がCSVで、かつループを開始が「はい」の場合、このコンポーネントがループの起点となって集計結果を1行ずつ出力します。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラ
メータ
エラー処理フロー
へのストリーム
エラー
コード
説明
接続エラー
No.名前説明
1ServerNameエラー発生時のサーバー名の値
2Portエラー発生時のポート番号の値
3UserIDエラー発生時のユーザーIDの値
コンポーネントの入力ストリーム なし Dr.Sumサーバーが起動していない場合
なし サーバー名が間違っている場合
なし ポート番号が間違っている場合
なし ユーザーIDが間違っている場合
なし パスワードが間違っている場合
なし その他、Dr.Sumサーバーへの接続時に例外が発生した場合
レコードが無い なし コンポーネントの入力ストリーム なし 集計結果が0件だった場合
Dr.Sum APIエラー
No.名前説明
1Codeエラーコード。エラーの詳細につきましては、Dr.Sum EAマニュアルをご覧下さい。
2Messageエラーの内容。エラーの詳細につきましては、Dr.Sum EAマニュアルをご覧下さい。
コンポーネントの入力ストリーム なし 多次元集計の実行時にDr.SumのAPIでエラーが発生した場合
汎用 なし コンポーネントの入力ストリーム なし 列項目が設定されていなかった場合
なし 列項目名が誤っている場合
なし 行項目が設定されていなかった場合
なし 行項目名が誤っている場合
なし 集計項目が設定されていなかった場合
なし 集計項目名誤っている場合
なし 予期せぬエラーが発生した場合

■備考

出力ストリームのタイプがCSVの場合は、集計結果の列数(横方向のフィールド数)がフィールド定義のフィールド数を超えないように注意してください。
集計結果の列数がフィールド定義のフィールド数を超えた場合は、超えた部分の集計結果は無視されます。

■入力XMLについて

入力ストリームとしては以下のようなXMLを入力します。

<?xml version="1.0" encoding="UTF-8" ?>
<DrSumMdiDynamic>
	<DatabaseName>SALES</DatabaseName>
	<TableName>受注ビュー</TableName>
	<StartRowNo>1</StartRowNo>
	<MaxColumnCount>255</MaxColumnCount>
	<MaxRowCount>65535</MaxRowCount>
	<ColumnItems>
		<Item>
			<Name>年</Name>
		</Item>
		<Item>
			<Name>月</Name>
		</Item>
	</ColumnItems>
	<RowItems>
		<Item>
			<Name>地域</Name>
		</Item>
		<Item>
			<Name>都道府県</Name>
		</Item>
	</RowItems>
	<SummaryItems>
		<Item>
			<Name>数量</Name>
			<DisplayName>数量(合計)</DisplayName>
			<SummaryType>SUM</SummaryType>
		</Item>
		<Item>
			<Name>売上額</Name>
			<DisplayName>売上額(合計)</DisplayName>
			<SummaryType>SUM</SummaryType>
		</Item>
	</SummaryItems>
	<SearchCondition>年=2000</SearchCondition>
</DrSumMdiDynamic>

XMLの各要素には以下の内容を設定します。

要素名説明
DrSumMdiDynamicルート要素です。(必須)

DatabaseName多次元集計を行うデータベースの名称を指定します。(必須)

TableName多次元集計を行うテーブルの名称を指定します。(必須)

StartRowNo取得開始行番号を指定します。未指定の場合は、1が設定されます。

MaxColumnCount最大取得列数を指定します。未指定の場合は、255が設定されます。

MaxRowCount最大取得行数を指定します。未指定の場合は、65535が設定されます。

ColumnItems多次元集計の列項目を指定します。(必須)


Item1つの列項目を指定するための要素です。このItem要素1つが1つの列項目に対応します。
複数の列項目を指定する場合は、この要素を複数指定します。



Name列項目の名称を指定します。

RowItems多次元集計の行項目を指定します。(必須)


Item1つの行項目を指定するための要素です。このItem要素1つが1つの行項目に対応します。
複数の行項目を指定する場合は、この要素を複数指定します。



Name行項目の名称を指定します。

SummaryItems多次元集計の集計項目を指定します。(必須)


Item1つの集計項目を指定するための要素です。このItem要素1つが1つの集計項目に対応します。
複数の集計項目を指定する場合は、この要素を複数指定します。



Name集計項目の名称を指定します。



DisplayName集計結果でこの集計項目のタイトルとしてこの名称が使用されます。他の集計項目表示名と異なる名称を指定しなければなりません。



SummaryType 集計区分を以下の文字列(英語文字列)で指定します。
  • SUM:合計
  • AVG:平均
  • WAVG:加重平均
  • FIRST:最初の1件
  • COUNT:データ件数
  • MAX:最大値
  • MAX_SUM:最大値合計
  • MIN:最小値
  • MIN_SUM:最小値合計
  • DISTINCT_SUM:Distinct合計
  • DISTINCT_AVG:Distinct平均
  • DISTINCT_COUNT:Distinct件数

SearchCondition 検索条件式を指定します。
検索条件式の書式につきましては、「Dr.Sum EA SQLリファレンス」をご覧下さい。
未指定の場合は検索条件式は設定されません。

■動作に必要な設定

Dr.Sumコンポーネントを使用するには、Dr.Sum EA JDBCドライバおよびDr.Sum EA APIライブラリをフローサービスにコピーする必要があります。Dr.Sum EA JDBCドライバおよびDr.Sum EA APIライブラリはDr.Sum EAインストールメディア内に含まれています。

注意

フローサービスにJDCBドライバ、APIライブラリをコピーする(以下の内容はDr.SumEA Ver.4の情報です)

Dr.Sum EAのインストーラーから「Dr.Sum EA Development Kit」をインストールします。詳しくはDr.Sum EAのマニュアルをご覧ください。

dwodsjd4.jar(JDBCドライバ)、DrSumEA.jar(APIライブラリ)ファイルを、フローサービスの以下のディレクトリにコピーします。コピー後、フローサービスを再起動します。

Dr.Sum EA JDBCドライバおよびDr.Sum EA APIライブラリ

JDBCドライバ:[Dr.Sum EA Development Kitインストールディレクトリ]/java/jdbc/dwodsjd4.jar
APIライブラリ:[Dr.Sum EA Development Kitインストールディレクトリ]/java/api/DrSumEA.jar

ライブラリを配置するフローサービスのディレクトリ

[INSTALL_DIR]/jre/lib/ext