[]
        
(Showing Draft Content)

集計データを使ったレポート

概要

集計レポートは、完全で大きな生データを小さなビューに縮小して、有用な情報を得るのに役に立ちます。集計レポートは、多くのデータレコードをいくつかのカテゴリに要約し、各カテゴリに対して1つ以上の集計値を表示します。また、集計レポートでは、事前定義された条件またはユーザー入力に基づいてデータをグループ化、並べ替え、およびフィルタできます。ActiveReportsJSでは、TablixChartを使用してこのようなレポートを作成できます。Tablixは、テーブルとマトリックスのデータ領域を融合したものといえます。これは、Excelと同様の高度なピボットテーブルとして考えることができます。

このチュートリアルでは、Tablixウィザードを使用して販売レポートを作成する手順を説明します。

  • 新しいレポートを作成する
  • データを連結する
  • データソースを追加する
  • 補足データセットを追加する
  • レポートパラメータを追加する
  • プレビューにゲラモードを使用する
  • 主なデータセットを追加する
  • 計算フィールドを追加する
  • Tablixコントロールを追加する
  • Tablixの行の書式を設定する
  • Tablixの列の書式を設定する
  • 複数のデータセットのフィールドを表示する
  • Tablixの列を並べ替える

前提条件

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

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

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

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

データを連結する

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

データソースを追加する

データベースに接続するには、Contoso OData APIのルートURL(https://demodata-jp.grapecity.com/contoso/odata/v1)を使用できます。その中に、/DimCustomers/DimStores/DimProductsなどのエンドポイントで表示される複数のテーブルがあります。このようなデータベースに接続するためのレポートデータソースを作成するには、次の手順を実行します。

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

補足データセットを追加する

データセットは、データソースの1つ以上のエンドポイントを表します。販売レポートに対しては、上記で追加したContosoデータソースの/DimStores/DimChannels、および/FactSalesのエンドポイントからデータにアクセスする必要があります。StoresとChannelsの2つのデータセットは補足データセットであり、レポートパラメータに利用可能な値を一覧表示し、店舗名と販売チャネル名を表示するために使用します。FactSalesデータセットを使用して集計データを作成します。

以下の手順に従って、Storesデータセットを追加します。

  • **[データ]タブをクリックして、「Contoso」データソースの横の[+ 追加]**アイコンをクリックします。
  • **[新規データセット]ダイアログで、[名前]フィールドに「Stores」と入力し、[Uri/パス]フィールドに「/DimStores」と入力し、[JSONパス]フィールドに「$.value.*」**と入力します。
  • デフォルトでは、各**「Store」レコードには23個のフィールドが含まれているが、すべてのフィールドが必要ではありません。以下のように、クエリパラメータを使用してODataの$select**クエリーオプションを適用することで、取得されるフィールドを制限します。
    • **[パラメータ]セクションの右側にある[+ 項目追加]**アイコンをクリックします。
    • 新しく追加された[パラメータ]フィールドに**「$select」**と入力します。
    • **[値]フィールドに、「StoreKey, StoreName」**と入力します。
  • **[検証]**ボタンをクリックします。
  • **[データベースフィールド]セクションに[2項目]**というテキストが表示されていることを確認します。
  • **[変更を保存]**ボタンをクリックします。
Storesデータセットを追加する方法を見る

次に、Channelsデータセットを追加します。

  • **[データ]タブをクリックして、「Contoso」データソースの横の[+ 追加]**アイコンをクリックします。
  • **[新規データセット]ダイアログで、[名前]フィールドに「Channels」と入力し、[Uri/パス]フィールドに「/DimChannels」と入力し、[JSONパス]フィールドに「$.value.*」**と入力します。
  • デフォルトでは、各**「Channel」レコードには7個のフィールドが含まれているが、すべてのフィールドが必要ではありません。以下のように、クエリパラメータを使用してODataの$select**クエリーオプションを適用することで、取得されるフィールドを制限します。
    • **[パラメータ]セクションの右側にある[+ 項目追加]**アイコンをクリックします。
    • 新しく追加された[パラメータ]フィールドに**「$select」**と入力します。
    • **[値]フィールドに、「ChannelKey, ChannelName」**と入力します。
  • **[検証]**ボタンをクリックします。
  • **[データベースフィールド]セクションに[2項目]**というテキストが表示されていることを確認します。
  • **[変更を保存]**ボタンをクリックします。

レポートパラメータを追加する

販売レポートでは、ユーザーが販売チャネルを選択して、集計データを表示することができます。このようなユーザー入力に対して、レポートパラメータは主要な方法です。次の手順に従って、SalesChannelレポートパラメータを作成します。

  • **[データ]タブをクリックして、レポートパラメータの横の[+ 追加]**アイコンをクリックします。
  • **[名前]フィールドに「SalesChannel」と入力し、[ダイアログの表示文字列]フィールドに「販売チャネルを選択する」**と入力します。
  • **[データタイプ]フィールドに「Integer」**を選択します。
  • [使用できる値]セクションで、[データセットの名前]「Channels」[値フィールド]「ChannelKey」、**[ラベルフィールド]「ChannelName」**を選択します。
レポートパラメータを追加する方法を見る

プレビューにゲラモードを使用する

レポートをプレビューすると、パラメータパネルが表示され、事前に決定された値のリストから販売チャネルを選択するように求められます。これらの値は、Channelsデータセットから取得されます。新しい販売チャネルがデータに追加された場合、パラメータを選択する時に利用可能な値のリストが更新されます。任意の値を選択して、**[Preview]**ボタンをクリックします。レポート項目を追加しないため、レポートには空白のページが表示されます。ツールバーの右端にあるゲラモードボタンをクリックします。このボタンは、ビューワモードを切り替えて、集計レポートの読み取りに適したページなしの出力を表示します。これにより、空白のページは消えます。レポートの出力は後で表示されます。

ゲラモードに切り替える方法を見る

主なデータセットを追加する

次に、レポートが表示する実際のデータを含むSalesデータセットを追加します。

  • デザイン面に戻り、**[データ]タブの上部にある[←]アイコンをクリックし、[パラメータの編集]**を終了します。
  • **「Contoso」データソースの横の[+ 追加]**アイコンをクリックします。
  • **[新規データセット]ダイアログで、[名前]フィールドに「Sales」と入力し、[Uri/パス]フィールドに「/FactSales」と入力し、[JSONパス]フィールドに「$.value.*」**と入力します。
  • デフォルトでは、FactSalesデータセットには19個のフィールドが含まれているが、すべてのフィールドが必要ではありません。以下のように、クエリパラメータを使用してODataの**$select**クエリーオプションを適用することで、取得されるフィールドを制限します。
    • **[パラメータ]セクションの右側にある[+ 項目追加]**アイコンをクリックします。
    • 新しく追加された[パラメータ]フィールドに**「$select」**と入力します。
    • **[値]フィールドに、「DateKey,StoreKey,SalesAmount」**と入力します。
  • デフォルトでは、FactSalesデータセットにはすべての販売チャネルのデータが含まれているが、レポートには選択した販売チャネルのみのデータを表示します。クエリパラメータを使用してODataの**$filter**クエリーオプションを適用することで、取得されるデータをフィルタします。フィルタ値は、上記の手順で追加したレポートパラメータにバインドされます。
    • **[パラメータ]セクションの右側にある[+ 項目追加]**アイコンをクリックします。
    • 新しく追加された[パラメータ]フィールドに**「$filter」**と入力します。
    • **[値]フィールドの右側にあるアイコンをクリックし、ドロップダウンリストから[式…]**を選択して、式エディタを表示します。
    • **[式]テキスト領域に「ChannelKey+eq+{@SalesChannel}」**と入力します。
    • **[保存]**ボタンをクリックします。
  • **[検証]**ボタンをクリックします。
  • 表示される**[パラメータ値]プロンプトダイアログでは、[@SalesChannel]フィールドに「1」と入力し、[保存して実行]**ボタンをクリックします。
  • **[データベースフィールド]セクションに[3項目]**というテキストが表示されていることを確認します。
データセットにフィルタを追加する方法を見る

計算フィールドを追加する

Salesデータセットには、DateKeyフィールドが含まれており、販売日を**「YYYY-MM-DD」形式で表示します。レポートを簡単に作成するために、販売日の年を含む計算フィールド**を追加します。Salesデータセットエディタを開いたままにしておくことを前提としています。

  • **[計算フィールド]セクションの右側にある[+ 項目追加]**アイコンをクリックします。
  • 新しく追加された項目の**[フィールド名]フィールドに「SaleYear」**と入力します。
  • **[値]フィールドの右側にあるアイコンをクリックし、ドロップダウンリストから[式…]を選択して、[式エディタ]**を表示します。
  • **[式]テキスト領域に「{Year(DateKey)}」**と入力します。
  • **[保存]**ボタンをクリックします。
  • **[データセットの編集]ダイアログでは、[変更を保存]**ボタンをクリックします。
計算フィールドを追加する方法を見る

Tablixコントロールを追加する

Salesデータセットから集計データを表示するには、Tablixコントロールを使用します。

  • ツールボックスからTablixコントロールををドラッグしてページの左上隅にドロップします。Tablixウィザードが表示されます。
  • Tablixウィザードでは、**[データセット]リストの[Sales]**ノードを展開します。
  • **[StoreKey]フィールドを[行グループ]**領域にドラッグ&ドロップします。
  • **[SaleYear]フィールドを[列グループ]**領域にドラッグ&ドロップします。
  • **[SalesAmount]フィールドを[値]**領域にドラッグ&ドロップします。
  • [Count (SalesAmount)]項目の右側にあるΣアイコンをクリックし、ドロップダウンリストから**「Sum」**を選択します。
  • Σの横にあるスパナアイコンをクリックし、ドロップダウンリストから**「Currency」**を選択します。
  • **[レイアウトオプション]領域の[合計]タブにある[行グループの合計]および[列グループの合計]**チェックボックスをクリックします。
  • **[OK]**ボタンをクリックします。

この設定により、Tablixは一意の店舗キーごとに行を生成し、販売年ごとに列を生成します。また、それらの交差部分に合計を表示します。また、追加の行と列には、各店舗と各年の総計が表示されます。

値と合計を設定する方法を見る

レポートをプレビューし、パラメータパネルでさまざまな販売チャネルを選択すると、レポートには選択したチャネルのみの集計データが表示されます。ただし、Tablixデータ領域のサイズを調整する必要があります。

Tablixの行の書式を設定する

次の手順に従って、Tablixの行の書式を設定します。

  • デザイン面に戻り、Tablix内の任意の場所をクリックして、列と行のハンドラを表示します。
  • Ctrl(Windows)またはCmd(Mac OS)キーを押しながら、各行ハンドラをクリックしてすべての行を選択します。
  • [プロパティ]ウィンドウで、選択した行の**[高さ]プロパティを「0.3in」**に設定します。
  • [プロパティ]ウィンドウの**[TEXTBOX]**タブに切り替え、選択した列のすべてのセルのプロパティを変更できます。
  • **[罫線]セクションの[幅]プロパティを「0.25pt」**に設定します。
  • **[罫線]セクションの[スタイル]プロパティを「Solid」**に設定します。
  • **[罫線]セクションの[色]プロパティを「Gainsboro」**に設定します。   
  • **[テキスト]セクションの[垂直方向の整列]プロパティを「Middle」**に設定します。
Tablixデータ領域の行の書式を設定する方法を見る

  • 同様に、最初と3番目の行ハンドラをクリックして、行を選択します。
  • [プロパティ]ウィンドウの**[TEXTBOX]**タブに切り替えます。
  • **[テキスト]セクションの[太さ]プロパティを「Bold」**に設定します。
  • Tablixの最初の行を選択します。
  • [プロパティ]ウィンドウの**[TEXTBOX]**タブに切り替えます。
  • **[背景]セクションの[背景色]プロパティを「#f7f7f7」**に設定します。

Tablixの列の書式を設定する

次の手順に従って、Tablixの列の書式を設定します。

  • 最初の列ハンドラをクリックし、[プロパティ]ウィンドウで**[幅]プロパティを「2in」**に設定します。
  • [プロパティ]ウィンドウの**[TEXTBOX]**タブに切り替えます。
  • **[レイアウト]セクションの[パディング]プロパティの右側にあるアイコンをクリックし、[← 左]プロパティを「6pt」**に設定します。
  • 最後の列ハンドラをクリックします。
  • **[テキスト]セクションの[太さ]プロパティを「Bold」**に設定します。
  • **[水平方向の整列]プロパティを「Right」**に設定します。
Tablixデータ領域の列の書式を設定する方法を見る

レポートをプレビューし、任意の販売チャネルを選択すると、レポートが正確に表示されていることを確認できます。

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

Tablix行の最初の列のStoreKeyはあまり情報を伝えないため、代わりに店舗名を表示します。SalesデータセットにはStoreNameフィールドが含まれないが、Storesデータセットには含まれます。Lookup関数を使用して、StoreKeyによって店舗名を表示します。

  • デザイン面に戻ります。
  • 2行目の最初の列にあるセルをダブルクリックします。**「」**テキストが表示されます。
  • このテキストを**「{Lookup(StoreKey, StoreKey, StoreName, "Stores")}」に置き換えます。この関数は、現在のスコープで最初の引数としてStoreKeyを受け取り、Storesデータセットで同じStoreKeyの値を持つ行を検索し、対応するStoreName**の値を返します。

同様に、選択した販売チャネルの名前をTablixのコーナー領域に表示できます。

  • 最初の行の最初の列のセルをダブルクリックします。**「Store Key」**というテキストが表示されます。
  • このテキストを**「Annual {Lookup(@SalesChannel, ChannelKey, ChannelName, "Channels")} Sales」に置き換えます。Lookup関数は、最初の引数として現在のSalesChannelパラメータの値を受け取り、Channelsデータセットで同じChannelKeyの値を持つ行を検索し、対応するChannelName**の値を返します。この式は、プレビューする時にAnnual Online Sales(年間オンライン売上高)のような値を表示します。
Lookup関数を使用して、店舗名とチャネル名を追加する方法を見る

レポートをプレビューし、任意の販売チャネルを選択し、出力をプレビューすると、販売チャネル名と店舗名の両方が表示されます。

Tablixの列を並べ替える

Online販売チャネルを選択した場合、プレビューではTablixの列が2008年、2007年、2009年の順に表示されます。本問題は、Tablixの列に並べ替えを適用することで解決できます。

  • デザイン面に戻り、Tablix内の任意の場所をクリックします。
  • ツールバーの左側にあるハンバーガーメニューを使用して、ツールボックスを展開します。
  • グループエディタを選択します。エディタには、Tablixのグループ構成が階層構造で表示され、Tablixのグループのプロパティを変更できます。
  • 列グループより**[Tablix1_SaleYear_グループ]**を選択しします。
  • **[プロパティ]ウィンドウでは、[並べ替えの式]プロパティの右側の[項目の表示]**アイコンをクリックします。
  • 新しく追加された並べ替えの式の右側のアイコンをクリックし、表示されるリストから**「SaleYear」**を選択します。
Tablixの列を並べ替える方法を見る

レポートをプレビューすると、Tablixの列が正しく並べ替えられることを確認できます。