Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

グラフは、1つまたは複数のフィールドの情報をグラフ形式で表示します。現在のバージョンでは、面グラフ、棒グラフ、折れ線グラフ、円グラフ、散布図、等高線グラフが表示できます。詳細は、GraphTypeプロパティの機能オンライン・ヘルプを参照してください。

円グラフは、データを1つのフィールドから表示し、他のグラフは、データを複数のフィールドから表示できます。散布図と等高線グラフは、2つの以上のデータ・フィールドが必要です。

他のリストでは、フィールドは列として表されます。グラフ化されるデータを含む列(数値データ)は、ColumnRole(Data)として定義され、テキスト情報を含む列は、ColumnRole(Label)として定義されます。ColumnRoleは、列を非表示にして無効にするNoneにも設定できます。これは、グラフに複数の列があり、表示されるデータを動的に変更する場合に有効です。

グラフのタイプが違うと、そのスタイル設定も異なります。AreaStyle、BarStyle、LineStyle、PieStyle、ScatterStyle、およびSurfaceStyleプロパティを使用するセットがあります。

最小値、最大値、平均値、合計値をグラフにする場合は、KEEP_XXXXXコマンドを使用して値を計算できます。例えば、#SALARYAVGフィールドを定義し、#SALARYフィールドの平均の値を保存すると、部門ごとの平均の賃金を表示できます。

     *(

...

Department loaded and selected previously)
EVTROUTINE HANDLING(#PHBN_1.Click)

...

        clr_list #grph_1

...

        select (#section #secdesc) from_file(sectab)

...

 with_key(#deptment)

...

           select #salary from_file(pslmst1)

...

 with_key(

...

#deptment #section)

...

              KEEP_AVG OF_FIELD(#SALARY)

...

 IN_FIELD(#SALARYAVG)

...

           endselect  
      add_entry #grph_1
   endselect 
ENDROUTINE

グラフは、ユーザーがグラフの部門をクリックするとItemGotSelectionイベントを受け取ります。このイベントは、グラフの列の現在のエントリーを設定します。例えば、棒グラフで社員を表す棒をクリックすると、その社員がグラフの現在のエントリーになります。この機能を使用してメッセージ・ボックスや他のグラフなどで現在のエントリーに関する詳細な情報を提供できます。

以下の円グラフは、個々の社員が獲得した合計の賃金の割合を示します。

Image RemovedImage Added

グラフを実行すると、円グラフの違う部門をクリックすると(ItemGotSelectionイベント)、名字(CurrentItem)が変更されることがわかります。

グラフのソースは以下のようになっています。

     FUNCTION OPTIONS(*DIRECT)
*Definitions
BEGIN_

...

COM HEIGHT(412)

...

 LEFT(218)

...

 TOP(160)

...

 WIDTH(462)
DEFINE_

...

COM CLASS(#PRIM_GRPH)

...

 NAME(#GRAPH)

...

  DISPLAYPOSITION(1)

...

 HEIGHT(305)

...

 LEFT(32)

...

  PARENT(#COM_OWNER)

...

  TABPOSITION(1)

...

 TOP(56)

...

 WIDTH(385)

...

 PIESTYLE(AUTOARRANGELABELS)
DEFINE_

...

COM CLASS(#PRIM_GRCL)

...

 NAME(#GRCL_1)

...

 DISPLAYPOSITION(2)

...

 PARENT(#GRAPH)

...

 SOURCE(#SALARY)
DEFINE_

...

COM CLASS(#PRIM_GRCL)

...

 NAME(#GRCL_2)

...

 COLUMNROLE(Label)

...

 DISPLAYPOSITION(1)

...

 PARENT(#GRAPH)

...

 SOURCE(#SURNAME)
DEFINE_COM CLASS(#SURNAME.Visual) NAME(#SURNAME) DISPLAYPOSITION(2) HEIGHT(20) LEFT(32) PARENT(#COM_OWNER) TABPOSITION(2) TOP(16) WIDTH(281)

...

     *Get data, add it to the graph and set the caption and the type 
EVTROUTINE HANDLING(#graph.initialize)

...

        CLR_LIST NAMED(#GRAPH)

...

        SELECT FIELDS(#SALARY #SURNAME) FROM_FILE(PSLMST)

...

 WHERE('

...

#SALARY > 90000' )
     ADD_ENTRY TO_LIST(#GRAPH)

...

        ENDSELECT  
   Set #GRAPH CAPTION('Salaries by Employee' )
   Set #graph GRAPHTYPE(Pie)
ENDROUTINE
END_COM