# Panel Server側の設定

トレーニング > 応用編 > サマリ機能 > # Panel Server側の設定 |

ここでは、Panel Server側のサマリアクションの設定における、一般的な設定手順について学習します。また、本チュートリアルではPLCデバイスの代わりに仮想デバイスを使用します。

プロジェクトを作成する

1.プロジェクトの保存先となるフォルダを作成します。

2.Panel Editorを起動し、「新規プロジェクト作成」をクリックします。右エリアに新規プロジェクトのベースとなるフレームワークが表示されるので、「新規フレームワーク」を選択し、「作成」ボタンをクリックします。確認画面が表示されるので、「はい」を選択します。

3.プロジェクトの保存場所として「1」で作成したフォルダを選択し、プロジェクトファイル名を入力します。その後、「開く」をクリックします。

4.ブランクのフレームプロジェクトとして、クライアント設定ファイル（client.xml）とサーバ設定ファイル（server.xml）が登録されたプロジェクトが表示されます。また、プロジェクトとしての推奨フォルダがプロジェクトの保存場所に作成されます。作成フォルダの用途は以下の通りです。

| 作成フォルダの用途
フォルダ | 用途
build | Panel Editorのセットアップ機能により、クライアント画面実行時の全ファイルを本フォルダに吐き出す為のフォルダです。
client | クライアント設定ファイル及びクライアント画面実行に必要な画像、サウンド及び設定ファイルを本フォルダに含めます。
server | サーバ設定ファイル及びサーバでの必要な設定ファイル等を本フォルダに含めます。
server_data | サーバ実行時に出力されるデータを格納するフォルダです。実行時にはじめて作成されます。また、保存データをクリアする場合は、本フォルダを削除します。

5.クライアント設定ファイル（client.xml）には、初期状態でFolder01とその中にForm01が入っています。

6.ルートプロパティの「PSLoginStartup」を「AUTO」にします。

7.ここで一旦、設定を保存します。

トレーニング用のタグを作成する

本トレーニングで使用する為にPanel Serverに仮想デバイスを設定し、タグを登録します。

1.Panel Serverを起動します。Panel Editorの下図のアイコンをクリックすると、Panel Serverが起動し本プロジェクトのサーバ設定ファイルを開きます。

2.Panel Serverにタグを登録します。以下のような仮想デバイスとタグを追加してください（作業手順は「画面開発の基本」の「プロジェクトの新規作成-トレーニング用のタグを作成する」を参考にして下さい）。
ユニット名： “U01”　・・・仮想デバイス
フォルダ名： “F01”
登録するタグ：

タグ | デバイス種別 | 備考
“T000”から”T049”までの連番 | SD （特殊レジスタ） | SDは自動的に値が変化します。
“T050”から”T099”までの連番 | SM（特殊リレー） | SMは自動的にON/OFFが変化します。

これらのタグをサマリアクションでログイング・集計します。

3.サマリアクション設定用フォルダを用意します。
サマリアクション用の集計・ロギングを格納するフォルダのことを「サマリフォルダ」と呼びます。「サマリフォルダ」は実行時に自動的に作成されますが、サマリアクションの設定用フォルダは手動で用意する必要があります。その為、「サマリアクション設定用フォルダ」を以下に作成します。
「サマリアクション設定用フォルダ」
プロジェクトの格納フォルダ\server\summary

4.Panel Serverの設定内容を保存します。下図の保存ボタンをクリックします。

サマリマスタの設定

サマリマスタの設定は以下の要領で行います。尚、今回のトレーニングで使用するマスタファイルは以下からご利用頂けます。ダウンロード後、前項で作成した「サマリアクション設定用フォルダ」にコピーして下さい。

サマリ設定ファイル一式

ダウンロードしたサマリマスタの中身を確認しながら、説明します。

1.サマリマスタを開きます。
サマリマスタはテキストファイルとして作成します。編集するにはメモ帳などの一般的なテキストエディタで開きます。ここではあらかじめ用意されているサマリマスタを開き、内容を確認していきます。テキストエディタで、以下のファイルを開いてください。
プロジェクトの格納フォルダ\server\summary\master.txt
サマリマスタは、「共通情報定義」「ルートログ定義」「集計ログ定義」で構成されています。各定義内容について解説します。

2.共通情報定義について。
共通情報定義では、主に以下の２項目について定義します。

[COMMON] DaysOfHoldingData=3660 ReportHeaders=4

［COMMON］のセクションが共通情報定義です。この行は削除しないでください。
「DaysOfHoldingData」には、ルートログ（ロギングの生データ）のデータ保存日数を指定します。上記の場合、3660日分保存されます。それよりも古いログは自動的に削除されます。例えば、5年間保存したい場合には、1825と指定します（※うるう年を加味する場合は日数調整してください）。
「ReportHeaders」には、帳票画面のヘッダ行数を定義します。特に変更の必要が無い場合は、このままにしておきます（1から5の範囲で指定可能です）。尚、ヘッダ行数を変更する場合は、レポートレイアウトファイルのレイアウトもあわせて修正する必要があります。

3.ルートログ定義について。
ルートログ定義では、主に以下の項目について定義します。

[RAW] TagFieldMaster=..\..\server\summary\fieldmaster_tag.csv TagFieldIndex=DB\index_tag.txt CalculationFieldMaster=..\..\server\summary\fieldmaster_calculation.csv CalculationFieldIndex=DB\index_calculation.txt TimeRangeType=TYPE2 CsvFileName=DB\RAW\SMR_RAW_.csv CsvFileMaxFields=1000 CsvFileFlushCount=1

ルートログの定義は［RAW］のセクションに行います。RAWの行は削除しないでください。尚、RAWとはロギングの生データの意味です。後ほど定義する集計処理の元データとなるログです。
「TagFieldMaster」には、タグフィールドマスタのファイル名を「サマリフォルダ」からの相対パスもしくは絶対パスで指定します。タグフィールドマスタにはサマリアクションがロギングに含めるフィールドを定義します。この設定は後ほど解説します。「TagFieldIndex」には、タグフィールドのインデックスファイル名を指定します。このファイルはサマリアクションがロギングや集計の際の列情報を保持・取得するために利用される内部ファイルです。特にユーザーが変更する必要はありません。
「CalculationFieldMaster」には、計算フィールドマスタのファイル名を指定します。計算フィールドマスタにはサマリアクションの集計処置の際にフィールド同士での演算を行わせる場合の列定義と演算式を定義します。この設定は後ほど解説します。尚、計算フィールドを使用しない場合は、この行そのものを削除します。CalculationFieldIndexには、計算フィールドのインデックスファイル名を指定します。このファイルはサマリアクションがフィールド演算を行う際の列情報を保持・取得するために利用される内部ファイルです。特にユーザーが変更する必要はありません。尚、計算フィールドを使用しない場合は、この行そのものを削除します。

| ここでの「TagFieldMaster」/「TagFieldIndex」/「CalculationFieldMaster」/「CalculationFieldIndex」の設定では、以下のフォルダを「サマリフォルダ」（集計・ロギングの格納フォルダ）として想定しています。 プロジェクトの格納フォルダ\server_data\summary\ 以降出てくるファイルのパスを設定する項目についても同様です。

「TimeRangeType」には、「TYPE1」か「TYPE2」を指定します。各タイプの意味は以下のとおりです。
・TYPE1 - 今回正時（今回正時を含む）から次正時（次正時を除く）まで
・TYPE2 - 今回正時（今回正時を除く）から次正時（次正時を含む）まで
「CsvFileName」には、ロギング出力先のファイル名を指定します。
DB\RAW\SMR_RAW_.csvとした場合、サマリフォルダ配下に「DB\RAW」フォルダが自動生成され、その配下にSMR_RAW_n_yyyymmdd.csvというファイルが生成されます。このファイルが、ロギング生データとなります。
「CsvFileMaxFields」には、１つのログファイルの最大データ列数を指定します。このサンプルでは1000が指定されていますが、もしも、タグフィールドマスタに設定されているデータの列数がこの設定値を超えた場合には、生成されるログファイルは指定した列数で複数のファイルに自動的に分割されて生成される仕組みになっています。
「CsvFileFlushCount」には、ログキャッシュの件数を指定します。１を指定した場合、１件毎に都度ログファイルに書き出します。ここに数値を指定すると、指定した数値分の件数だけキャッシュに保持してからまとめてログに書き出します。大量のデータ件数を処理する場合などにこの数値を調整することで、ディスク書き込み負荷を軽減させることができます。

| 上記の他にもいくつかの設定項目が用意されています。詳細は、アクションの機能解説「サマリ」に記載されています。

4.集計ログ定義について。
集計ログ定義には、集計単位毎にセクションを定義して設定値を記述することができます。今回のケースでは、日報集計、月報集計、年報集計の定義を行います。
■ 日報集計「DAY」

[RAW::DAY] CsvFileName=DB\DAY\SMR_DAY_.csv CsvFileUnit=DAY DecimalNum=[DecimalNum1] TimeRangeType=TYPE2 SummaryType=[SummaryType1] SummaryParam=[SummaryParam1] SummaryUnit=1HOUR CalculationType=[Expression] ReportLayoutMaster=..\..\server\summary\layoutmaster.xls ReportLayoutMasterSheet=DAY ReportOutputSheetName=日報_ ReportPrinter=(default) ReportExcel=F ReportTitleHeader=日報_ ReportTitleFooter= ReportExcelCellFormatType=formatednum2 ReportOffset=0 ReportTitleDateFormat=%#H時

以下に、主な設定値について解説します。
先頭のセクション名には、[RAW::DAY]と記述されています。この場合は、サマリ名「DAY」の集計は、RAWデータをもとに行うという意味になります。

| 上記のセクション名に、[RAW::DAY]と記述されていますが、これには重要な意味があり、例えば「AAA::BBB」とすると、サマリ名BBBの集計をAAAのデータをもとに行う、という意味となります。上記の場合、DAY（日報）の集計はRAWデータをもとに行われます。尚、後述で解説する月報、年報の集計は、「DAY::MONTH」「MONTH::YEAR」と定義しています。これを、RAW::MONTHとしても集計処理は行われますが、一カ月分の膨大なRAWデータを全件集計して月報を求めることとなり、処理時間がかかり非効率です。このような場合は、RAW→DAY、DAY→MONTH、MONTH→YEAR、となるように集計ログのセクションを定義するようにします。

「CsvFileName」には、このセクションで集計する集計ファイルの出力先フォルタおよびファイル名を指定します。「DB\DAY\SMR_DAY_.csv」とすると、サマリフォルダ配下に「DB\DAY」フォルダが自動生成され、その配下にSMR_DAY_n_yyyymmdd.csvというファイルが生成されます。このファイルが、日報集計データとなります（※ファイルの生成単位は、下記「CsvFileUnit」の定義に従う）。
「CsvFileUnit」には、このセクションが出力する集計ファイルの保存単位（１ファイルを構成する時間単位）を設定します。ここではDAYと指定しているため、１日１ファイルずつ生成されます。
「DecimalNum」では、小数点桁数を指定します。「2」などのように数値を指定すると、全ての列の集計結果が小数点2桁の数値にフォーマットされます。[DecimalNum1]などのように括弧でキーワードを指定すると、フィールドマスタ内の定義に従うこと、という意味になります。「DecimalNum1」の場合、フィールドマスタのDecimalNum1列で定義した数値でフォーマットされます。
「TimeRangeType」には、RAWと同様に、「TYPE1」か「TYPE2」を指定します。
・TYPE1 - 今回正時（今回正時を含む）から次正時（次正時を除く）まで
・TYPE2 - 今回正時（今回正時を除く）から次正時（次正時を含む）まで
「SummaryType」には、集計方法のオプションを指定します。[SummaryType1]のように括弧で指定すると、フィールドマスタ内の定義に従います。大半の場合、サマリマスタ側の本設定は変更する必要はありません。サマリタイプの各詳細は、フィールドマスタの定義の節で別途解説します。
「SummaryParam」も同上です。詳細はフィールドマスタの定義の節で別途解説します。
「SummaryUnit」には、このセクションで集計する集計ファイルの集計単位を設定します。ここで指定した単位で集計が行われます。ここでは、「1HOUR」と指定しているため、１時間単位での集計（つまり、日報集計の１行：１時間単位）が行われます。尚、このパラメータには、「DAY」「MONTH」「YEAR」「MIN」「HOUR」など、日、月、年以外にも柔軟な単位を指定することができます。

| 日、月、年以外の集計を行う場合の設定方法についてはの詳細は、「集計ログセクション」を参照してください。

「CalculationType」には、計算フィールドの集計方法を指定します。[Expression]のように括弧で指定すると、フィールドマスタ内の定義に従います。大半の場合、サマリマスタ側の本設定は変更する必要はありません。詳細は計算フィールドマスタの定義の節で別途解説します。
「ReportLayoutMaster」には、レイアウトマスタのExcelファイル名を指定します。ここでは「layoutmaster.xls」をサマリフォルダからの相対パスで指定しています。
「ReportLayoutMasterSheet」には、この集計単位のレポートを帳票出力する際に参照するシート名の識別名を指定します。ここでは「DAY」と指定することにより、日報用シートが選択されます。

| ReportLayoutMasterSheetに指定するシート名の指定方法に関してはいくつかのルールがあります。例えば、ページを複数ページで体裁を分ける場合など（表示だけ承認欄を用意する等）、各設定方法の詳細は「レイアウトマスタ」を参照してください。

■月報集計「MONTH」

[DAY::MONTH] CsvFileName=DB\MONTH\SMR_MONTH_.csv CsvFileUnit=MONTH DecimalNum=[DecimalNum1] SummaryType=[SummaryType2] SummaryParam=[SummaryParam2] SummaryUnit=1DAY SummaryOffset=0 CalculationType=[SummaryType1] ReportLayoutMaster=..\..\server\summary\layoutmaster.xls ReportLayoutMasterSheet=MONTH ReportOutputSheetName=月報_ ReportPrinter=(default) ReportExcel=F ReportTitleHeader=月報_ ReportTitleFooter= ReportOffset=0 ReportTitleDateFormat=%#m月%d日(%[AJ])

以下に、主な設定値について解説します（※日報集計で既に解説済みのものは割愛します）。
先頭のセクション名には、[DAY::MONTH]と記述されています。この場合は、MONTH（月報）の集計は日報データ（サマリ名「DAY」）をもとに行うという意味になります。
「CsvFileName」には、このセクションで集計する集計ファイルの出力先フォルダおよびファイル名を指定します。「DB\MONTH\SMR_MONTH_.csv」とすると、サマリフォルダ配下に「DB\MONTH」フォルダが自動生成され、その配下にSMR_MONTH_n_yyyymm.csvというファイルが生成されます。このファイルが、月報集計データとなります（※ファイルの生成単位は、下記「CsvFileUnit」の定義に従う）。
「CsvFileUnit」には、このセクションで集計する集計ファイルのファイルの単位を設定します。ここではMONTHと指定しているため、１ヶ月１ファイルで生成されます。
「SummaryUnit」に「1DAY」と指定しているため、１日間単位での集計（つまり、月報集計の１行：1日単位）が行われます。
「ReportLayoutMasterSheet」には、この集計単位のレポートを帳票出力する際に参照するシート名の識別名を指定します。ここでは「MONTH」と指定することにより、月報用シートが選択されます。
■年報集計「YEAR」

[MONTH::YEAR] CsvFileName=DB\YEAR\SMR_YEAR_.csv CsvFileUnit=YEAR DecimalNum=[DecimalNum1] SummaryType=[SummaryType2] SummaryParam=[SummaryParam2] SummaryUnit=1MONTH SummaryOffset=0 SummaryPreviousOffset=F CalculationType=[SummaryType1] ReportLayoutMaster=..\..\server\summary\layoutmaster.xls ReportLayoutMasterSheet=YEAR ReportOutputSheetName=年報_ ReportPrinter=(default) ReportExcel=F ReportTitleHeader=年報_ ReportTitleFooter= ReportOffset=0 ReportTitleDateFormat=%#m月

以下に、主な設定値について解説します（※日報集計で既に解説済みのものは割愛します）。
先頭のセクション名には、[MONTH::YEAR]と記述されています。この場合は、YEAR（年報）の集計は月報データ（サマリ名「MONTH」）をもとに行うという意味になります。
「CsvFileName」には、このセクションで集計する集計ファイルの出力先フォルダおよびファイル名を指定します。「DB\YEAR\SMR_YEAR_.csv」とすると、サマリフォルダ配下に「DB\YEAR」フォルダが自動生成され、その配下にSMR_YEAR_n_yyyy.csvというファイルが生成されます。このファイルが、月報集計データとなります（※ファイルの生成単位は、下記「CsvFileUnit」の定義に従う）。
「CsvFileUnit」には、このセクションで集計する集計ファイルのファイルの単位を設定します。ここではYEARと指定しているため、１年１ファイルで生成されます。
「SummaryUnit」に「1MONTH」と指定しているため、１ヶ月間単位での集計（つまり、年報集計の１行：1ヶ月単位）が行われます。
「ReportLayoutMasterSheet」には、この集計単位のレポートを帳票出力する際に参照するシート名の識別名を指定します。ここでは「YEAR」と指定することにより、年報用シートが選択されます。

| 本サンプルではサマリアクションの理解を深めることを目的としているため、複雑な集計方法に関する解説は割愛しています。例えば、帳票の締め時間を変更する場合（0時ではなく、毎朝８時を帳票の集計開始時刻にする等）には、サマリマスタの定義を注意深く行う必要があります。これらの詳細は「サマリマスタ」に解説されていますので、そちらを参照してください。

タグフィールドマスタの設定

タグフィールドマスタの設定は以下の要領で行います。

1.タグフィールドマスタを開く
タグフィールドマスタはCSVファイルとして作成します。編集するにはメモ帳などのテキストエディタでも問題ありませんが、Excelで編集すると便利です。ここではあらかじめ用意されているタグフィールドマスタを開き、内容を確認していきます。

| Excelで編集する際は、必ずCSV（カンマ区切り）形式で保存して下さい。カンマ以外の区切りには対応していません。

Excelで、以下のファイルを開いてください。
プロジェクトの格納フォルダ\server\summary\fieldmaster_tag.csv
以下は、Excelで開いた例です。
各列に、サマリアクションでロギング・集計を行う対象とするタグ名、集計パラメータを入力していきます。このマスターファイルに定義した１行あたりが、１列のサマリフィールドになります。各列の意味は下記を参照してください。

2.タグフィールドマスタの編集
[Name]にはフィールド名を定義します。この列の定義名が、ヒストリカルデータサーバやトレンドなどから参照される際のフィールド名となります。
[Tag]には、サマリアクションがロギング対象とする実際のタグのタグパスを定義します。
[Comment]には、任意の文字列を指定することができます。サマリ帳票の設定画面などから一覧選択する際などに表示されるコメント列には、このコメントが表示されます。
[DataType]には、ロギングするデータの種別を指定します。通常は「standard」を指定します。

| DataTypeに指定可能な特別なタイプとしては、力率データをロギング集計したい場合と、運転時間をロギング集計したい場合のためのオプションが用意されています。その場合、「powerfactor05」や「timesec」などの文字列を指定する）。DataTypeの詳細は、「タグフィールドマスタ」の記述を参照してください。

[TermOfValidity]は、本トレーニングでは使用しません。ここでは空欄としておいてください。
[DecimalNum1]には、小数点桁数を数値で指定します。
[SummaryType1]には、集計処理の際に採用する集計種別を指定します。AVERAGEと指定すると期間内の全データの平均値を集計します。例えば日報集計でAVERAGEとした場合、RAWの１時間分のデータの平均を、日報データに求めます。

| 集計種別には、「AVERAGE」のほか、「TOTAL」（合計）、「MAX」（最大）、「MIN」（最小）、「ADDINGCOUNT」（積算カウンタ集計）等、多数のオプションが用意されています。どのような集計が用意されているのかを知りたい場合は、「タグフィールドマスタ」の記述を参照してください。

[SummaryParam1]には、SummaryType1で指定した集計種別に対するパラメータを指定します。どのようなパラメータが必要となるかは、集計種別により異なります。代表的なものとしては、SummaryTypeにADDINGCOUNT（積算カウンタ集計）を指定した際のカウンタ境界値をSummaryParamに設定します。たとえば0～9999のカウンタ値を積算カウントする場合、SummaryParamには10000を指定します。パラメータの指定が不要な集計種別の場合、空欄としておきます（AVERAGEやMAXで集計する際には、空欄でOKです）。
[SummaryType2]、[SummaryParam2]では、SummaryType1、SummaryParam1と同様に集計種別、パラメータを指定します。1と2が別々に用意されている理由としては、RAW→日報、日報→月報、月報→年報へのそれぞれの集計処理によっては、同じ列であっても集計種別が異なる場合がありえるためです。たとえば積算カウンタ集計の場合、RAW→日報への集計の際には「ADDINGCOUNT」を使って１時間内の増分値を求めますが、日報→月報→年報への集計時には「TOTAL」を使用して増分の合計値を求めることになります。この差を指定可能とするために、複数のType番号を指定することができるようになっています。
[ReportHeader1]～[ReportHeader4]には、帳票レイアウトのヘッダ部に表示する1～4の見出しのデフォルト値を指定します。ここで指定したヘッダ文字列は、サマリ画面の帳票設定ダイアログでフィールドを選択した際に自動的にヘッダ1～4のグリッドに割りつけられます（設定画面側から選択時に手動で修正することも可能です）。
各フィールドの編集が完了したら、ExcelからCSVファイルとして保存します。

計算フィールドマスタの設定

計算フィールドマスタの設定は以下の要領で行います。

1.計算フィールドマスタを開く
計算フィールドマスタは、タグフィールドマスタと同様、CSVファイルとして作成します。編集するにはメモ帳などのテキストエディタでも問題ありませんが、Excelで編集すると便利です。ここではあらかじめ用意されている計算フィールドマスタを開き、内容を確認していきます。

| Excelで編集する際は、必ずCSV（カンマ区切り）形式で保存して下さい。カンマ以外の区切りには対応していません。

Excelで、以下のファイルを開いてください。
プロジェクトの格納フォルダ\server\summary\fieldmaster_calculation.csv
以下は、Excelで開いた例です。
各列に、サマリアクションでフィールド間の演算設定を入力していきいます。１行あたり、１列のサマリデータとなります。各列の意味は下記を参照してください。

2.計算フィールドマスタの編集
[Name]にはフィールド名を定義します。この列の定義名が、ヒストリカルデータサーバやトレンドなどから参照される際のフィールド名となります。
[Comment]には、任意の文字列を指定することができます。サマリ帳票の設定画面などから一覧選択する際などに表示されるコメント列には、このコメントが表示されます。
[Expression]に、列同士の演算式を指定することができます。たとえば、「T000 + T001」などと指定すると、フィールドT000とT001を加算した結果を列に求めることができます。また、「C000 + C001」などのように、計算フィールドとして求めた結果を、さらに演算することができます。尚、計算の順序は、計算フィールドマスタに定義した順序で上から順番に処理されます。よって、計算フィールド同士を更に計算する際には、計算の順序に矛盾が生じないように設定する必要があります（※たとえば、C000 + C001を、C000の計算前に行うことはできない）。

| Expressionに指定可能な計算式は、四則演算の他に、Math関数なども指定することができます。どのような演算式を指定可能なのかを更に詳しく知りたい場合は、サマリマニュアルの「計算フィールドマスタ」を参照してください。

[UncertainIsZero]では、計算時の不定値の扱い方を指定します。[UncertainIsZero]をF（もしくはn）にすると、式中に不定値が含まれる場合、演算結果も不定値にします。例えば「T000 + T001」という式の場合T001が通信不良などで値が欠損している場合、演算結果も不定値（欠損値）になります。[UncertainIsZero]をT（もしくはy）にすると、不定値を0とみなして演算します。この列を省略するとデフォルトをFとして処理されます。
[TermOfValidity]は、本チュートリアルでは使用しません。ここでは空欄としておいてください。
[DecimalNum1]には、小数点桁数を数値で指定します。
[SummaryType1]には、集計処理の際に採用する集計種別を指定します。詳細はタグフィールドの記述を参照してください。
[ReportHeader1]～[ReportHeader4]には、帳票レイアウトのヘッダ部に表示する1～4の見出しのデフォルト値を指定します。詳細はタグフィールドの記述を参照してください。
各フィールドの編集が完了したら、ExcelからCSVファイルとして保存します。

| 計算フィールドの演算結果は、ルートログ（RAW）には含まれません。計算フィールドで指定した計算結果は、DAY、MONTH、YEARなどの集計ログに対して出力されます。例えばトレンドグラフなどでペン表示する際など、RAWを参照する段階でフィールド同士の演算結果を求めたい場合は、フィールド名を指定する際に演算式を含めることで対応可能です。

| 計算フィールドを使用しない場合、計算フィールドの設定は必須ではありません。計算フィールドを使用しない場合は、サマリマスタのCalculationFieldMaster（およびCalculationFieldIndex）の行を削除してください。

レイアウトファイルの設定

レイアウトファイルはExcelで作成します。Excelファイルそのものがレイアウトマスタとなります。日報、月報、年報のレイアウトはそれぞれ別シートに定義し、１つのExcelブック内にまとめて作成することができます。

1.レイアウトマスタを開く
レイアウトマスタはExcelファイルです。Excelで以下のファイルを開いてください。
プロジェクトの格納フォルダ\server\summary\layoutmaster.xls
以下は、レイアウトマスタをExcelで開いた状態です。

2.レイアウトマスタのシート構造
レイアウトマスタは、以下のようなシート構成になっています。
ここで、「標準_DAY_P」「標準_MONTH_P」「標準_YEAR_P」となっている部分の「DAY」「MONTH」「YEAR」の部分が、サマリマスタで定義した「ReportLayoutMasterSheet」の設定文字列（「DAY」「MONTH」「YEAR」など）と照合され、帳票印字時に目的のフォーマットが自動的に選択されます。
また、「判子欄付_DAY_P1」などのように、先頭に「標準」や「判子欄付」となっている部分がありますが、この部分はレイアウト種別の識別名として利用されます。サマリ帳票画面の設定画面からレイアウト種別をコンボボックスで選択できるようになっており、そこで選択された種別が、上記文字列と照合されて目的のフォーマットが特定される仕組みになっています。サマリ帳票画面の設定機能については、後述にて別途解説します。

3.レイアウトマスタのフォーマット構造
レイアウトマスタのシートを見ると、以下のように先頭が「**」（半角アスタリスク２文字）で始まるキーワードが入力されているセルがあります。

| 印刷実行時には、このキーワードの部分に目的のデータが流し込まれて印字されます。例えば、「**F_Date」はレポートの日付、「**PT_Data」は集計データの明細行などの意味を持っています。

また、「**FV_SideData」などは明細エリアの左上隅に１つだけ定義すればOKです。明細の右列方向および明細の各行は、キーワード位置を起点として必要に応じて自動的に流し込まれます。「**PT_Head」や「**PT_Data」については、「**キーワード[END]」のあるセルを終点としてデータが流し込まれます。
尚、レイアウトマスタの各セルに設定した属性（罫線、フォントサイズ、タイプ、色、寄せ（右、中央、左）など）は、印刷時にそのまま採用されます。

| レポートレイアウトに指定可能はキーワードについて、どのようなキーワードを指定できるのかを知りたい場合は、サマリマニュアルの「レイアウトマスタ」に関する記述に詳細が解説されています。

サマリアクションの設定

サマリアクションの設定は以下の要領で行います。

1.サマリアクションを追加する
Panel Serverのツリーから、Actionを右クリックしてメニューを表示し、追加／アクションを選択します。
アクションの追加ダイアログが表示されるので、「サマリ(CSV)」を選択してOKボタンをクリックします。“A01”というアクションが新たに追加されます。
尚、ここではA01という名称をそのまま使用しますが、実際の利用時には「SUMMARY」などのように自由な名称に変更してもかまいません。今回のトレーニングでは、「A01」のまま説明します。

2.サマリアクションのプロパティを設定する
ツリーから“A01”を右クリックしてメニューを表示し、プロパティダイアログを表示します。
基本設定タブを開き、フォルダ名にサマリフォルダのフォルダ名とサマリマスタのファイル名を指定します。
・フォルダ名：server_data\summary
・マスターファイル：server\summary\master.txt

3.ロギング用のイベントを設定する
本トレーニングでは、１秒に一件のロギングを行うこととします。毎秒に発生する定刻イベントを作成し、先ほど設定したサマリアクションの呼び出しを定義します。
Panel ServerのツリーからEventを右クリックしてメニューを表示し、追加／定刻イベントを選択します。新たに“E01”というイベントが追加されるので、ここでは名称を「LOG」に変更しておきます。

4.イベントのプロパティを設定する
Multiviewから“LOG”を右クリックしてメニューを表示し、プロパティを表示します。定刻イベントタブを開き、設定を毎秒に変更します。
実行アクションタブを開き、アクション名のコンボボックスから先ほど設定した“A01”アクションを選び、追加ボタンをクリックします。
一覧にA01が追加されました
以上でサーバ側の設定作業は完了です。

5.Panel Serverの設定内容を保存します。下図の保存ボタンをクリックします。

6.Panel Serverの「オンライン モニター」ボタンをクリックします。Panel Serverがオンラインとなります。

| サマリアクションのロギング周期は、上記のイベントの周期により決定されます。たとえば１分に１件のログを残したい場合は、上記の設定を毎分の定刻イベントに変更します。 尚、サマリアクションのロギングの最短周期は、最速で１秒までです。ミリ秒単位のロギングを行う必要がある場合は、ロガーアクションを選択してください。