"編集対象のデータとして、データの属性を示す基底とデータの値とを対応付けて保持するデータ保持部と、データの編集内容を内包的記法により記述するための第1プログラム言語で記述されたコードであって、前記編集対象のデータに対する前記基底にもとづく編集内容が記述された第1コードを取得するコード取得部と、データの編集内容を外延的記法により記述するための第2プログラム言語と前記第1プログラム言語との予め定められた対応関係にしたがって、前記第1コードから、前記第2プログラム言語で記述されたコードである第2コードを生成するコード生成部と、前記第2コードにしたがって前記編集対象のデータを編集する編集処理部と、を備えることを特徴とするデータ編集装置。前記編集対象のデータは、前記データの値として数値が用いられ、前記基底として名称、単位、期間、主体のうち少なくとも1つが用いられることを特徴とする請求項1に記載のデータ編集装置。前記コード生成部は、母集団から抽出すべき要素の条件が内包的記法により記述されて前記第1コードに含まれる場合、母集団に含まれる各要素を列挙するための繰り返し命令を含む第2コードを生成することを特徴とする請求項1または2に記載のデータ編集装置。前記第1コードは、複数のデータを集約させるための集約命令を含むものであり、前記コード生成部は、前記第1コードに集約命令が含まれる場合、前記複数のデータの基底を集約する基底である集約基底を予め定めた情報にしたがって、前記複数のデータの値の集計値と前記集約基底とを対応づけた集計結果を出力する第2コードを生成することを特徴とする請求項1から3のいずれかに記載のデータ編集装置。前記コード生成部は、前記第1コードに集約命令が含まれる場合、集約対象の複数のデータそれぞれの値を差し引くことを示すデータと前記集計結果とを対応づけた中間データを出力する第2コードをさらに生成することを特徴とする請求項4に記載のデータ編集装置。編集対象のデータとして、データの属性を示す基底とデータの値とを対応付けて保持するステップと、データの編集内容を内包的記法により記述するための第1プログラム言語で記述されたコードであって、前記編集対象のデータに対する前記基底にもとづく編集内容が記述された第1コードを取得するステップと、データの編集内容を外延的記法により記述するための第2プログラム言語と前記第1プログラム言語との予め定められた対応関係にしたがって、前記第1コードから、前記第2プログラム言語で記述されたコードである第2コードを生成するステップと、前記第2コードにしたがって前記編集対象のデータを編集するステップと、をコンピュータが実行することを特徴とするデータ編集方法。編集対象のデータとして、データの属性を示す基底とデータの値とを対応付けて保持する機能と、データの編集内容を内包的記法により記述するための第1プログラム言語で記述されたコードであって、前記編集対象のデータに対する前記基底にもとづく編集内容が記述された第1コードを取得する機能と、データの編集内容を外延的記法により記述するための第2プログラム言語と前記第1プログラム言語との予め定められた対応関係にしたがって、前記第1コードから、前記第2プログラム言語で記述されたコードである第2コードを生成する機能と、前記第2コードにしたがって前記編集対象のデータを編集する機能と、をコンピュータに実現させるためのコンピュータプログラム。上記3のデータ編集機能に関して、データをメモり内でデータオブジェクトとして表現する方法は標準的に定められておらず、どのような形式のオブジェクトとして表現するかというORObjectRelationマッピングと呼ばれる課題が存在した。また、データオブジェクトを操作するためのプログラムの記述は複雑になりやすく、データ編集の内容をユーザが直観的に把握することが難しい場合があった。本発明は上記課題を鑑みてなされたものであり、その主な目的は、データオブジェクトに対するユーザの操作を支援するための技術を提供することにある。上記課題を解決するために、本発明のある態様のデータ編集装置は、編集対象のデータとして、データの属性を示す基底とデータの値とを対応付けて保持するデータ保持部と、データの編集内容を内包的記法により記述するための第1プログラム言語で記述されたコードであって、編集対象のデータに対する基底にもとづく編集内容が記述された第1コードを取得するコード取得部と、データの編集内容を外延的記法により記述するための第2プログラム言語と第1プログラム言語との予め定められた対応関係にしたがって、第1コードから、第2プログラム言語で記述されたコードである第2コードを生成するコード生成部と、第2コードにしたがって編集対象のデータを編集する編集処理部と、を備える。本発明の別の態様は、データ編集方法である。この方法は、編集対象のデータとして、データの属性を示す基底とデータの値とを対応付けて保持するステップと、データの編集内容を内包的記法により記述するための第1プログラム言語で記述されたコードであって、編集対象のデータに対する基底にもとづく編集内容が記述された第1コードを取得するステップと、データの編集内容を外延的記法により記述するための第2プログラム言語と第1プログラム言語との予め定められた対応関係にしたがって、第1コードから、第2プログラム言語で記述されたコードである第2コードを生成するステップと、第2コードにしたがって編集対象のデータを編集するステップと、をコンピュータが実行する。なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。本発明によれば、データオブジェクトに対するユーザの操作を支援することができる。前提技術本発明の実施の形態の構成を説明する前に、本実施の形態で示すデータ編集技術の前提となる交換代数について説明する。本発明者は、以下に示す2つのデータ構造により、企業等の組織における8~9割のデータを表現することができると考えた。1.多分類数値型以下、会計型データとも呼ぶ。データの値とデータの属性以下、基底とも呼ぶ。の組み合わせであり、データの値として数値が用いられ、データの属性として名称単位時間主体が用いられる。例えば、40<現金,円>30<ミカン,個>と表現される。2.多分類混合型以下、レコード型データとも呼ぶ。データの値と基底の組み合わせであり、データの値および基底には数値や数値以外の様々なリテラルが用いられる。例えば、55<年齢>山田太郎<名前>津軽<好きな果物>と表現される。以下では、主に会計型データについて詳細に説明する。会計型データは、何らかの分類された項目ごとに与えられた数値データをまとめて表現し、その上で演算を行うための代数系以下、交換代数とも呼ぶ。に属するものであり、交換代数データとも言える。会計型データにおける基底すなわち分類項目は、<名称,単位,時間,主体>と4つの項目からなる。データは、1以上の基底に対する値の組み合わせ、言い換えれば、1以上の基底に対する値の和で表現される。例1:x=200<リンゴ,円,,>400<さんま,円,,>例2:y=200<リンゴ,円,2006年第1四半期,>400<リンゴ,円,2006年第2四半期,>720<リンゴ,円,2006年第3四半期,>上記の例1では時間と主体が省略されており、例2では主体が省略されている。例2は時系列データが表現されたものとも言える。また基底の主体には企業名等の組織の識別情報が設定されてもよい。交換代数による表現のメリットとして、様々な基底分類を用いてデータを表現できること、またプログラムコードではなく人間に解釈容易な文字で基底を表現できることが挙げられる。さらにまた、後述するように振替という演算による統一的なデータ編集が可能になる。実施の形態の交換代数では、マイナスの数値の代わりに^ハットという記号を用いる。例えばx=20^<リンゴ,,,>はリンゴが20減ることを示す。言い換えれば、^はある項目に対して相殺すべき反対項目を意味する基底を示す。また相殺操作を表す作用素オペレータとして~バーを導入する。以下例を示す。x1=30<現金>20<リンゴ>50<負債>y1=^x1=30^<現金>20^<リンゴ>50^<負債>~y1x1=30^<現金>20^<リンゴ>50^<負債>30<現金>20<リンゴ>50<負債>=0次に、交換代数による振替え操作について説明する。簿記では振替という操作がある。これは一種の分類替え基底変換の操作と言える。ここでは、図1のaに示す八百屋の売上伝票を図1のbに示す売上伝票へ振替える例を示す。図1のaおよびbで示す取引は円表示で以下のように表現できる。x1=200<現金,円>100^<リンゴ,円>100<利益,円>x2=50<光熱費,円>50^<現金,円>x3=100^<利益,円>100<営業収益,円>x4=50^<営業収益,円>50^<光熱費,円>y=x1x2x3x4=200<現金,円>100^<リンゴ,円>100<利益,円>50<光熱費,円>50^<現金,円>100^<利益,円>100<営業収益,円>50^<営業収益,円>50^<光熱費,円>~y=150<現金,円>100^<リンゴ,円>50<営業収益,円>次に、振替え操作と見なすアグリゲーション合併と按分について説明する。1.アグリゲーション300円の津軽と200円の富士と100円の紅玉いずれもリンゴの1品種があったとする。これを、x=300<津軽,円>200<富士,円>100<紅玉,円>と表現する。この津軽富士紅玉をリンゴとまとめて分類する操作も一種の振替であり、アグリゲーションとよぶ。なお前提として{津軽,富士,紅玉}リンゴという対応関係のマップが与えられている必要がある。この例では上記の対応関係のマップにしたがって、Fx=300^<津軽,円>200^<富士,円>100^<紅玉,円>300<リンゴ,円>200<リンゴ,円>100<リンゴ,円>、という元を生成する。基底<リンゴ>の値は、集約対象の基底<津軽>、<富士>、<紅玉>のそれぞれに対する値である。言い換えれば、集約対象の基底<津軽>、<富士>、<紅玉>のそれぞれに対する値の集計値が、基底<リンゴ>の値として算出される。アグリゲーションを表す振替Gxは、Fxを用いて、~{xFx}で与えられる。すなわち、Gx=~{xFx}=300<津軽,円>200<富士,円>100<紅玉,円>300^<津軽,円>200^<富士,円>100^<紅玉,円>300<リンゴ,円>200<リンゴ,円>100<リンゴ,円>=600<リンゴ,円>、となる。2.按分按分とは、1つの分類項目をさらに細かく複数の分類項目へ分割することである。例えば、アグリゲーションに示した例では基底<リンゴ>に対応する値を、津軽富士紅玉へ分割することを意味する。なお前提として{リンゴ}{津軽,富士,紅玉}の按分比率が与えられている必要があり、ここでは1:1:1であることとする。この例では上記の按分比率にしたがって、x=600<リンゴ,円>に対して、Fx=600^<リンゴ,円>200<津軽,円>200<富士,円>200<紅玉,円>、という元を生成する。按分を表す振替えGxは、Fxを用いて、~{xFx}で与えられる。すなわち、Gx=~{xFx}=600<リンゴ,円>600^<リンゴ,円>200<津軽,円>200<富士,円>200<紅玉,円>=200<津軽,円>200<富士,円>200<紅玉,円>、となる。実施の形態以下、上記の交換代数の考え方を利用してデータ編集処理を実行する情報処理装置以下、データ編集装置と呼ぶ。について説明する。本実施の形態において、ユーザは、対象がその集合に属するための必要十分条件を与えることによって集合を記述する方法である内包的記法を用いて、データの編集内容を記述する。実施の形態のデータ編集装置は、内包的記法により記述された編集内容に基づいて、集合の要素をすべて列挙することで集合を記述する方法である外延的記法で記述されたプログラムコードを出力する。そして、編集対象のデータを、交換代数に対応する形式のデータオブジェクトとしてメモリに読み込み、上記のプログラムコードを実行することによりデータの編集処理を実行する。図2は、実施の形態のデータ編集装置10の機能構成を示すブロック図である。データ編集装置10は、データ保持部12と、コード対応関係テーブル14と、集約規則テーブル16と、按分規則テーブル18と、コード取得部20と、コード生成部22と、編集処理部24を備える。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、図2の各機能ブロックは、ソフトウェアとして記録媒体に格納されデータ編集装置10のハードディスクにインストールされ、データ編集装置10のメインメモリに適宜読み出されてCPUにて実行されてもよい。データ保持部12は、編集対象となる編集前のデータと編集後のデータとを保持する記憶領域である。データ保持部12は、編集前のデータと編集後のデータのそれぞれについて、データの値と基底とを対応づけたCSVCommaSeparatedValuesファイルを保持する。例えば、CSVファイルの一行が値,ハットの有無,名称,単位,時間,主体となり、空白行が元げんの区切りを示してもよい。なおデータ保持部12は、データ編集装置10とは異なる情報処理装置、例えばデータベースサーバ内に設けられてもよいことはもちろんである。この場合、LANWANインターネット等の通信網を介して当該データベースサーバとデータ編集装置10が接続された情報処理システムが構築されてもよい。コード対応関係テーブル14は、データの編集内容編集操作を内包的記法により記述するためのプログラム言語以下、内包的記法言語とも呼ぶ。と、データの編集内容を外延的記法により記述するためのプログラム言語以下、外延的記法言語との対応関係を保持する記憶領域である。実施の形態における外延的記法言語はJava登録商標言語であることとするが、C言語等、他のプログラム言語であってもよい。内包的記法言語と外延的記法言語との対応関係は、例えば、内包的記法言語における編集操作を示すキーワードと、外延的記法言語におけるその編集操作を実現するためのロジックを実装したコード関数とを対応づけたものである。より具体的には、内包的記法言語における複数のデータから特定のデータを抽出する条件の記述は、外延的記法言語における複数のデータを逐次列挙するための繰り返し命令の記述と対応づけられる。また例えば、内包的記法言語において入力データを指定するコードと、外延的記法言語においてその入力データをメモリ内に読み込むロジックを実装したコードとを対応づけたものである。なお、対応関係の具体例は図3~図6において後述する。集約規則テーブル16は、アグリゲーション操作時に参照されるべき複数種類の基底の集約関係を定めた集約規則を保持する記憶領域である。集約規則は、例えば上述の{津軽,富士,紅玉}リンゴという集約関係を定めたものである。複数種類の基底を集約する基底上記例ではリンゴを以下では集約基底と呼ぶこととする。按分規則テーブル18は、按分操作時に参照される複数種類の基底の按分比率を定めた按分規則を保持する記憶領域である。按分規則は、例えば上述の{リンゴ}{津軽,富士,紅玉}という按分関係と、1:1:1という按分比率を定めたものである。コード取得部20は、キーボード等の所定の入力装置を介してユーザにより入力されたプログラムコード以下、ユーザコードとも呼ぶ。を取得する。このユーザコードは、内包的記法言語で記述される。具体的なユーザコード例は後述する。コード生成部22は、コード対応関係テーブル14に保持された対応関係にしたがって、ユーザコードから、ユーザコードに記述されたデータ編集内容が外延的記法言語で記述されたプログラムコード以下、実行コードとも呼ぶ。を生成する。実施の形態における実行コードはJavaバイトコードであることとする。具体的には、ユーザコードに対応するJavaソースコードを生成し、そのソースコードをコンパイルすることによりJavaバイトコードを生成する。具体的な実行コード例は後述する。編集処理部24は、コード生成部22において生成された実行コードにしたがって、データ保持部12に保持された編集対象のデータを編集する。編集処理部24は、データ読込部26とデータ編集部28と編集結果出力部30を含む。なお、実行コードが所定の実行エンジンにおいて実行されることにより、編集処理部24データ読込部26~編集結果出力部30の機能が実現されてもよいことはもちろんである。例えば、実行コードがJavaバイトコードの場合、実行エンジンはJVMJavaVirtualMachineとなる。データ読込部26は、データ保持部12から編集対象のデータを読み込み、そのデータから、データの値と基底とが対応づけられたデータオブジェクトをメモリ上に生成する。データ編集部28は、データ読込部26において生成されたデータオブジェクトに対する操作を実行して編集結果のデータを設定する。編集結果出力部30は、データ読込部26において設定された編集結果のデータをCSVファイルとして記録し、データ保持部12へ格納する。図3は、会計型データを操作するためのユーザコードの一例を示す。以下のコード例では、左端に行番号を示しており、その行番号によりコードの位置を適宜示す。図3では、編集対象データとして、200<現金>100<小麦>という元と、200<現金>200<大豆>という元を含む集合Cが指定されている。ここでは説明の簡明化のため編集対象データを直接入力しているが、典型的には入力ファイルとしてのCSVファイルの名称や、そのCSVファイルにおける入力データの記述位置が指定されることにより入力データを示すデータオブジェクトが生成される。図3の4行目では、交換代数のプロジェクション処理、すなわち指定された基底と一致する部分要素を抽出する射影操作が指定されている。具体的には、集合Cから基底<現金>もしくは<小麦>に該当し、かつ、値が設定済という条件を充足する元を抽出して集合asetへ代入する処理が指定されている。そして5行目でaset内の元の加算処理が指定されている。asetは200<現金>、100<小麦>、200<現金>を含むため、加算結果alphaは400<現金>100<小麦>となる。ここでは説明の簡明化のため編集結果を標準出力へ出力することとしているが、典型的には出力ファイルとしてのCSVファイルが指定されて、当該CSVファイルに編集結果ここでは加算結果alphaの内容が記録される。図4aは、図3のユーザコードに対応する実行コードを示す。具体的には図3の2行目に応じてコード生成部22が生成する実行コードであり、データ読込部26の機能に対応する。なお、実施の形態の説明では実行コードとして便宜的にJavaソースプログラムを示す。同図では、集合Cに対応するExAlgeSetオブジェクトに、200<現金>100<小麦>という元に対応するExAlgeオブジェクト15~23行目と、200<現金>200<大豆>という元に対応するExAlgeオブジェクト24~32行目が格納されている。図4bは、図3のユーザコードに対応する実行コードを示す。具体的には図3の4行目に応じてコード生成部22が生成する実行コードであり、データ編集部28の機能に対応する。同図では、集合Cに含まれる複数の元に対応するExAlgeオブジェクトを列挙するforループと、集合Dに含まれる複数の基底に対応するExBaseオブジェクトを列挙するforループとの2重ループの中で、プロジェクションメソッドが呼び出され、プロジェクション処理の結果がリストへ追加される。そして、そのリストから集合asetが設定されている。図5は、レコード型データを操作するためのユーザコードの一例を示す。同図では、山田<name>5<score>、田中<name>3<score>、鈴木<name>4<score>、佐藤<name>2<score>、本田<name>5<score>の5つの元を含む集合datasetが指定されている。図5の9行目では、基底<score>に対応づけられた値が4以上の元が存在するたびに、元1<4以上,人,,>を集合asetへ代入する処理が指定されている。そして、11行目でaset内の元の加算処理が指定されている。この結果として、asetには元1<4以上,人,,>が3個含まれることになり、ret=3<4以上,人,,>となる。すなわちこの例は、scoreが4以上の人数を集計するものとなる。図6aは、図5のユーザコードに対応する実行コードを示す。具体的には図5の2~7行目に応じてコード生成部22が生成する実行コードであり、データ読込部26の機能に対応する。同図では、集合datasetに対応するDtAlgeSetオブジェクトに、上記5つのレコード型データの元のそれぞれに対応するDtalgeオブジェクトが格納される。レコード型データは値と基底の両方で様々なデータ型を許容するため、値と基底のそれぞれのデータ型を示す情報もDtalgeオブジェクトに設定される。図6bは、図5のユーザコードに対応する実行コードを示す。具体的には図5の9行目に応じてコード生成部22が生成する実行コードであり、データ編集部28の機能に対応する。同図では、集合datasetに含まれる複数の元に対応するDtAlgeSetオブジェクトを列挙するforループの中で、基底<score>に対応する値が4以上の場合に、元1<4以上,人,,>がリストへ追加される。そして、そのリストから集合asetが設定されている。なおユーザコードにアグリゲーション命令関数が設定された場合、コード生成部22は、集約規則テーブル16に保持された集約規則を参照して、まず簿記の記載に対応するオブジェクト以下、中間オブジェクトとも呼ぶ。を設定する実行コードを生成する。具体的には、集約対象の複数のデータの集計値を算出し、その集計値と集約基底とを対応づけたデータと、集約対象の複数のデータそれぞれの値を差し引くことを示すデータすなわち集約対象の複数のオリジナルデータにハット属性を付加したデータとを加算する元を示すオブジェクトを、中間オブジェクトとして設定する実行コードを生成する。この中間オブジェクトは、前提技術のアグリゲーションで示したFxに対応する。そしてコード生成部22は、集約対象の複数のオリジナルデータが加算される元を示すオブジェクトと中間オブジェクトとを加算する、言い換えれば、集約対象の複数のオリジナルデータとそれらのデータにハット属性を付加したデータとを相殺することにより、集約対象の複数のデータの集計値と集約基底とを対応づけたデータを、集計結果のオブジェクトへ格納する実行コードを生成する。この実行コードは、前提技術のアグリゲーションで示した~xFxに対応するコードである。なおコード生成部22は、中間オブジェクトの内容を所定のファイルへ出力する実行コードをさらに生成してもよい。この態様によると、中間オブジェクトの内容をユーザへ提示することにより、効率的なデバッグを支援するとともに、簿記の振替計算に利用可能な情報をユーザへ提供できる。またユーザコードに按分命令関数が設定された場合、コード生成部22は、按分規則テーブル18に保持された集約規則を参照して、アグリゲーション時と同様にまず中間オブジェクトを設定する実行コードを生成する。具体的には、按分対象のデータの値を按分比率にしたがって按分し、按分した値と按分先の各基底とを対応づけたデータと、按分対象のオリジナルデータにハット属性を付加したデータとを加算する元を示すオブジェクトを、中間オブジェクトとして設定する実行コードを生成する。この中間オブジェクトは、前提技術の按分で示したFxに対応する。そしてコード生成部22は、按分対象のオリジナルデータの元を示すオブジェクトと中間オブジェクトとを加算する、言い換えれば、按分対象のオリジナルデータとそのデータにハット属性を付加したデータとを相殺することにより、按分した値と按分先の各基底とを対応づけたデータを、按分結果のオブジェクトへ格納する実行コードを生成する。この実行コードは、前提技術の按分で示した~xFxに対応するコードである。なおコード生成部22は、アグリゲーションと同様に、中間オブジェクトの内容を所定のファイルへ出力する実行コードをさらに生成してもよい。以上の構成による動作を以下説明する。図7は、データ編集装置10の動作を示すフローチャートである。まずユーザは、内包的記法言語を用いてデータの編集内容を内包的記法により記述し、そのプログラムコードを指定したデータの編集指示をデータ編集装置10へ入力する。データ編集装置10が所定の入力装置を介してデータの編集指示を受け付けた場合S10のY、データ編集装置10のコード取得部20は、ユーザにより入力されたプログラムコードをユーザコードとして取得するS12。コード生成部22は、コード対応関係テーブル14に保持されたユーザコードと実行コード間の対応関係にしたがって、ユーザコードから実行コードの生成処理を開始するS14。ユーザコードにアグリゲーション命令や按分命令等の振替え命令が存在する場合S16のY、コード生成部22はその振替え命令に応じた相殺処理のための中間オブジェクトの出力命令を実行コードへ設定するS18。ユーザコードに振替え命令がなければS16のN、S18をスキップする。編集処理部24は、生成された実行コードにしたがって編集対象データに対する編集処理を実行するS20。例えば、データ読込部26は、データ保持部12の入力データ格納用のCSVファイルから、ユーザコードおよびユーザコードから生成された実行コードにおいて指定された編集対象のデータを読み込みデータオブジェクトを生成する。そしてデータ編集部28は、生成されたデータオブジェクトに対して実行コードにて指定された編集操作基底に基づく射影操作アグリゲーション操作按分操作等を実行し、編集結果を示すデータオブジェクトを生成する。編集結果出力部30は、編集処理部24による編集結果、例えばデータ編集部28により生成された編集結果を示すデータオブジェクトの内容属性値等を、データ保持部12の編集結果格納用のCSVファイルへ出力するS22。データ編集装置10がデータの編集指示を受け付けなければS10のN、S12以降はスキップされる。本実施の形態のデータ編集装置10によれば、従来RDBで扱われていたデータを、会計型データに対応するデータオブジェクト、もしくは、レコード型データに対応するデータオブジェクトとして表現することができる。これにより、コンピュータ上におけるデータオブジェクト表現の標準化を支援することができる。また、編集対象のデータの蓄積においてRDBのような複雑な仕組みを必要とせず、可視性の高いCSVファイルで蓄積することができる。またデータ編集装置10によれば、ユーザはデータの編集内容を内包的記法言語で記述できるため、データの編集内容を正しく理解しているユーザであれば、実際にコンピュータを動作させるための外延的記法言語について理解していなくても、正しいデータ編集を実現させることができる。またデータ編集装置10では編集対象のデータが値と基底との組み合わせとして保持されるため、ユーザは内包的記法を用いることで、規定に基づく編集内容を容易に記述することができる。また内包的記法はコンピュータに依存せず、データ編集の仕様を反映するものであるため、ユーザは正しい仕様記述を行えば、正しいデータ編集を実現させることができる。例えば、forループ等を意識せずに、ユーザはデータの編集内容を仕様通りに記載すればよい。したがって、ユーザコードへのバグの混入を低減させることができ、言い換えれば、バグの発生箇所をデータそのもののバグに限定させやすくなる。例えば、会計型データの操作においては、アグリゲーションや按分等、様々な振替処理をロバストに記述することができる。またデータ編集装置10によれば、データの基底に基づいて値の編集処理が行われることにより、データの形式スキーマに変更があった場合でも、その影響範囲を限定することができる。例えば、編集対象のデータを格納したテーブルにおいてカラムの入れ替えが発生しても、ユーザコードにおける編集ロジックへの影響を排除することができる。またデータ編集装置10によれば、アグリゲーションや按分等の振替処理の規則がプログラムコード外のテーブルに保持されるため、規則に変更が生じてもテーブルのデータを変更すればよく、プログラムコードへの影響を排除できる。以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。例えば、データ編集装置10は振替規則テーブルをさらに備えてもよい。振替規則テーブルは、振替操作ここではアグリゲーションや按分を伴わない基底の変換操作であることとするにおいて参照されるべき振替規則を保持する記憶領域である。振替規則は、振替元の基底と振替先の基底とを対応づけたデータである。コード生成部22は、ユーザコードに振替命令が設定された場合、振替規則テーブルに保持された振替規則を参照して、中間オブジェクトFxを設定する実行コードを生成する。例えば、x=数値A<振替元の基底>の場合、Fx=数値A^<振替元の基底>数値A<振替先の基底>となる。そしてコード生成部22は、~xFxに対応した実行コードを生成する。当該コードの実行結果として、上記の例では、数値A<振替元の基底>が、数値A<振替先の基底>に変換されることになる。上述した実施の形態、変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態、変形例それぞれの効果をあわせもつ。請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。"