数値の演算式とは、数値型のデータ項目間の四則演算のことです。演算には、数値型の「データ項目」と、数値の演算式で定義した「データ項目」が使用できます。
操作の流れ
1.数値型のデータ項目間の四則演算式を定義します。
演算式を[演算式]テキストエリアに入力します。
以下の操作を組み合せて演算式を完成させます。
データ項目の引用
[項目一覧]からデータ項目を選択し、[項目]ボタンをクリックすると、[演算式]テキストエリアのカーソル位置に転記することができます。
演算記号と括弧の引用
[演算記号]ボタンをクリックすると、演算記号(+、-、×、÷)と括弧が[演算式]テキストエリアのカーソル位置に転記されます。なお、[演算式]テキストエリアでは、「×」は「*」、「÷」は「/」で表現されます。
2.見出し、注釈、および単位を定義します。
演算式の見出し、注釈、および単位を定義します。
見出しは、[見出し]テキストボックスに入力します。見出しは、必ず指定してください。見出しは、日本語で24文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。
注釈は、[注釈]テキストボックスに入力します。注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。注釈の入力は省略することができます。
単位は、[単位]テキストボックスに入力します。単位は、日本語で8文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。単位の入力は省略することができます。
3.[OK]ボタンをクリックします。
[数値演算]画面で、[OK]ボタンをクリックします。
4.複数個の演算式を定義する場合は、1.から3.までの操作を繰り返します。
文字の演算式とは、文字型データの部分抽出・結合のことです。文字の演算には、文字型の「データ項目」が使用できます。日本語文字の演算には、日本語文字型の「データ項目」が使用できます。
操作の流れ
1.文字型のデータ項目間の部分抽出・結合の演算式を定義します。
演算式を[演算式]テキストエリアに入力します。
以下の操作を組み合せて、演算式を完成させます。
全文字列の抽出
データ項目の全文字列を結合する場合は、データ項目を選択し、次に[すべて抽出]ボタンをクリックします。[すべて抽出]ボタンをクリックすると、[演算式]テキストエリアに該当のデータ項目名が転記されます。
特定部分の文字列の抽出
データ項目の特定部分の文字列を結合する場合は、該当データ項目をクリックし、次に[部分抽出]ボタンをクリックします。
[部分抽出]ボタンをクリックすると、[部分抽出]画面が表示されます。[部分抽出]画面では、項目名とデータ型が表示されています。初期値では、開始位置と文字数を1とした演算式が表示されています。
開始位置と文字数に数値を入力すると演算式に反映されます。開始位置と文字数が定義長を超えないように注意してください。
部分抽出の元となる項目のサンプル値を表示したい場合は、[サンプル表示]ボタンをクリックします。
[OK]ボタンをクリックすると、[文字演算]画面に戻ります。
[演算式]テキストエリアに該当のデータ項目名が「SUBSTRING(該当データ項目名、開始位置、文字数)」の形で転記されます。
演算記号の引用
[||]ボタンをクリックすることにより、連結演算子が[演算式]テキストエリアのカーソル位置に転記されます。
2.見出し、注釈、および単位を定義します。
演算式の見出し、注釈、および単位を定義します。
見出しは、[見出し]テキストボックスに入力します。見出しは、必ず指定してください。見出しは、日本語で24文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。
注釈は、[注釈]テキストボックスに入力します。注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。注釈の入力は省略することができます。
単位は、[単位]テキストボックスに入力します。単位は、日本語で8文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。単位の入力は省略することができます。
3.[OK]ボタンをクリックします。
[文字演算]画面で、[OK]ボタンをクリックします。
4.複数個の演算式を定義する場合は、1.から3.までの操作を繰り返します。
注意
文字の演算定義では、すでに作成されている演算項目を使用して、新たな演算項目を作成することはできません。
文字演算の結合では、結果はデータベースに依存します。以下に、データベースごとの主な注意点を記述します。
Symfoware/RDBの場合
部分抽出や結合した結果の後方空白は削除されません。
Oracleまたは、Postgresの場合
部分抽出や結合した結果の後方空白は削除されません。
演算した結果が空白で終わる演算は正しく集計できません。
SQL Serverの場合
部分抽出や結合した結果の後方空白は削除されます。
ただし、CHARACTER型項目同士の結合では、後方空白は削除されません。
ODBCドライバの場合
ODBCドライバやデータソースの仕様によって動作が異なります。
データモデル、データベースのセットアップについては、“Navigator Server セットアップガイド Vol.1”を参照してください。
データベースの文字コードがUnicodeの場合、およびPostgresのデータベースの場合、部分抽出にはASCII文字のデータのみを持つ項目が指定可能です。日本語などのASCII文字以外の文字がデータに含まれる項目を指定した場合、期待した結果が得られない場合があります。
時間の演算式とは、ある基準日からの年数、月数、日数を算出することです。時間計算の種類は、項目から基準日までの期間、基準日から項目までの期間、および項目から項目までの期間を定義することができます。
基準日は、決まった日付だけでなく、会計年度やレポート作成時点を基準にした相対的な指定を行うことができます。
操作の流れ
1.見出し、注釈、および単位を定義します。
演算式の見出し、注釈、および単位を定義します。
見出しは、[見出し]テキストボックスに入力します。見出しは、必ず指定してください。見出しは、日本語で24文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。
注釈は、[注釈]テキストボックスに入力します。注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。注釈の入力は省略することができます。
単位は、[単位]テキストボックスに入力します。単位は、日本語で8文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。単位の入力は省略することができます。
2.演算の方法を選択します。
[演算]コンボボックスで、経過時間の演算の方法を選択します。
演算の方法には、以下があります。なお、経過時間には、年数、月数、日数の3種類があります。
当月基準日(時間情報で設定)から項目までの経過時間
演算基準日(時間情報で設定)から項目までの経過時間
システム日付から項目までの経過時間
指定した固定日付から項目までの経過時間
項目から当月基準日までの経過時間
項目から演算基準日までの経過時間
項目からシステム日付までの経過時間
項目から固定日付までの経過時間
当月基準日から項目までの経過時間
基準となる項目と対象となる項目までの経過時間
3.時間の演算で使用する項目を選択します。
[項目一覧]で使用するデータ項目を選択し、[項目]ボタンをクリックします。
4.時間の演算項目で使用する基準日を選択します。
固定の日付を選択した場合は、[固定日]コンボボックスの下に表示される[年月日]テキストボックスに日付を指定します。
5.[OK]ボタンをクリックします。
[時間演算]画面で、[OK]ボタンをクリックします。
6.複数個の演算項目を定義する場合は、1.から5.までの操作を繰り返します。
注意
経過時間の演算定義では、すでに作成されている演算項目を使用して新たな演算項目を作成することはできません。
経過時間の演算定義で使用できるデータ項目は、データベースの項目のデータ型が日時型の項目です。Symfoware/RDBの場合の日時型はDATE型、TIMESTAMP型です。Oracleの場合の日時型はDATE型です。SQL Serverの場合の日時型はdatetime型、smalldatetime型、date型、datetime2型です。Postgresの場合の日時型は、date型、timestamp without time zone型です。
Navigator辞書管理ツールで種別を時間に設定した日時型以外のデータ項目は、経過時間の演算項目の定義では使用できません。
経過時間の演算項目は、「合計してから演算」を指定して集計することはできません。
時間演算の結果は、DBMSの仕様に依存します。
Symfoware/RDBの場合、時間隔値式の結果に基づきます。
ただし、環境変数RN_SYMFOWARE/RDB_TIME_OPERATION_MODE=NAVIを指定した場合は、時間演算の結果を翌年の同月同日をもって1年経過、および翌月の同日をもって1ヶ月経過とします。
Oracleの場合、単位が年数および月数の場合は、MONTHS_BETWEEN関数、日数の場合は、日付算術の結果に基づきます。
ただし、環境変数RN_ORACLE_TIME_OPERATION_MODE=NAVIを指定した場合は、時間演算の結果を翌年の同月同日をもって1年経過、および翌月の同日をもって1ヶ月経過とします。
SQL Serverの場合、同月同日で、1年経過、1ヶ月経過とします。
ODBCのデータソースの場合、時間演算は、使用できません。
Postgresの場合、単位が年数および月数の場合はdatepart関数、日数の場合は日付算術の結果に基づきます。
拡張演算は、それぞれのデータベースの組み込み関数を使用した演算です。この拡張演算により、新たなデータ項目を定義します。
操作の流れ
1.演算式を定義します。
演算式を[演算式]テキストエリアに入力します。
演算式には、それぞれのデータベースの組み込み関数を直接記述します。記述形式は、それぞれのデータベースの規約に従います。
演算式に項目名を引用する場合は、表示されている「項目一覧」から選択してください。「項目一覧」に表示されている項目以外は使用できません。項目名は自動的にNavigatorで生成する相関名で修飾されます。自動的に生成する相関名は編集しないでください。
演算式に項目名を引用する場合、項目名を二重引用符(“)で囲む指定はできません。
演算項目のデータ型を選択します。
「自動設定」を選択した場合は、演算項目のデータ型は[演算式]テキストエリアに入力されている演算式をDBMSが解析した結果の型になります。初期状態では「自動設定」が選択されています。
選択できるデータ型、桁数、小数桁数は、使用するDBMSによって異なります。各DBMSの選択できるデータ型は以下のようになります。
注意
グループ関数(SUM、AVG、MAXなど)は使用できません。また、Navigatorで扱えないデータ型の項目を使用した演算式、および演算結果が、Navigatorで扱えないデータ型になる演算式は定義できません。
データ型に「自動設定」以外を選択する場合、CAST式やSUBSTRING関数などを使用して、演算式の結果が選択したデータ型の範囲に収まるようにしてください。選択したデータ型に収まらないデータが存在する場合、意図しない問い合わせ結果になるため、注意が必要です。
Symfoware Serverの場合
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~32000 | - |
VARCHAR | 1~32000 | - |
NCHARACTER | 1~16000 | - |
NVARCHAR | 1~16000 | - |
INTEGER | - | - |
SMALLINT | - | - |
DECIMAL | 1~18 | 0~桁数以下 |
NUMERIC | 1~18 | 0~桁数以下 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
Oracleの場合
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~2000 | - |
VARCHAR | 1~4000 | - |
NCHARACTER | 指定不可 | 指定不可 |
NVARCHAR | 指定不可 | 指定不可 |
INTEGER | 指定不可 | 指定不可 |
SMALLINT | 指定不可 | 指定不可 |
DECIMAL | 1~38 | 0~桁数以下 |
NUMERIC | 指定不可 | 指定不可 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
SQL Serverの場合
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~8000 | - |
VARCHAR | 1~8000 | - |
NCHARACTER | 指定不可 | 指定不可 |
NVARCHAR | 指定不可 | 指定不可 |
INTEGER | - | - |
SMALLINT | - | - |
DECIMAL | 1~38 | 0~桁数以下 |
NUMERIC | 1~38 | 0~桁数以下 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
ODBCの場合
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~32000 | - |
VARCHAR | 1~32000 | - |
NCHARACTER | 指定不可 | 指定不可 |
NVARCHAR | 指定不可 | 指定不可 |
INTEGER | - | - |
SMALLINT | - | - |
DECIMAL | 1~38 | 0~桁数以下 |
NUMERIC | 1~38 | 0~桁数以下 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
Postgresの場合
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~32000 | - |
VARCHAR | 1~32000 | - |
NCHARACTER | 指定不可 | 指定不可 |
NVARCHAR | 指定不可 | 指定不可 |
INTEGER | - | - |
SMALLINT | - | - |
DECIMAL | 1~38 | 0~桁数以下 |
NUMERIC | 指定不可 | 指定不可 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
2.見出し、注釈、および単位を定義します。
演算式の見出し、注釈、および単位を定義します。
見出しは、[見出し]テキストボックスに入力します。見出しは、必ず指定してください。見出しは、日本語で24文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。
注釈は、[注釈]テキストボックスに入力します。注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。注釈の入力は省略することができます。
単位は、[単位]テキストボックスに入力します。単位は、日本語で8文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。単位の入力は省略することができます。
3.[OK]ボタンをクリックします。
[拡張演算]画面で、[OK]ボタンをクリックします。
4.複数個の拡張演算を定義する場合は、1.から3.までの操作を繰り返します。
注意
演算式にグループ関数(SUM、AVG、MAXなど)は使用できません。
拡張演算項目に対して、以下の集計方法は指定できません。
「件数(NULL)」、「分散」、「標準偏差」、「標準誤差」、「尖度」、「歪度」、「合計後の演算」
NCHAR型、およびNVARCHAR型の拡張演算項目は条件に指定できません。
NCHAR型、およびNVARCHAR型の拡張演算項目から管理ポイントを作成して使用することはできません。
Symfoware/RDBの日時型の項目を利用する場合、CAST指定によりCHAR型に変換する必要があります。
演算式の結果データ型は、定義時に決定します。演算式を構成する項目のデータ型に変更などがあり、DBMS上での演算式の結果データ型と異なる場合でも、定義されているデータ型を使用して問い合わせを実行します。データ型を変更する場合は、演算項目の変更によりデータ型を再度選択しなおす必要があります。