機械翻訳について

テンプレートへのチャートの追加

テンプレートにチャートを追加するには、次のステップに従います。

次に、チャートをテンプレートに追加するステップの概要を示します。 これらのステップについては、このセクションで例とともに詳しく説明します。

  1. テンプレートにダミー・イメージを挿入して、チャートのサイズと位置を定義します。
  2. ダミー・イメージの代替テキスト・ボックスにチャートの定義を追加します。 チャート定義にはXSLコマンドが必要です。
  3. 実行時に、「パブリッシャ」はチャート・エンジンをコールして、最終的な出力ドキュメントに挿入されるイメージをレンダリングします。

RTF出力はラスター・イメージに制限されていることに注意してください。 PDFおよびHTML出力では、ラスターおよびベクター・イメージがサポートされています。

サンプル・チャートの追加

この図に従って、サンプル・チャートを追加します。

次に、会社のビジョン別の合計売上を示すXMLデータを示します。

<sales year=2004>
 <division>
  <name>Groceries</name>
  <totalsales>3810</totalsales>
  <costofsales>2100</costofsales>
 </division>
 <division>
  <name>Toys</name>
  <totalsales>2432</totalsales>
  <costofsales>1200</costofsales>
 </division>
 <division>
  <name>Cars</name>
  <totalsales>6753</totalsales>
  <costofsales>4100</costofsales>
 </division>
 <division>
  <name>Hardware</name>
  <totalsales>2543</totalsales>
  <costofsales>1400</costofsales>
 </division>
 <division>
  <name>Electronics</name>
  <totalsales>5965</totalsales>
  <costofsales>3560</costofsales>
 </division>
</sales>

この例では、次の棒グラフに示すように、チャートをテンプレートに挿入して縦棒グラフとして表示する方法について説明します。

このチャートの次の属性に注意してください:

  • スタイルは垂直棒グラフです。

  • チャートにはバックグラウンド・グリッドが表示されます。

  • コンポーネントは色付きです。

  • 売上合計はY軸ラベルとして表示されます。

  • ディビジョンはX軸ラベルとして表示されます。

  • チャートにはタイトルが付いています。

  • チャートに凡例が表示されます。

これらの各プロパティは、個々のレポートの要件に合わせてカスタマイズできます。

ダミー・イメージの挿入

最初のステップでは、チャートを表示する位置のテンプレートにダミー・イメージを追加します。

イメージ・サイズは、最終文書のチャート・イメージの大きさを定義します。

ノート:

ダミー・イメージは、他の種類のオブジェクトではなく、ピクチャとして挿入する必要があります。

次の図は、ダミーのイメージの例を示しています。

繰返しデータに基づいてチャートを出力で繰り返す場合は、他のフォーム・フィールドと同様に、for-eachループ内にイメージを埋め込むことができます。 この例では、XMLファイル内に存在するデータ年ごとにチャートが生成されるように、チャートがsales年グループ内に定義されています。

イメージを右クリックして「画像のフォーマット」パレットを開き、「ウェブ」タブを選択します。 「代替テキスト」エントリ・ボックスを使用して、チャートの特性およびデータ定義を定義するコードを入力します。

代替テキスト・ボックスへのコードの追加

「代替テキスト」ボックスは、コードを含むテキスト・フィールドであり、最終文書でチャートとしてレンダリングされるコンテンツです。

次の図は、「画像の代替テキストの書式設定」ボックスの「パブリッシャ」コードの例を示しています。

「代替テキスト」のコンテンツは、最終ドキュメントにレンダリングされるチャートを表します。 このチャートでは、テキストは次のようになります:

chart:
<Graph graphType = "BAR_VERT_CLUST">
 <Title text="Company Sales 2004" visible="true" horizontalAlignment="CENTER"/>
 <Y1Title text="Sales in Thousands" visible="true"/>
 <O1Title text="Division" visible="true"/>
 <LocalGridData colCount="{count(//division)}" rowCount="1">
  <RowLabels>
   <Label>Total Sales $1000s</Label>
  </RowLabels>
  <ColLabels>
   <xsl:for-each select="//division">
    <Label>
      <xsl:value-of select="name"/>
    </Label>
   </xsl:for-each>
  </ColLabels>
  <DataValues>
   <RowData>
    <xsl:for-each select="//division">
      <Cell>
       <xsl:value-of select="totalsales"/>
     </Cell>
    </xsl:for-each>
   </RowData>
  </DataValues>
 </LocalGridData>
</Graph>

チャート・テキストの最初の要素はチャートである必要があります: 次のコードがチャート・オブジェクトを記述したことをRTFパーサーに通知する要素。

次に、開始<Graph>タグを示します。 コード全体が<Graph>要素のタグ内に存在することに注意してください。 この要素には、チャート・タイプを定義する属性があります: graphType. この属性が宣言されていない場合、デフォルトのチャートは縦棒グラフです。 BI Beansは様々なチャート・タイプをサポートしています。 このセクションでは、さらにいくつかのタイプについて説明します。 完全なリストについては、BI BeansグラフのDTDドキュメントを参照してください。

次のコード・セクションでは、チャート・タイプと属性を定義します:

<Title text="Company Sales 2004" visible="true" horizontalAlignment="CENTER"/>
 <Y1Title text="Sales in Thousands" visible="true"/>
 <O1Title text="Division" visible="true"/>

これらの値はすべて宣言することも、実行時にXMLデータから値を置換することもできます。 たとえば、次の構文を使用して、XMLタグからチャート・タイトルを取得できます:

<Title text="{CHARTTITLE}" visible="true" horizontalAlighment="CENTER"/>

ここで、"CHARTTITLE"はチャート・タイトルを含むXMLタグ名です。 タグ名は中カッコで囲まれています。

次のセクションでは、列および行のラベルを定義します:

<LocalGridData colCount="{count(//division)}" rowCount="1">
  <RowLabels>
   <Label>Total Sales $1000s</Label>
  </RowLabels>
  <ColLabels>
   <xsl:for-each select="//division">
    <Label>
      <xsl:value-of select="name"/>
    </Label>
   </xsl:for-each>
  </ColLabels>

LocalGridData要素には2つの属性があります: colCountおよびrowCount これらは、実行時に表示される列と行の数を定義します。 この例では、count関数はレンダリングする列の数を計算します:

colCount="{count(//division)}"

rowCountは1にハードコードされています。 この値は、チャート化するデータのセット数を定義します。 この場合は1です。

次に、行および列のラベルを定義します。 これらは宣言することも、実行時にXMLデータから値を置換することもできます。 行ラベルは、チャートの凡例(つまり、"Total Sales $1000s"で使用されます。

この例の列ラベルはデータから導出されます: 食料品、玩具、車など。 これはfor-eachループを使用して実行します:

<ColLabels>
   <xsl:for-each select="//division">
    <Label>
      <xsl:value-of select="name"/>
    </Label>
   </xsl:for-each>
  </ColLabels>

このコードは、<division>グループをループし、<name>要素の値を<Label>タグに挿入します。 このコードは実行時に次のXMLを生成します:

<ColLabels>
  <Label>Groceries</Label>
  <Label>Toys</Label>
  <Label>Cars</Label>
  <Label>Hardware</Label>
  <Label>Electronics</Label>
</ColLabels>

次のセクションでは、チャート化する実際のデータ値を定義します:

<DataValues>
   <RowData>
    <xsl:for-each select="//division">
      <Cell>
       <xsl:value-of select="totalsales"/>
     </Cell>
    </xsl:for-each>
   </RowData>
  </DataValues>

ラベル・セクションと同様に、コードはデータをループして、BI Beansレンダリング・エンジンに渡されるXMLを作成します。 このコードは次のXMLを生成します:

<DataValues>
  <RowData>
    <Cell>3810</Cell>
    <Cell>2432</Cell>
    <Cell>6753</Cell>
    <Cell>2543</Cell>
    <Cell>5965</Cell>
  </RowData>
</DataValues>

チャート・サンプルの追加

円グラフのサンプルに従って、円グラフにデータを表示する方法を理解します。

次の図に示すように、このデータを円グラフに表示することもできます。

このチャートを実行時にレンダリングするためにテンプレートに追加されるコードは、次のとおりです:

chart:
<Graph graphType="PIE">
 <Title text="Company Sales 2004" visible="true"    
   horizontalAlignment="CENTER"/>
 <LocalGridData rowCount="{count(//division)}" colCount="1">
  <RowLabels>
  <xsl:for-each select="//division">     
  <Label>
   <xsl:value-of select="name"/>
  </Label>
  </xsl:for-each>
  </RowLabels>
  <DataValues>
   <xsl:for-each select="//division">
    <RowData>
      <Cell>
       <xsl:value-of select="totalsales"/>
      </Cell>
    </RowData>
   </xsl:for-each>
  </DataValues>
 </LocalGridData>
</Graph>

横棒グラフのサンプル

この例は、横棒の形式でチャート化された売上合計と売上原価を示しています。 また、売上原価要素(<costofsales>)のデータがチャートに追加されます。

次のコードは、テンプレートでこのチャートを定義します:

chart:
<Graph graphType = "BAR_HORIZ_CLUST">
 <Title text="Company Sales 2004" visible="true" horizontalAlignment="CENTER"/>
 <LocalGridData colCount="{count(//division)}" rowCount="2">
 <RowLabels>
  <Label>Total Sales ('000s)</Label>
  <Label>Cost of Sales ('000s)</Label>
 </RowLabels>
 <ColLabels>
  <xsl:for-each select="//division">
   <Label><xsl:value-of select="name"/></Label>
  </xsl:for-each>
 </ColLabels>
 <DataValues>
  <RowData>
   <xsl:for-each select="//division">
     <Cell><xsl:value-of select="totalsales"/></Cell>
   </xsl:for-each>
  </RowData>
  <RowData>
   <xsl:for-each select="//division">
    <Cell><xsl:value-of select="costofsales"/></Cell>
    </xsl:for-each>
  </RowData>
  </DataValues>
 </LocalGridData>
</Graph>

2番目のデータ・セットに対応するために、LocalGridData要素のrowCount属性は2に設定されます。 また、DataValuesセクションには2つのデータ・セットが定義されています: 1つはTotal Sales、もう1つはCost of Salesです。

チャートの表示形式の変更

BI BeansグラフDTDには、チャートのルック・アンド・フィールを変更するために操作できる属性が多数あります。

たとえば、次の図に示すように、前のチャートを変更してグリッドを削除し、卒業したバックグラウンドを配置し、棒の色とフォントを変更できます:

これをサポートするコードは次のとおりです:

chart:
<Graph graphType = "BAR_HORIZ_CLUST">
<SeriesItems>
 <Series id="0" color="#ffcc00"/>
 <Series id="1" color="#ff6600"/>
</SeriesItems> 
<O1MajorTick visible="false"/>
<X1MajorTick visible="false"/>
<Y1MajorTick visible="false"/>
<Y2MajorTick visible="false"/>
<MarkerText visible="true" markerTextPlace="MTP_CENTER"/>
<PlotArea borderTransparent="true">
 <SFX fillType="FT_GRADIENT" gradientDirection="GD_LEFT" 
 gradientNumPins="300">
 <GradientPinStyle pinIndex="1" position="1" 
  gradientPinLeftColor="#999999" 
  gradientPinRightColor="#cc6600"/>
 </SFX>
</PlotArea>
<Title text="Company Sales 2004" visible="true">
 <GraphFont name="Tahoma" bold="false"/>
</Title>
. . . 
</Graph>

バーの色は、SeriesItemsセクションで定義されます。 色は、次のように16進数形式で定義されます:

<SeriesItems>  
  <Series id="0" color="#ffcc00"/>  
  <Series id="1" color="#ff6600"/> 
</SeriesItems>  

次のコードでは、チャート・グリッドが非表示になります:

<O1MajorTick visible="false"/> 
  <X1MajorTick visible="false"/> 
  <Y1MajorTick visible="false"/> 
  <Y2MajorTick visible="false"/>

MarkerTextタグは、チャート・バーにデータ値を配置します:

<MarkerText visible="true" markerTextPlace="MTP_CENTER"/> 

PlotAreaセクションは、バックグラウンドを定義します。 SFX要素はグラデーションを設定し、borderTransparent属性はプロット・ボーダーを非表示にします:

<PlotArea borderTransparent="true">  
  <SFX fillType="FT_GRADIENT" gradientDirection="GD_LEFT"   
     gradientNumPins="300">  
     <GradientPinStyle pinIndex="1" position="1"    
       gradientPinLeftColor="#999999"    
       gradientPinRightColor="#cc6600"/>  
   </SFX> 
</PlotArea>

Title textタグも更新され、新しいフォント・タイプおよびサイズが指定されています:

<Title text="Company Sales 2004" visible="true">  
  <GraphFont name="Tahoma" bold="false"/> 
</Title>