[]
        
(Showing Draft Content)

Tableを使ったレポート

概要

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


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

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

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

  • Tableを追加する

  • 列の書式を設定する

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

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

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

  • 列ヘッダを表示する

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

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

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

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

前提条件

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

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

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

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


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

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

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


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

    • データタブを開き、**[データソース]の横の[+ 追加]**アイコンをクリックします。

    • **[データソースの編集]ダイアログで、[名前]「Northwind」と入力し、[エンドポイント]「https://demodata-jp.grapecity.com/northwind/api/v1」**と入力します。

    • **[変更を保存]**ボタンをクリックします。

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


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


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

    • データタブをクリックし、**「Northwind」データソースの横の[+ 追加]**アイコンをクリックします。

    • **[新規データセット]ダイアログで、[名前]「Products」と入力、[URI/パス]「/Products」と入力し、[JSONパス]「$.*」**と入力します。

    • **[検証]**ボタンをクリックします。

    • **[データベースフィールド][10項目]**というテキストが表示されていることを確認します。

    • **[変更を保存]**ボタンをクリックします。

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

    • データタブをクリックし、**「Northwind」データソースの横の[+ 追加]**アイコンをクリックします。

    • **[新規データセット]ダイアログで、[名前]「Categories」と入力、[URI/パス]「/Categories」と入力し、[JSONパス]***「$.」**と入力します。

    • **[検証]**ボタンをクリックします。

    • **[データベースフィールド][3項目]**というテキストが表示されていることを確認します。

    • **[変更を保存]**ボタンをクリックします。

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


Tableを追加する

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

  • **[データ]**タブで、Productsデータセットをクリックして展開します。

  • Productsデータセットの横の**[フィールドを選択]**アイコンをクリックします。

  • productNameunitPriceunitsInStockunitsOnOrderreorderLevelのフィールドを選択します。

  • 選択したフィールドをレポートのデザイン面の左上隅にドラッグ&ドロップします。

Tableを追加する方法


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

列の書式を設定する

レポートのデザイン面へ戻り、テーブル内の任意の列や行をクリックして、グループエディタを表示します。

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


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

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


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

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

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

  • レポートのデザイン面へ戻り、テーブル内の任意の場所をクリックして、列と行ハンドラを表示します。

  • 最初の行ハンドラをクリックし、プロパティで**[高さ]プロパティを「0.6in」**に設定します。

  • **[TEXTBOX]**タブに切り替え、選択した行のすべてのセルのプロパティを変更できます。

  • **[値]プロパティの右側にある緑色のボックスをクリックし、[リセット]**を選択します。これにより、テーブルセルのデフォルトのテキストが削除されます。

  • **[垂直方向の整列]プロパティを「Middle」**に設定します。

  • テーブルの左上のセルをダブルクリックして、**「商品一覧」**と入力します。

  • プロパティでは、**[テキスト]セクションの[色]プロパティを「#3da7a8」に、[サイズ]プロパティを「22pt」**に設定します。

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


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

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

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

  • レポートのデザイン面へ戻り、[データ]パネルでProductsデータセットをクリックして展開します。

  • テーブル内の任意の場所をクリックして、グループエディタを表示します。

  • categoryIdフィールドをグループエディタの**<新規グループ>**領域にドラッグ&ドロップします。

  • 新しく表示されたTable1_categoryIdを選択します。

  • プロパティに移動します。

  • **[グループ]セクションの[改ページ]プロパティを「Between」**に設定します。これにより、各グループは新しいページで開始されます。

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


これで、テーブルにグループヘッダとグループフッタの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関数の使用方法


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

列ヘッダを表示する

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

  • レポートのデザイン面へ戻り、テーブル内の任意の場所をクリックして、列と行ハンドラを表示します。

  • 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」**と入力します。

フィルタを追加する方法


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

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

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」**を選択します。

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


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