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