4D View v14PV REPORT MANY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v14
PV REPORT MANY
|
PV REPORT MANY ( area ; column ; row ; master ; tableBreak ; fieldBreak ; operator ; tables ; fields ; insert ; detail ; title ) | ||||||||
引数 | 型 | 説明 | ||||||
area | 倍長整数 |
![]() |
4D View エリア | |||||
column | 倍長整数 |
![]() |
列番号 | |||||
row | 倍長整数 |
![]() |
行番号 | |||||
master | 整数 |
![]() |
プライマリテーブル番号 | |||||
tableBreak | 整数 |
![]() |
ブレークが発生するテーブル番号 | |||||
fieldBreak | 配列 |
![]() |
ブレークが発生するフィールド番号 | |||||
operator | 整数配列 |
![]() |
実行する処理 | |||||
tables | 整数配列 |
![]() |
表示フィールドの属するテーブルの番号 | |||||
fields | 整数配列 |
![]() |
表示フィールドの番号 | |||||
insert | 整数 |
![]() |
0= 置き換え; 1= 行挿入 | |||||
detail | 整数 |
![]() |
明細行挿入オプション | |||||
title | 文字 |
![]() |
ブレークタイトル | |||||
PV REPORT MANYコマンドは、master テーブルのカレントセレクションから開始して、tables とfields で指定した4Dフィールドの値を使用し、4D View area 上にレポートを作成します。各フィールドに適用する処理は、operatorで定義します(合計、カウント、最大値等)。引数operatorを定義するには、PV Report functionsテーマ内の定数を使用します:
定数 | 型 | 値 |
pv report function average | 倍長整数 | 1 |
pv report function count | 倍長整数 | 4 |
pv report function max | 倍長整数 | 3 |
pv report function min | 倍長整数 | 2 |
pv report function none | 倍長整数 | -1 |
pv report function sum | 倍長整数 | 0 |
生成されたレポートは、column とrowで指定したセルよりarea 上に挿入されます。
tableBreak とfieldBreak は、ブレークシーケンスを実行するフィールドを指定します。ブレークにより、同種類のグループごとにレコードを区切り、各グループの中間集計を行うことができます。
ブレークとは、テーブルの並び替えにおける値の変わり目です。このブレークレベルは、並び替えの条件に関連付ける必要があります。PV REPORT MANYコマンドを使用する前に、tableBreak とfieldBreak で指定したレコードセレクションに対する並び替えを行う必要があります。その際、ブレークとして考慮されない並び替え条件を更に追加しても構いません。ブレークをともなうクイックレポートの作成に関する詳細は、4Dのユーザリファレンスマニュアルを参照してください。
引数insert は、このコマンドを使用して4D View エリアに配置されるデータで既存のセルを置き換えるか、もしくは新しい行に挿入するかを決定します。この引数に0 を渡すと、データは消去されて置き換えられます。1を渡した場合、追加の行が挿入されます。
引数detail を使用すると、4D View が明細行およびブレーク行をレポートに挿入する方法を定義することができます:
引数titleを使用して、結果の行のタイトルを設定することができます(つまり、“合計”や“平均”等です)。4D の「クイックレポート」エディタと同様に、現在のブレーク値のプレースホルダとして数値記号“#”を使用可能です。例えば、「国」フィールドがブレークフィールドである場合、タイトルには“合計: #”と指定することができます。すると、レポートには“合計:合衆国”、“合計:日本”というように表示されます。
タイトルを挿入したくない場合には、空の文字列を渡します。
Note: detailに0 を指定し、<タイトル>に空の文字列を渡した場合、最初の列は挿入されません(列は空の状態になります)。
「顧客」の入力フォーム内に組み込まれた4D View エリアに、その顧客にリンクしている「連絡先」のレポートを表示します。肩書きごとに(秘書、開発者、ドキュメント部門等)、連絡先数を示すブレークを追加します。「連絡先」テーブルと「顧客」テーブル間には自動リレートが設定されています。
C_LONGINT($Column) `列番号
C_LONGINT($Row) `行番号
C_INTEGER($Master) `マスターテーブル番号
C_INTEGER($TableBreak) `ブレークが発生するテーブル番号
C_INTEGER($FieldBreak) `ブレークが発生するフィールド番号
ARRAY INTEGER($Operator;3) `実行する処理
ARRAY INTEGER($Tables;3) `表示フィールドの属するテーブルの番号
ARRAY INTEGER($Fields;3) `表示フィールド数
C_INTEGER($Insert) `0= 置き換え;1=行を挿入
C_INTEGER($Detail) `明細行挿入オプション
C_STRING(30;$Title) `結果行のタイトル
`初期化
$Column:=4 `列Dから表示を開始する
$Row:=3 `3 行目から表示を開始する(タイトル+ 空の行)
$Master:=Table(->[Contacts]) `これは「連絡先」テーブルの“レポート”である
$TableBreak:=Table(->[Titles])
$FieldBreak:=Field(->[Titles]Label) `「連絡先」肩書き上でブレークが発生
`1 列目に各タイプの数を表示
$Operator{1}:=pv report function count
$Tables{1}:=Table(->[Titles])
$Fields{1}:=Field(->[Titles]Label) `1 列目に肩書きのラベル
$Operator{2}:=pv report function none `列2における計算は行わない
$Tables{2}:=Table(->[Contacts])
$Fields{2}:=Field(->[Contacts]ContactName) `2 列目に連絡先名
$Operator{3}:=pv report function none `列3における計算は行わない
$Tables{3}:=Table(->[Contacts])
$Fields{3}:=Field(->[Contacts]ContactFirstname) `3 列目に連絡先の名前
$Insert:=1 `挿入
$Detail:=2 `明細行を挿入し、値は1度だけ表示する
$Title:="Number of contacts for #" `“#”記号は現在のブレーク値で置き変わる
RELATE MANY([Clients]Code) `顧客の連絡先を取得
`ブレークポイントでのソートが必要+ アルファベット順に表示
ORDER BY([Contacts];[Titles]Label;[Contacts]ContactName;[Contacts]ContactFirstname)
PV REPORT MANY(Area;$Column;$Row;$Master;$TableBreak;$FieldBreak;$Operator;$Tables;$Fields;$Insert;$Detail;$Title)
セレクションはデーターベースストラクチャーレベルでのリレーションやコマンドに渡されるフィールド番号や配列に基づきます。
プロダクト: 4D View
テーマ: PVセルの値
番号:
15904
初出: 4D View 6.8
PV ARRAY TO CELLS
PV REPORT ONE
4D View ( 4D View v11.4)
4D View ( 4D View v12)
4D View ( 4D v13)
4D View ( 4D View v14 R2)
4D View ( 4D View v14)
4D View ( 4D View v14 R3)
4D View ( 4D View v14 R4)