データマートセクションは、1つのデータマートを生成するために必要な情報を設定します。複数のデータマートを定義する場合は、1つの定義ファイルの中に複数のデータマートセクションを記述します。
データマートセクションの記述形式は以下のとおりです。
[データマートセクション名] |
それぞれの変数に指定する内容を以下に示します。
データマートセクション名
[データマートセクション名] |
[Main]セクションで記述されている、生成するデータマートのセクション名を指定します。
データマートセクションのセクション名は、「Mart_」で始まる任意の文字列です。ただし、1つの定義ファイルの中で一意に識別できるものにしてください。
Connection=接続名
[データマートセクション名] |
使用する接続名を指定します。接続名はマートバッチ接続定義ファイルでセクション名として定義されているものを指定します。
CatalogFile=問い合わせファイル名
[データマートセクション名] |
データマートを作成する問い合わせファイル名を絶対パスで指定します。
CurrentMonth=YYYYMM
[データマートセクション名] |
当月度の一時的な変更を行う場合に指定します。YYYYには西暦、MMには月を2桁で指定します。このキーワードは省略可能です。
MartDBMS=出力先のデータベース名
[データマートセクション名] |
データマートを作成する先のデータベースの種類を指定します。
出力先データベース名 | 説明 |
---|---|
SYMFOWARE/RDB | Symfoware/RDBにデータマートを生成する場合に指定します。 |
ORACLE | Oracleにデータマートを生成する場合に指定します。 |
MSSQLSERVER | SQL Serverにデータマートを生成する場合に指定します。 |
条件指定
[データマートセクション名] |
条件の変更を行う場合に指定します。条件指定は省略可能です。
;条件を変更するデータ項目の数(初期値は0) |
[条件]フィールドに貼り付けられたデータ項目のうち、条件を変更したいデータ項目の数を指定します。
例えば活用で下の図のように指定したとすると、[条件]フィールドの個数に対してのみ条件変更したい場合は、DataItemConditionNumber=1、売上額と個数の両方に対して条件変更したい場合には、DataItemConditionNumber=2と指定します。
条件の内容を変更したくない場合は、指定を省略するか、DataItemConditionNumber=0と指定します。
DataItemCondition?では、Navigatorクライアントの[レイアウト]画面の[条件]フィールドに貼り付けられたデータ項目に対して条件を再指定します。
?には、1からDataItemConditionNumberで指定した値までを1つずつ指定します。データ項目名には、Navigatorで定義した見出しを指定します。指定されたデータ項目名が[条件]フィールドにない場合は無効です。また右辺の記述形式として、字句と字句は一つ以上の空白、またはタブで区切ることとします。[条件]フィールド中に同一の見出しをもつデータ項目が複数存在した場合、[識別番号]には問い合わせファイルに保存されているレイアウトで同一の見出しを持つデータ項目を左から数えた場合の番号を指定します(一番左が0)。
条件の最後にwith NULL が記述されている場合、データがNULL値の場合も出力されます。
データ項目が数値項目の場合
以下の指定は、データ項目が数値項目の場合に有効です。
DataItemCondition?=データ項目名 = 数値
→ データ項目が数値に等しい
DataItemCondition?=データ項目名 > 数値
→ データ項目が数値より大きい
DataItemCondition?=データ項目名 >= 数値
→ データ項目が数値以上
DataItemCondition?=データ項目名 < 数値
→ データ項目が数値未満
DataItemCondition?=データ項目名 <= 数値
→ データ項目が数値以下
DataItemCondition?=データ項目名 <> 数値
→ データ項目が数値以外
DataItemCondition?=データ項目名 in (数値1, 数値2, ...)
→ データ項目が、数値1, 数値2, ...のどれかと等しい
DataItemCondition?=データ項目名 not in (数値1, 数値2, ...)
→ データ項目が数値1, 数値2, ...のどれとも等しくない
DataItemCondition?=データ項目名 between include 数値1 and include 数値2
→ データ項目が数値1と数値2の間(境界の値を含む)
DataItemCondition?=データ項目名 between include 数値1and 数値2
→ データ項目が数値1と数値2の間(数値1との境界の値を含む)
DataItemCondition?=データ項目名 between 数値1and include 数値2
→ データ項目が数値1と数値2の間(数値2との境界の値を含む)
DataItemCondition?=データ項目名 between 数値1and 数値2
→ データ項目が数値1と数値2の間(境界の値を含まない)
DataItemCondition?=データ項目名 not between 数値1 and 数値2
→ データ項目が数値1以下、または数値2以上(境界の値を含む)
DataItemCondition?=データ項目名 between not include 数値1and 数値2
→ データ項目が数値1未満、または数値2以上(数値2との境界の値を含む)
DataItemCondition?=データ項目名 between not 数値1and include 数値2
→ データ項目が数値1以下、または数値2より大きい(数値1との境界の値を含む)
DataItemCondition?=データ項目名 between 数値1and 数値2
→ データ項目が数値1以下、または数値2以上(境界の値を含む)
データ項目が文字項目の場合
以下の指定はデータ項目が文字項目の場合に有効です。また、文字項目の場合は上記の数値項目の指定方法についても使用できます。
DataItemCondition?=データ項目名 like in (文字列1, 文字列2, ...)
→ データ項目が、文字列1, 文字列2, ...と完全に一致
DataItemCondition?=データ項目名 like fromstart in (文字列1, 文字列2, ...)
→ データ項目の先頭が、文字列1, 文字列2, ...と一致
DataItemCondition?=データ項目名 like fromend in (文字列1, 文字列2, ...)
→ データ項目の末尾が、文字列1, 文字列2, ...と一致
DataItemCondition?=データ項目名 like partial in (文字列1, 文字列2, ...)
→ データ項目の一部が、文字列1, 文字列2, ...と一致
DataItemCondition?=データ項目名 not like in (文字列1, 文字列2, ...)
→ データ項目が文字列1, 文字列2, ...と完全に一致しない
DataItemCondition?=データ項目名 not like fromstart in (文字列1, 文字列2, ...)
→ データ項目の先頭が、文字列1, 文字列2, ...と一致しない
DataItemCondition?=データ項目名 not like fromend in (文字列1, 文字列2, ...)
→ データ項目の末尾が、文字列1, 文字列2, ...と一致しない
DataItemCondition?=データ項目名 not like partial in (文字列1, 文字列2, ...)
→ データ項目の一部が、文字列1, 文字列2, ...と一致しない
データ項目がNULL値を扱える型の場合
以下の指定はデータ項目がNULL値を扱える型の場合に有効です。
DataItemCondition?=データ項目名 is NULL
→ データ項目がNULL値のもの
DataItemCondition?=データ項目名 is not NULL
→ データ項目がNULL値でないもの
条件の内容をクリアする場合
以下の指定はもともとある条件の内容をクリアする場合に指定します。
DataItemCondition?=データ項目名 is ignored
[条件]フィールドに貼り付けられた管理ポイントのうち、条件を変更したい管理ポイントの数を指定します。(指定方法はDataItemConditionNumberと同様)
使用できる管理ポイントの種類については、“条件指定時の注意事項”を参照してください。
ControlPointCondition?では、Navigatorクライアントの[レイアウト]画面の[条件]フィールドに貼り付けられた管理ポイントに対して、条件を再指定します。?には、1からControlPointConditionNumberで指定された値までを1つずつ指定します。指定された管理ポイント名が[条件]フィールドにない場合は無効です。
また右辺の記述形式として、字句と字句は一つ以上の空白、またはタブで区切ることとします。[条件]フィールド中に同一の見出しをもつ管理ポイントが複数存在した場合、[識別番号]には問い合わせファイルに保存されているレイアウトで同一の見出しを持つ管理ポイントを左から数えた場合の番号を指定します(一番左が0)。使用できる管理ポイントの種類については、“条件指定時の注意事項”を参照してください。
ControlPointCondition?=管理ポイント名 in (カテゴリ1, カテゴリ2, ...)
→ 管理ポイントの括弧内のカテゴリを対象とする
ControlPointCondition?=管理ポイント名 not in (カテゴリ1, カテゴリ2, ...)
→ 管理ポイントの括弧内のカテゴリを対象としない
以下の指定は、もともとある条件の内容をクリアする場合に指定します。
ControlPointCondition?=データ項目名 is ignored
DBMS固有の定義情報(Symfoware/RDBの場合)
[データマートセクション名] |
DBMSの情報を指定します。
MartDBMSで指定した出力先のデータベースの定義情報を指定してください。以下に、Symfoware/RDBの場合について説明します。
Database=データベース名 |
データマートを作成するデータベース名を指定します。
テーブルを作成するデータベーススペース名を指定します。
複数指定する場合は、カンマで区切って指定します。
データマートを作成するスキーマ名を指定します。
データマートを作成するテーブル名を指定します。
データマートを作成する方法を以下から選んで指定します。省略した場合には、TABLEを指定したものとみなされます。
TABLE | テーブルに出力する場合に指定します。 |
CSV | CSVファイルだけ出力する場合に指定します。 |
データマートをテーブルに出力する場合に、辞書にデータ公開情報を設定するかどうかを指定します。省略した場合には、NOを指定したものとみなされます。
NO | 辞書にデータ公開情報を設定しない場合に指定します。 |
YES | 辞書にデータ公開情報を設定する場合に指定します。 |
データマートをCSVファイルに出力する場合に、同時にDDL制御文を出力するかどうかを指定します。省略した場合には、NOを指定したものとみなされます。
NO | DDL制御文を出力しない場合に指定します。 |
YES | DDL制御文を出力する場合に指定します。 |
既存のテーブルに対してデータマートを作成する場合に、前のデータをどうするか以下から選んで指定します。省略した場合には、REPLACEを指定したものとみなされます。
REPLACE | テーブルが存在していない場合、新規にテーブルを作成。テーブルが既存の場合は、指定された既存テーブルと出力しようとしているテーブルの各項目の属性をチェックし、異なっているところがあれば(※)、1回既存のテーブルを削除してからテーブルを作成し直します。異なっているところがなければ、既存テーブルの表定義はそのままとし、データだけを格納し直す場合に指定します。 |
APPEND | 指定された既存テーブルと出力しようとしているテーブルの各項目の属性をチェックし、異なっているところがなければ(※)既存テーブルにデータを追加する場合に指定します。 |
NEW | テーブルを新規作成する場合に指定します。 |
REPLACE_TABLE | 既存のテーブルを削除し、テーブルを作成し直す場合に指定します。 |
REPLACE_DATA | 既存のテーブルに格納されているデータを1回クリアし、データを格納し直す場合に指定します。 |
APPEND_DATA | 既存のテーブルにデータを追加する場合に指定します。 |
※次の比較が行われます。
項目数、項目名、データ型(桁数を含む)、Null値(許す/許さない)。
サイズ的に格納可能であれば、データ型によっては桁数の差異は無視される場合もあります。
作成するテーブルの格納構造はSEQUENTIALを指定します。省略した場合には、SEQUENTIALを指定したものとみなされます。
SEQUENTIAL | 格納構造をSEQUENTIALで作成する場合に指定します。 |
DBMS固有の定義情報(Oracleの場合)
[データマートセクション名] |
DBMSの情報を指定します。
MartDBMSで指定した出力先のデータベースの定義情報を指定してください。以下に、Oracleの場合の場合について説明します。
Schema=スキーマ名 |
データマートを作成するスキーマ名を指定します。
データマートを作成するテーブル名を指定します。
データマートを作成する方法を以下から選んで指定します。省略した場合には、TABLEを指定したものとみなされます。
TABLE | テーブルに出力する場合に指定します。 |
CSV | CSVファイルだけ出力する場合に指定します。 |
データマートをテーブルに出力する場合に、辞書にデータ公開情報を設定するかどうかを指定します。省略した場合には、NOを指定したものとみなされます。
NO | 辞書にデータ公開情報を設定しない場合に指定します。 |
YES | 辞書にデータ公開情報を設定する場合に指定します。 |
データマートをCSVファイルに出力する場合に、同時にSQLスクリプトを出力するかどうかを指定します。省略した場合には、NOを指定したものとみなされます。
NO | SQLスクリプトを出力しない場合に指定します。 |
YES | SQLスクリプトを出力する場合に指定します。 |
既存のテーブルに対してデータマートを作成する場合に、前のデータをどうするか以下から選んで指定します。省略した場合には、REPLACEを指定したものとみなされます。
REPLACE | テーブルが存在していない場合、新規にテーブルを作成。テーブルが既存の場合は、指定された既存テーブルと出力しようとしているテーブルの各項目の属性をチェックし、異なっているところがあれば(※)、1回既存のテーブルを削除してからテーブルを作成し直します。異なっているところがなければ、既存テーブルの表定義はそのままとし、データだけを格納し直す場合に指定します。 |
APPEND | 指定された既存テーブルと出力しようとしているテーブルの各項目の属性をチェックし、異なっているところがなければ(※)、既存テーブルにデータを追加する場合に指定します。 |
NEW | テーブルを新規作成する場合に指定します。 |
REPLACE_TABLE | 既存のテーブルを削除し、テーブルを作成し直す場合に指定します。 |
REPLACE_DATA | 既存のテーブルに格納されているデータを1回クリアし、データを格納し直す場合に指定します。 |
APPEND_DATA | 既存のテーブルにデータを追加する場合に指定します。 |
※次の比較が行われます。
項目数、項目名、データ型(桁数を含む)、データ属性(NULLを許す/許さない)。サイズ的に格納可能であれば、データ型によっては桁数の差異は無視される場合もあります。
DBMS固有の定義情報(SQL Serverの場合の場合)
[データマートセクション名] |
DBMSの情報を指定します。
MartDBMSで指定した出力先のデータベースの定義情報を指定してください。以下に、SQL Serverの場合について説明します。
Schema=スキーマ名 |
データマートを作成するスキーマ名を指定します。
データマートを作成するテーブル名を指定します。
データマートを作成する方法を以下から選んで指定します。省略した場合には、TABLEを指定したものとみなされます。
TABLE | テーブルに出力する場合に指定します。 |
CSV | CSVファイルだけ出力する場合に指定します。 |
データマートをテーブルに出力する場合に、辞書にデータ公開情報を設定するかどうかを指定します。省略した場合には、NOを指定したものとみなされます。
NO | 辞書にデータ公開情報を設定しない場合に指定します。 |
YES | 辞書にデータ公開情報を設定する場合に指定します。 |
データマートをCSVファイルに出力する場合に、同時にSQLステートメントを出力するかどうかを指定します。省略した場合には、NOを指定したものとみなされます。
NO | SQLステートメントを出力しない場合に指定します。 |
YES | SQLステートメントを出力する場合に指定します。 |
既存のテーブルに対してデータマートを作成する場合に、前のデータをどうするか以下から選んで指定します。省略した場合には、REPLACEを指定したものとみなされます。
REPLACE | テーブルが存在していない場合、新規にテーブルを作成。テーブルが既存の場合は、指定された既存テーブルと出力しようとしているテーブルの各項目の属性をチェックし、異なっているところがあれば(※)、1回既存のテーブルを削除してからテーブルを作成し直します。異なっているところがなければ、既存テーブルの表定義はそのままとし、データだけを格納し直す場合に指定します。 |
APPEND | 指定された既存テーブルと出力しようとしているテーブルの各項目の属性をチェックし、異なっているところがなければ(※)、既存テーブルにデータを追加する場合に指定します。 |
NEW | テーブルを新規作成する場合に指定します。 |
REPLACE_TABLE | 既存のテーブルを削除し、テーブルを作成し直す場合に指定します。 |
REPLACE_DATA | 既存のテーブルに格納されているデータを1回クリアし、データを格納し直す場合に指定します。 |
APPEND_DATA | 既存のテーブルにデータを追加する場合に指定します。 |
※次の比較が行われます。
項目数、項目名、データ型(桁数を含む)、データ属性(NULLを許す/許さない)。サイズ的に格納可能であれば、データ型によっては桁数の差異は無視される場合もあります。
SQL Serverにテーブルを作成する際に、ログインするSQL Serverのユーザ名を指定します。
SQL Serverにテーブルを作成する際に、ログインするSQL Serverのユーザのパスワードを指定します。
<Windowsサーバの場合>
[Mart_Sales] |
<UNIXの場合>
[Mart_Sales] |
当月度の一時変更
CurrentMonthを指定する場合には、実行する問い合わせの中に相対期間を定義した時間テンプレート型管理ポイントが指定されている場合に有効です。
定量制限
[文字列]に指定できる文字列の大きさは253バイトまでです。
YYYYMMDDには1970年1月1日~2038年1月18日を指定できます。(当月度の指定のみ)
条件番号
[?]には番号を指定します。番号は1から一つずつ順に付けてください。
(番号の付け方は、DataItemConditionとControlPointConditionで分ける必要があります。)
同一のキーワードの複数指定
1つのセクションで同一のキーワードを複数指定した場合は、最も上に書かれている指定が有効になります。
条件指定時の注意事項
特殊文字
特殊文字とは空白、タブ、および以下の文字です。
( ) , < > = |
特殊文字をデータ項目名、管理ポイント名、カテゴリ名、文字列の中で使用することはできません。使用する場合は名前の前後を二重引用符で囲んでください。(ただしカンマ(,)は二重引用符で囲んでも使用することはできません)また以下の特殊記号を使用する場合はエスケープシーケンス(\)に続けて記述してください。
\ % " |
予約語
以下の語をデータ項目名、管理ポイント名、カテゴリ名として使用する場合は、前後を二重引用符で囲んでください。(大文字、小文字の区別はなし)
"like"、"is"、"not"、"in"、"NULL"、"between"、"and"、"include"、"fromstart"、"fromend"、"partial"、"ignored" |
データ項目条件の組み合わせ
データ項目の条件指定は1つのデータ項目に対して、2種類の条件を組み合せることができます。組み合せることのできる条件は、一致型と範囲型の組み合わせのみです。組み合せる場合は、別々の条件指定として2行に分けて記述します。(ORで結合されます)
一致型の条件を以下に示します。
=,< >,in,like
範囲型の条件を以下に示します。
<,<=,>,>=,between
管理ポイント条件の組み合わせ
1つの管理ポイントに対して複数の条件を指定することはできません。
管理ポイントの型
条件指定に使用できる管理ポイントの型には以下のものがあります。
マスタ型
全値型
カテゴリ型
範囲型
マスク型
問い合わせファイルに保存されている条件
マートバッチで条件指定を行ったデータ項目、または管理ポイントについてはもとの問い合わせファイルに保存されている条件は無視され、マートバッチ定義ファイルで指定した条件のみ有効になります。
マスタ型管理ポイントを指定した場合の条件指定
マスタ型管理ポイントが条件に指定されている場合、条件として記述できるのはラベルのみとなります。
問い合わせファイルに保存されている条件がコードである場合も、条件はラベルで記述してください。