▼以下メニューをクリックしてください。

クロス集計とは、データベースの縦に並んでいるデータを横に並べて表示させることを言います。
※クロス集計では集計用のデータベース・テーブルが必要です
 テーブルはAccessなどのクエリやSQL文で作成したものも使用できます
※ここではAccessのクエリから集計表を作成しています

■ クロス集計の完成図
クリックで拡大

1. 集計用のテーブルをAccessのクエリで作成します
 ※テーブルは『お取引先名ごと』・『金額計算あり』を作成します

 ■お取引先名ごとのテーブル
 1-1. フォルダ「TRY1」を開きます
 1-2. Access「Uriage2DB.mdb」を開きます
 1-3.「作成」タブ → 「クエリのデザイン」 ボタン をクリック
 1-4.「テーブルの表示」の「テーブル」タブから「Uriage2」を選択し「追加」をクリックします
  Uriage2が追加されます。 「閉じる」をクリックします
 
クリックで拡大

 1-4. 追加されたテーブル「Uriage2」から「お取引先名」をダブルクリックします
 1-5.「クエリデザイン」タブの「集計」をクリックします
クリックで拡大

 1-6. クエリ画面の右上「×」で画面を閉じます。 メッセージは「はい」をクリックします 
クリックで拡大

 1-7. 作成したテーブルに名前「Q_UriageCustomer」と入力し「OK」をクリックします 
クリックで拡大

 1-8. 「お取引先名ごと」のテーブルが作成されます 
クリックで拡大

 ■金額計算ありのテーブル
 1-9.「作成」タブ → 「クエリのデザイン」 ボタン をクリック
 1-10.「テーブルの表示」の「テーブル」タブから「Uriage2」を選択し「追加」をクリックします
  Uriage2が追加されます。 「閉じる」をクリックします
 

 1-11.追加されたテーブル「Uriage2」から「お取引先名、商品、売上日、単価」を選択ます
 1-12.「クエリデザイン」タブの「集計」をクリックします
 1-13. 売上日は集計用に年と月に分けます
    『年:Format([売上日],"yyyy")』『月:Format([売上日],"m")』とします
 1-14. 金額は計算し合計します。
    『金額:[数量]*[単価]』とし、集計:グループのプルダウン(▼)から「演算」を選択します
クリックで拡大

 1-15. 名前を「Q_UriageMeisai」とします
クリックで拡大

ステップ1:テーブルが作成できました。続いてステップにで集計表を作成します


1. 集計画面をデザインします
 1-1. プロジェクト「Uriage2.pls」を起動します
 1-2. 「Uriage2.xlsb」にシートを追加します。シート名を「UriageCros」とします
 1-3. 画像を参考に集計画面をデザインします
クリックで拡大
 ※1月~12月の各セル合計と年合計の各セルに計算式を入力します

    集計に使用するためエクセルデザインの月見出しは、実データと同じ内容とします
    ここでは、1月→'1、2月→'2...とし、表示形式で1月、2月と表示するようにします。
クリックで拡大


2. ブラウザで表示するための設定をします ※応用操作1のメニュー作成を参照しましょう
 2-1. 作成した集計画面の上で右クリックします
 2-2.「XCuteナビゲーション」→「ひな型ナビ」→「OK」→「OK」の順にクリックします
 2-3.「XCuteナビゲーション」→「ひな型ナビ」→「OK」→「OK」→「OK」の順にクリックします


3. 商品の売上データがない時は画面表示しない設定をします
 3-1. セル「R22C1」で右クリックします
 3-2.「XCuteナビゲーション」→「$$HID」の順にクリック
クリックで拡大
 3-3.「OK」をクリック
クリックで拡大
 
3-4. 追加された式を変更後に修正し、セルR31C1行目まで式をコピーします
クリックで拡大


4. 集計用レポートとテーブルを作成します
 ※今回は1つのレポートに2つのテーブルを使用します。※操作は応用1を参照
 4-1. plsパネルの上で右クリックし、「レポート新規登録」をクリックし、レポート名「UriageCros」とします
 4-2.作成したレポート「UriageCros」の上で右クリックし、「テーブル追加」をクリックします
 4-3.Access.mdbから作成したテーブルを選択します
   1つ目のテーブル「Q_UriageCustomer」を追加します
   1つ目のテーブルが追加されたら、再度4-2の操作から2つ目のテーブル「Q_UriageMeisai」を追加します
クリックで拡大


5.追加したテーブルとエクセルのデザイン画面をマッピングします
■テーブル:Q_UriageCustomerの設定
  5-1. テーブル「Q_UriageCustomer」を右クリックし、「ひな型の設定」をクリックします
  5-2. 「ひな型シート」「書出し行の選択方法」「テーブル1レコードの読書範囲」を赤枠のようにします
クリックで拡大
  
5-3. エクセルシート:UriageCrosのセル:R22C4をクリックし、
   plsパネルのテーブル:Q_UriageCustomerのセル位置:R22C4,ソート:昇順にします

クリックで拡大

■テーブル:Q_UriageMeisaiの設定
  5-4. テーブル「Q_UriageMeisai」を右クリックし、「ひな型の設定」をクリックします
  5-5. 「ひな型シート」「書出し行の選択方法」「テーブル1レコードの読書範囲」「行コピーせず」を赤枠のようにします
クリックで拡大

 5-5. エクセルシート:UriageCrosのセル:R22C2:R22C17を選択し、
   plsパネルのテーブル:Q_UriageMeisaiのセル位置にマッピングします。ソートは「年、お取引先名、商品、月」の順に昇順設定します

   「月」のリンクを「Cross」、「金額」のリンクを「C_Val」とします
クリックで拡大


6.検索画面に集計画面を表示するリンクを設定します
 6-1. シート「UriageKensaku」のセルR10C10を右クリックします
 6-2.「XCuteナビゲーション」→「リンクタグ」をクリックします
 6-3. リンクタグの設定を変更後に修正します
 変更前:="<A HREF='procgi.exe?P="&R1C5&"&WriteSheet=menu'>"&RC10&"</A>"
 変更後:="<A HREF='procgi.exe?P="&R1C5&"&WriteReport=UriageCros'>"&RC10&"</A>"
 6-4. セルR10C10の「メニュー」を『集計表』に変更します
クリックで拡大


7.集計画面に検索画面に戻るリンク設定します
 7-1. シート「UriageCros」のセルR18C11を右クリックします
 7-2.「XCuteナビゲーション」→「リンクタグ」をクリックします
 7-3. リンクタグの設定を変更後に修正します
 変更前:="<A HREF='procgi.exe?P="&R1C5&"&WriteSheet=menu'>"&RC10&"</A>"
 変更後:="<A HREF='procgi.exe?P="&R1C5&"&WriteReport=Uriage2Kensaku'>"&RC10&"</A>"
 セルR18C11の「メニュー」を『前画面へ』に変更します
クリックで拡大


8.「年」ごとに集計できるようにします
1~7までの操作で集計表は完成です。しかしこのままでは「年」関係なく月ごとに金額が集計されてしまいます。 ここから「年」を指定することで「年」ごとに集計できるようにします。

 8-1. 「年」を入力する箇所を作成します。 シート「UriageCros」のセルR18C5を右クリックします
 8-2. 「XCuteナビゲーション」をクリックします
 8-3. 「入力エリア(文字)」をクリック →「OK」をクリックします
クリックで拡大

 8-4. 入力規則設定画面が表示されます。データ:次の値に等しい、長さ:4 にします
クリックで拡大

 8-5. 「年」が入力された時の設定をします。 セルR2C8を右クリックします
 8-6. 「XCuteナビゲーション」をクリックします
 8-7. 「FILTERfieldname=」をクリック →「OK」をクリックします
クリックで拡大

クリックで拡大

 8-8. セルR2C8を修正します
クリックで拡大

※セル:R18C5 は実際に年を入力するセル位置です
 セル:R2C8 の 「FILTER=」はデータベースQ_UriageMeisaiのフィールド年でR18C5に入力された年でフィルタ設定しています

 8-9. ボタンの設定をします。 セルR18C6を右クリックします
 8-10. 「XCuteナビゲーション」をクリックします
 8-11. 「送信ボタン(WriteReport)」をクリック →「OK」をクリックします
 8-12. ボタンが作成されました。動作確認してみましょう