V2.1J
V3.0JV2.2JV2.1JV2JV1J

Tableを使ったレポート

概要

テーブル形式のレポートは、データを最も簡単に表示できる方法です。基本的なテーブル形式のレポートは、複数列および複数行の書式で構成されていて、列に項目が並べられ、行にそれぞれの一致するレコードが表示されます。また、テーブル形式のレポートでは、事前定義された条件またはユーザー入力に基づいてデータをグループ化、並べ替え、およびフィルタできます。テーブル形式のレポートの例として、在庫リスト、商品カタログ、アクティビティレポートなどがあります。

このチュートリアルでは、「商品一覧」レポートを作成する手順を説明します。

  • 新しいレポートを作成する
  • レポートをデータ連結しデータセットを追加する
  • Tableを追加する
  • 列の書式を設定する
  • テーブルヘッダにレポートタイトルを表示する
  • テーブルをグループ化する
  • 複数のデータセットのフィールドを表示する
  • 列ヘッダを表示する
  • 集計フィールドを表示する
  • テーブルデータをフィルタする
  • データ行に条件付き書式を設定する
  • 対話的な並べ替えを設定する

前提条件

次の内容は、デザイナアプリを使用することを前提としています。また、データソースとして利用するGrapeCity Data Serviceにアクセスするには、インターネット接続環境が必要です。

新しいレポートを作成する

デザイナアプリにて、[ファイル]メニューをクリックし、[RDLレポート]を選択して、新しいレポートを作成します。デザイン面の周囲にあるグレーの領域をクリックし、表示されるより、[余白]セクションの[スタイル]「狭い」を設定し、余白を設定します。

新しいレポートの作成方法

Creating a new report

レポートをデータ連結しデータセットを追加する

レポートとデータの接続を行うため、データ連結を行います。このチュートリアルでは、データソースとして「GrapeCity Data Service」のNorthWind Data Serviceを使用します。

  • データソースを追加する

    データに接続するため、「NorthWind Data Service」のWebAPIを使用します。このチュートリアルではProductsテーブルCategoriesテーブルを使用します。このようにデータベースに接続するためのレポートデータソースを作成するには、次の手順を実行します。

    • データタブを開き、[データソース]の横の[+ 追加]アイコンをクリックします。
    • [データソースの編集]ダイアログで、[名前]「Northwind」と入力し、[エンドポイント]「https://demodata-jp.grapecity.com/northwind/api/v1」と入力します。
    • [変更を保存]ボタンをクリックします。

データソースを追加する方法

Adding data source

  • データセットを追加する

    データセットは、データソースの1つ以上のエンドポイントを表します。このチュートリアルでは「商品一覧」を作成するため、先ずProductsテーブルの値を取得します。以下の手順に従ってProductsデータセットを追加します。

    • データタブをクリックし、「Northwind」データソースの横の[+ 追加]アイコンをクリックします。
    • [新規データセット]ダイアログで、[名前]「Products」と入力、[URI/パス]「/Products」と入力し、[JSONパス]「$.*」と入力します。
    • [検証]ボタンをクリックします。
    • [データベースフィールド][10項目]というテキストが表示されていることを確認します。
    • [変更を保存]ボタンをクリックします。

    続いてCategoriesテーブルの値を取得します。以下の手順に従ってCategoriesデータセットを追加します。

    • データタブをクリックし、「Northwind」データソースの横の[+ 追加]アイコンをクリックします。
    • [新規データセット]ダイアログで、[名前]「Categories」と入力、[URI/パス]「/Categories」と入力し、[JSONパス]「$.*」と入力します。
    • [検証]ボタンをクリックします。
    • [データベースフィールド][3項目]というテキストが表示されていることを確認します。
    • [変更を保存]ボタンをクリックします。

データセットを追加する方法

Adding data source

Tableを追加する

テーブル形式のレポートでデータを視覚化する最も簡単な方法は、Tableコントロールを使用することです。

  • [データ]タブで、Productsデータセットをクリックして展開します。
  • Productsデータセットの横の[フィールドを選択]アイコンをクリックします。
  • productNameunitPriceunitsInStockunitsOnOrderreorderLevelのフィールドを選択します。
  • 選択したフィールドをレポートのデザイン面の左上隅にドラッグ&ドロップします。

Tableを追加する方法

Adding Table

新しく作成されたTabkeには、5つのデータフィールドのフィールド名を表示するヘッダ行、および値を表示する詳細行があります。レポートをプレビューすると、詳細行にはデータセットのすべての商品に対して選択されたフィールド値が表示され、各ページにテーブルのヘッダが表示されます。

列の書式を設定する

レポートのデザイン面へ戻り、テーブル内の任意の列や行をクリックして、グループエディタを表示します。 最初の列をクリックし、プロパティタブより[幅]「2.5in」に設定します。同様に2番目の列の[幅]「1.1in」に設定し、残りの列の[幅]「1.3in」に設定します。これでテーブルの幅は7.5inになり、レポートのページサイズと余白によって定義されたレポートの印刷可能領域に適合します。

「unitPrice」を表示するセルをクリックし、プロパティから[表示形式]「通貨」に設定します。

最後の列の幅と「unitPrice」セルの書式を設定する方法

Formatting columns

レポートをプレビューすると、最初の列の商品名が1行に収まり、列の書式設定により、単価が通貨として表示されます。

テーブルヘッダにレポートタイトルを表示する

デフォルトでは、テーブルヘッダ行には列ヘッダが表示されます。これをレポートタイトルに置き換え、後で列ヘッダを追加します。

  • レポートのデザイン面へ戻り、テーブル内の任意の場所をクリックして、列と行ハンドラを表示します。
  • 最初の行ハンドラをクリックし、プロパティで[高さ]プロパティを「0.6in」に設定します。
  • [TEXTBOX]タブに切り替え、選択した行のすべてのセルのプロパティを変更できます。
  • [値]プロパティの右側にある緑色のボックスをクリックし、[リセット]を選択します。これにより、テーブルセルのデフォルトのテキストが削除されます。
  • [垂直方向の整列]プロパティを「Middle」に設定します。
  • テーブルの左上のセルをダブルクリックして、「商品一覧」と入力します。
  • プロパティでは、[テキスト]セクションの[色]プロパティを「#3da7a8」に、[サイズ]プロパティを「22pt」に設定します。

テーブルヘッダを変更する方法

Adding Report Title

レポートをプレビューすると、各ページに「商品一覧」タイトルが表示されます。

テーブルをグループ化する

Northwindデータベースには、飲料、魚介類、肉類など、複数の商品カテゴリがあります。Productsデータセットの各レコードには、categoryIdフィールドがあります。したがって、商品をカテゴリ別にグループ化できます。テーブルデータをグループするには、2つの方法があります。このチュートリアルでは、最も簡単な方法を紹介します。

  • レポートのデザイン面へ戻り、[データ]パネルでProductsデータセットをクリックして展開します。
  • テーブル内の任意の場所をクリックして、グループエディタを表示します。
  • categoryIdフィールドをグループエディタの<新規グループ>領域にドラッグ&ドロップします。
  • 新しく表示されたTable1_categoryIdを選択します。
  • プロパティに移動します。
  • [グループ]セクションの[改ページ]プロパティを「Between」に設定します。これにより、各グループは新しいページで開始されます。

グループ化を設定する方法

Adding Grouping

これで、テーブルにグループヘッダとグループフッタの2つの追加行が表示されます。グループヘッダでは最初の列に{categoryId}値が表示され、グループフッタは空白で表示されるが、後で集計値を表示します。

レポートをプレビューすると、8ページが生成されます。各ページは商品カテゴリを表し、最初にIDを印刷し、その後に商品を表示します。

複数のデータセットのフィールドを表示する

categoryIdはあまり情報を提供しないので、代わりにカテゴリ名を表示します。ProductsデータセットにはcategoryNameフィールドが含まれないが、Categoriesデータセットに含まれます。次のようにLookup関数を使用して、IDによってカテゴリ名を表示します。

  • レポートのデザイン面へ戻り、テーブル内の任意の場所をクリックして、列と行ハンドラを表示します。
  • 2番目の行ハンドラをクリックし、プロパティで[高さ]プロパティを「0.6in」に設定します。
  • [TEXTBOX]タブに切り替え、選択した行のすべてのセルのプロパティを変更できます。
  • [値]プロパティの右側にある緑色のボックスをクリックし、[リセット]を選択します。これにより、テーブルセルのデフォルトのテキストが削除されます。
  • [テキスト]セクションの[サイズ]プロパティを「16pt」に、[太さ]プロパティを「Bold」に、[垂直方向の整列]プロパティを「Middle」に設定します。

注意:上記の手順は、「テーブルヘッダにレポートタイトルを表示する」で説明した手順と同じです。

  • グループヘッダ行の最初のセルをクリックします。Ctrl(Windows)またはCmd(Mac OS)キーを押しながら、右側にある4つのセルを選択します。
  • 選択範囲を右クリックして、コンテキストメニューから[セル]>[セルの結合]の順に選択します。詳細については、セルの結合を参照してください。
  • 結合されたセルをダブルクリックして、「{Lookup(categoryId, categoryId, categoryName, "Categories")}」と入力します。この関数は、現在のスコープで最初の引数としてcategoryIdを受け取り、Categoriesデータセットで同じcategoryIdの値を持つ行を検索し、対応するcategoryNameの値を返します。

セルの結合およびLookup関数の使用方法

Adding Lookup

レポートをプレビューすると、各ページにカテゴリ名が表示され、商品行とは視覚的に異なります。

列ヘッダを表示する

以前のセクションでデフォルトのテーブルヘッダを削除したので、テーブルには列ヘッダが表示されません。以下は、列ヘッダに対して追加のグループヘッダ行を使用します。

  • レポートのデザイン面へ戻り、テーブル内の任意の場所をクリックして、列と行ハンドラを表示します。
  • 2番目の行ハンドラ(グループヘッダ)を右クリックし、コンテキストメニューから[行]>[下]の順に選択します。グループヘッダに2つの行が追加されました。
  • 新しく追加された行のハンドラをクリックし、プロパティで[高さ]プロパティを「0.5in」に設定します。
  • [TEXTBOX]タブに切り替え、選択した行のすべてのセルのプロパティを変更できます。
  • [罫線]セクションの[幅]プロパティを「0.25pt」に設定します。
  • [罫線]セクションの[スタイル]プロパティの右側にあるアイコンをクリックし、下罫線のスタイルを「Solid」に設定します。
  • [罫線]セクションの[色]プロパティを「Gainsboro」に設定します。
  • [テキスト]セクションの[色]プロパティを「#3da7a8」に、[太さ]プロパティを「Bold」に、[垂直方向の整列]プロパティを「Middle」に設定します。
  • 新しく追加された行の最初のセルをダブルクリックし、「商品名」と入力します。
  • 2番目のセルをダブルクリックし、「単価」と入力して、ツールバーの[右揃え]ボタンをクリックします。
  • 3番目のセルをダブルクリックし、「在庫数」と入力して、ツールバーの[右揃え]ボタンをクリックします。
  • 4番目のセルをダブルクリックし、「注文数量」と入力して、ツールバーの[右揃え]ボタンをクリックします。
  • 5番目のセルをダブルクリックし、「再注文ポイント」と入力して、ツールバーの[右揃え]ボタンをクリックします。

レポートをプレビューすると、各ページに正確に配置された列ヘッダが表示されます。

集計フィールドを表示する

Tableデータ領域は、さまざまな集計フィールドをサポートします。集計フィールドを使用して、「商品一覧」レポートではグループフッタに在庫数および注文数量フィールドの合計を表示できます。

  • レポートのデザイン面へ戻り、テーブル内の任意の場所をクリックして、列と行ハンドラを表示します。
  • 最後の行のハンドラをクリックし、プロパティで[高さ]プロパティを「0.5in」に設定します。
  • [TEXTBOX]タブに切り替え、選択した行のすべてのセルのプロパティを変更できます。
  • [罫線]セクションの[幅]プロパティを「0.25pt」に設定します。
  • [罫線]セクションの[スタイル]プロパティの右側にあるアイコンをクリックし、上罫線のスタイルを「Solid」に設定します。
  • [罫線]セクションの[色]プロパティを「Gainsboro」に設定します。
  • [テキスト]セクションの[太さ]プロパティを「Bold」に、[垂直方向の整列]プロパティを「Middle」に設定します。
  • グループフッタ行の最初のセルをダブルクリックし、「合計」と入力します。
  • 3番目のセルをダブルクリックし、「{Sum(unitsInStock)}」と入力します。
  • 4番目のセルをダブルクリックし、「{Sum(unitsOnOrder)}」と入力します。

レポートをプレビューすると、各グループに在庫数と注文数量の合計がフッタに表示されます。

テーブルデータをフィルタする

Productsデータセットにはいくつかの商品が生産中止とマークされており、Northwindデータベースでは各商品に対応するフラグがあります。以下は、生産中止になった商品をフィルタして、テーブルに表示されないようにします。

  • レポートのデザイン面へ戻り、テーブル内の任意の場所をクリックして、コントロールを選択します。
  • プロパティタブにテーブルのプロパティを表示します。
  • [データ]セクションの[フィルタ]プロパティの横の[+ 追加]アイコンをクリックします。
  • [+ 追加]ボタンをクリックし、リストから[discontinued]を選択します。
  • 「=」記号の右側にあるテキスト領域をクリックして、「False」と入力します。

フィルタを追加する方法

Adding Filters

レポートをプレビューすると、いくつかの商品が表示されません。

データ行に条件付き書式を設定する

Northwindデータベースでは、特定の商品を補充するために必要な注文数量を示すreorderLevelフィールドがあります。作成したテーブルの最後の列には、各商品のreorderLevelの値が表示されます。以下は、再注文ポイントに達した商品を、警告に関連する背景色で強調表示します。

  • レポートのデザイン面へ戻り、テーブル内の任意の場所をクリックして、列と行ハンドラを表示します。
  • 4番目の行ハンドラをクリックし、プロパティで[高さ]プロパティを「0.4in」に設定します。
  • [TEXTBOX]タブに切り替え、選択した行のすべてのセルのプロパティを変更できます。
  • [背景色]プロパティを{IIF(unitsInStock <= reorderLevel, "MistyRose", "Transparent")}に設定します。この式は、IIF関数を使用して、選択した行のすべてのテーブルセルに条件付き書式で背景色を適用します。
  • [垂直方向の整列]プロパティを「Middle」に設定します。

レポートをプレビューすると、再注文ポイントに達した商品がMistyRose色で強調表示されます。

対話的な並べ替えを設定する

Tableデータ領域は、次の2種類の並べ替え方法をサポートしています。

  • 設計時の並べ替え:レポートの作成者がデータの並べ替え方法を決定します。
  • 対話的な並べ替え:プレビュー時にデータを並べ替える方法を決定します。

以下は、作成したテーブルで「再注文ポイント」列を除いてすべての列に対話的な並べ替えを追加します。

  • レポートのデザイン面へ戻ります。
  • 「商品名」テキストを表示する3番目の行の最初のセルをクリックし、プロパティで[ユーザー定義の並べ替え]セクションの[並べ替え]プロパティの隣にあるラジオボタンをクリックして、「productName」を選択します。
  • 同様に、「単価」テキストを表示する2番目のセルをクリックし、プロパティで[ユーザー定義の並べ替え]セクションの[並べ替え]プロパティの隣にあるラジオボタンをクリックして、「unitPrice」を選択します。
  • 「在庫数」テキストを表示する3番目のセルをクリックし、プロパティで[ユーザー定義の並べ替え]セクションの[並べ替え]プロパティの隣にあるラジオボタンをクリックして、「unitsInStock」を選択します。
  • 「注文数量」テキストを表示する4番目のセルをクリックし、プロパティで[ユーザー定義の並べ替え]セクションの[並べ替え]プロパティの隣にあるラジオボタンをクリックして、「unitsOnOrder」を選択します。

「商品名」列に対話的な並べ替えを追加する方法

Adding Conditional Formatting

レポートをプレビューすると、列ヘッダに[並べ替え]アイコンが表示されます。このアイコンをクリックすると、商品名、単価、在庫数、注文数量で商品を並べ替えることができます。各グループ内のデータは、他のグループから独立して並べ替えられます。