ACLでの表示書式:数値型
執筆者 八木基次
執行役員
■国際認定CAATs技術者(ICCP)
■公認情報システム監査人(CISA)
大手監査法人において、IT戦略・計画策定支援、内部監査支援、財務諸表・内部統制監査の一環としてのIT監査等に従事。2019年より三恵ビジネスコンサルティング株式会社に入社。現在CAATs導入支援、業務改善支援等に従事。
売上金額等の数値型フィールドを保持するトランザクションデータをインポート処理し、各種データ処理や分析を行った結果に関して、売上金額等の数値がカンマ(,)での桁区切りで表示されておらず、何億?何万?と一瞬戸惑ってしまう場面があるかと思います。
【カンマでの桁区切り表示の対応イメージ】
金額等の数値型フィールド
このようなケースへの対応策として、金額等の数値型フィールドに対して、カンマ(,)の桁区切り表示を設定する方法がいくつか想定されますが、一つはSETコマンドで、「SET PICTURE "-999,999,999.99"」等により、数値型フィールドの桁区切り表示が可能となります。この場合、伝票番号や勘定科目コード等を含めた数値型フィールド全てに適用される面があり、任意のテーブルの金額フィールドについてのみ区切り表示を設定したい等の場合は、このSETコマンドの利用は適切ではないケースがあります。
そこで、今回はカンマ(,)での桁区切り表示を特定のテーブルの数値型フィールドに適用する場合の設定方法についての例示を以下に紹介します。
数値型フィールドへの書式設定の方法は、インポート対象のデータがテキストファイルかExcelファイルかで少し対応が異なるので、留意が必要です。
詳しくは、以下の(1)から(3)を参考にしてください。
(1)インポート対象のソースファイルがテキストファイル(csv、txt)の場合
テキストファイルのインポートコマンド(IMPORT DELIMITED TO …)では、売上金額等の数値型フィールドに関するフィールド構文での「PICパラメータでの書式設定」にて、カンマ(,)での桁区切り表示で出力又は表示させることができます。
【 例1-1 】 インポート対象のデータ例(売上実績データ.txt)
【例1-2 】
IMPORTコマンドの中で、【 例1-1 】売上実績データ.txtの”売上金額”フィールドに関して、以下の通り、カンマ(,)での桁区切り表示の書式をPICパラメータで設定
IMPORT DELIMITED TO 売上実績データ "売上実績データ.fil” FROM "売上実績データ.txt" … … FIELD "売上金額" N AT 71 DEC 0 WID 24 PIC "-999,999,999" AS ""
【 例1-3】 上記【 例1-1 】および【 例1-2 】のインポート後のデータ(売上実績データ.fil)
(2)インポート対象のソースファイルがExcelファイルの場合
Excelファイルのインポートコマンド:(IMPORT EXCEL TO … )では、数値フィールドの書式設定ができないため、インポート処理の後に、インポート先のAnalytics テーブルを別テーブルへの抽出(EXTRACTコマンド)を行うことで、抽出先のテーブル上で、売上金額等の数値型フィールドを桁区切り表示させます。
以下【 例2-1 】のテーブルAの数値型フィールドである売上金額について、桁区切り表示させる場合、テーブルAの抽出コマンド(EXTRACT FIELDS)にて、表示対象の売上金額フィールドに対してPICパラメータで書式設定します(【例2-2】を参照)。
【 例2-1 】 インポート格納先のテーブルA
【 例2-2 】
EXTRACT FIELDSコマンドの中で、【 例2-1 】テーブルAの数値型フィールドの”売上金額”へのPICパラメータにて、カンマ(,)で桁区切り表示する書式を設定する。
OPEN テーブルA
EXTRACT FIELDS 取引番号 売上日 … 売上単価 売上金額 PIC "-999,999,999,999" TO "テーブルB"
【 例2-3 】 抽出先のテーブルBでの桁区切り表示
(3)演算フィールド(DEFINE FIELD)の作成による表示方法
インポート対象のソースファイルがExcelファイルの場合、上記(2)以外の他の方法として、インポート処理の後に、インポート先のAnalytics テーブルに対する演算フィールドの作成により、桁区切り表示の数値型フィールドを追加作成することで対応する方法もあります。
前述の【 例2-1 】のテーブルAを対象として、桁区切り表示数値型フィールドを追加するスクリプトの例示を【 例3-1 】と【 例3-2 】に記載します。
【 例3-1 】
DEFINE FIELDコマンドで、【 例2-1 】テーブルAの”売上金額”について、カンマ(,)で桁区切り表示する数値型の演算フィールド:”売上金額_N”を作成
OPEN テーブルA
DEFINE FIELD 売上金額_N COMPUTED
PIC "-999,999,999"
売上金額
【 例3-2 】 演算フィールド:”売上金額_N”の追加作成後のテーブルA
但し、APPENDコマンド(2つ以上のテーブルからのレコード結合)では、当該演算フィールドは、結合対象とされないことから、その場合は留意が必要であり、以下の対応(別テーブルのテーブルCの作成)を参考にしてください。
上記【 例3-2 】の通り、演算フィールド定義により作成した”売上金額_N”を含むテーブルAから、データ抽出:EXTRACTコマンドにて、”売上金額_N"を抽出対象フィールドとして設定し、かつASコマンドでフィールド名称を「売上金額」に設定して抽出処理を行うことにより、フィールド名称:「売上金額」で、かつ桁区切り表示されたデータを作成することができます。
(以下【 例3-3 】を参照)
【 例3-3 】
OPEN テーブルA
EXTRACT FIELDS 取引番号 売上日 得意先 商品 売上数量 売上単価 売上金額_N AS "売上金額" TO "テーブルC"
テーブルC