[]
テーブル形式のレポートは、データを最も簡単に表示できる方法です。基本的なテーブル形式のレポートは、複数列および複数行の書式で構成されていて、列に項目が並べられ、行にそれぞれの一致するレコードが表示されます。また、テーブル形式のレポートでは、事前定義された条件またはユーザー入力に基づいてデータをグループ化、並べ替え、およびフィルタできます。テーブル形式のレポートの例として、在庫リスト、商品カタログ、アクティビティレポートなどがあります。
このチュートリアルでは、「商品一覧」レポートを作成する手順を説明します。
新しいレポートを作成する
レポートをデータ連結しデータセットを追加する
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コントロールを使用することです。
**[データ]**タブで、Productsデータセットをクリックして展開します。
Productsデータセットの横の**[フィールドを選択]**アイコンをクリックします。
productName、unitPrice、unitsInStock、unitsOnOrder、reorderLevelのフィールドを選択します。
選択したフィールドをレポートのデザイン面の左上隅にドラッグ&ドロップします。
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」**を選択します。
「商品名」列に対話的な並べ替えを追加する方法
レポートをプレビューすると、列ヘッダに**[並べ替え]**アイコンが表示されます。このアイコンをクリックすると、商品名、単価、在庫数、注文数量で商品を並べ替えることができます。各グループ内のデータは、他のグループから独立して並べ替えられます。