はじめに
DataMagic は、色々なレイアウトに対応しています。
今回はその中のフォーマット形式について、色々な組み方ができることをご紹介。
今回の課題
以下の図は、某学校の学生の3年間分の中間・期末試験の結果を格納するデータテーブルをイメージしています。
このデータテーブルのデータを、DataMagic で扱うためには、フォーマット定義が必要ですが、色々な組み方が出来ます。
202410019100099098097096095094093092091090089088087086085084083082081080079078077076075074073072071070069068067066065064063062061060059058057056055054053052051050049048047046045044043042041040039038037036035034033032031030029028027026
1.全項目をフラット(同じレベル)に登録
フォーマット定義
下図のように、すべての項目を同レベルに定義するので「この項目は何」が一目で分かる登録です。
すべての項目が同レベルなので、登録済のフォーマットの編集は比較的楽にできますが、登録する項目数が多くなる場合は、登録するのが大変です。
今回の成績データのように、類似設定の項目がたくさんある場合は、エクスポート&インポートで登録するのがお勧めです。
ちなみに私は、
1.3項目目(「入学年度」「学生番号」「1学年-1学期-中間-国語」)までを登録してエクスポート。
2.エクスポートしたファイルを開いて、3項目目の行をコピーし、4行ペースト
3.4行目から7行目までの科目を変更
4.3行目から7行目までをコピーし、8行目にペースト
3.8行目から12行目までの試験を「中間」から「期末」に変更
・・・
と、順に項目を増やして、エクスポート用のファイルを編集しました。
で、プレビュー画面はこちら ![]()
項目名の表示を優先して画面表示したので、表示する項目件数はちょっと少な目です。
マッピング設定
画面表示はこんな感じ。
イメージが付きやすいように、入出力側で同じフォーマットIDを設定して、関係線をひいてみました。
2.学年を繰り返し、試験のレベルを下げる登録
フォーマット定義
下図のように、学年を3回繰り返し、1レベル下げて試験(学期ー試験ー科目)を定義します。
で、プレビュー画面はこちら ![]()
繰り返しの設定をした「学年」が、項目名の最後に括弧つき数字で表示されています。
マッピング設定
画面表示はこんな感じ。
イメージが付きやすいように、入出力側で同じフォーマットIDを設定して、関係線をひいてみました。
子ノード間でしか、関係線は引けないようです。
3.兎に角、繰り返しとレベルを駆使して登録
フォーマット定義
下図のように、学年を3回、1レベル下げて試験を5回、1レベル下げて科目を5回繰り返し定義することもできます。
ただこうなると、コメントを入れるか別にフォーマット定義書を用意ておかないと、後日メンテする時など、困ることになるかも。
で、プレビュー画面はこちら ![]()
項目名だけでは、〝いつ〟の〝どの科目〟の点数なのか、分かりにくいですね。
マッピング設定
画面表示はこんな感じ。
イメージが付きやすいように、入出力側で同じフォーマットIDを設定して、関係線をひいてみました。
子ノード間でしか、関係線は引けないようです。
補足
レベルを組合わせた場合、親ノードを削除すると、当たり前ですが子ノードも削除されます。
また、レベルの上げ下げをすると、注意しないと思わぬところに項目が飛んでいく場合があります。
フォーマット定義に限らず、設定変更をする場合は、必ずバックアップを取ってから行うことを強くお勧めします。
以上です。










