次の方法で共有


チュートリアル:レポートへのスパークラインの追加 (Report Builder)

このチュートリアルでは、レポート ビルダーを使用して、Reporting Services のページ分割されたレポートにスパークライン グラフを含む基本的なテーブルを作成します。

スパークラインとデータ バーは、小さい領域で大量の情報を伝達する小さい単純なグラフで、多くの場合、Reporting Services レポートで使用されます。 次の図に、このチュートリアルで作成するものと同様のレポートを示します。

レポート ビルダー スパークラインを示すスクリーンショット。

このチュートリアルの推定所要時間:30 分。

必要条件

要件に関する詳細については、「チュートリアルの前提条件 (Report Builder)」を参照してください。

1. テーブルを使用したレポートを作成する

  1. コンピューター、Web ポータル、SharePoint 統合モードのいずれかから レポート ビルダーを起動します Reporting Services 。

    [新しいレポートまたはデータセット] ダイアログ ボックスが開きます。

    [新しいレポートまたはデータセット] ダイアログ ボックスが表示されない場合、[ファイル] メニュー >[新規作成] を選択します。

  2. 左ペインで、 [新しいレポート] が選択されていることを確認します。

  3. 右ペインで、 [テーブルまたはマトリックス ウィザード] をクリックします。

  4. [データセットの選択] ページで、 [データセットを作成する]>[次へ] の順に選択します。 [データ ソースへの接続の選択] ページが開きます。

    Note

    このチュートリアルでは、特定のデータは必要ありません。SQL Server データベースへの接続だけが必要です。 [データ ソース接続] の一覧に既にデータ ソース接続が表示されている場合は、データ ソース接続を選択して手順 10 に進みます。 詳細については、「別の方法でデータ接続を取得する (Report Builder)」を参照してください。

  5. 新規を選択します。 [データ ソースのプロパティ] ダイアログ ボックスが表示されます。

  6. [名前] に、データ ソースの名前として「Product Sales」と入力します。

  7. [接続の種類の選択] で、 [Microsoft SQL Server] が選択されていることを確認します。

  8. [接続文字列] に次のテキストを入力します。

    Data Source\=<servername>

    <servername>には、たとえば Report001 など、SQL Server データベース エンジンのインスタンスがインストールされているコンピューターを指定します。 レポート データは SQL Server のデータベースから抽出されるものではないので、データベース名を含める必要はありません。 指定したサーバー上の既定のデータベースを使用して、クエリが解析されます。

  9. [Credentials](資格情報) を選択します。 外部データ ソースへのアクセスに必要な資格情報を入力します。

  10. [OK] を選択します。

    [データ ソースへの接続の選択] ページに戻ります。

  11. データ ソースに接続できることを確認するために、[接続テスト] を選択します。

    "接続が正常に作成されました" というメッセージが表示されます。

  12. [OK] を選択します。

  13. [次へ] を選択します。

2. テーブルウィザードでクエリおよびテーブルレイアウトを作成する

レポートでは、クエリが事前に定義された共有データセットを使用するか、そのレポートでのみ使用する埋め込みデータセットを作成できます。 このチュートリアルでは、埋め込みデータセットを作成します。

Note

このチュートリアルのクエリにはデータ値が含まれているため、外部データ ソースを必要としません。 このため、クエリが非常に長くなっています。 ビジネス環境でクエリにデータを含めることはありません。 これは、学習に使用することのみを目的としています。

テーブルウィザードでクエリおよびテーブルレイアウトを作成する

  1. [クエリのデザイン] ページでは、リレーショナル クエリ デザイナーが開きます。 このチュートリアルでは、テキストベースのクエリ デザイナーを使用します。

  2. [テキストとして編集] を選択します。 テキスト ベースのクエリ デザイナーは、クエリ ペインと結果ペインで構成されています。

  3. [クエリ] ボックスに次の Transact-SQL クエリを貼り付けます。

    SELECT CAST('2015-01-04' AS date) as SalesDate, 'Accessories' as Subcategory,   
       'Carrying Case' as Product, CAST(16996.60 AS money) AS Sales, 68 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Accessories' as Subcategory,  
       'Carrying Case' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2015-01-10' AS date) as SalesDate, 'Accessories' as Subcategory,  
       'Carrying Case' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity  
    UNION SELECT CAST('2015-01-04' AS date) as SalesDate, 'Accessories' as Subcategory,  
       'Budget Movie-Maker' as Product, CAST(1056.00 AS money) AS Sales, 44 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'Accessories' as Subcategory,  
       'Slim Digital' as Product, CAST(1380.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,'Accessories' as Subcategory,    
       'Budget Movie-Maker' as Product, CAST(780.00 AS money) AS Sales, 26 as Quantity  
    UNION SELECT CAST('2015-01-07' AS date) as SalesDate, 'Accessories' as Subcategory,   
       'Budget Movie-Maker' as Product, CAST(3798.00 AS money) AS Sales, 9 as Quantity  
    UNION SELECT CAST('2015-01-08' AS date) as SalesDate, 'Camcorders' as Subcategory,   
       'Budget Movie-Maker' as Product, CAST(10400.00 AS money) AS Sales, 13 as Quantity  
    UNION SELECT CAST('2015-01-09' AS date) as SalesDate, 'Camcorders' as Subcategory,   
       'Budget Movie-Maker' as Product, CAST(3000.00 AS money) AS Sales, 60 as Quantity  
    UNION SELECT CAST('2015-01-10' AS date) as SalesDate,  'Digital' as Subcategory,   
       'Budget Movie-Maker' as Product, CAST(7234.50 AS money) AS Sales, 39 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'Digital' as Subcategory,   
       'Carrying Case' as Product, CAST(10836.00 AS money) AS Sales, 84 as Quantity  
    UNION SELECT CAST('2015-01-07' AS date) as SalesDate,  'Digital' as Subcategory,   
       'Slim Digital' as Product, CAST(2550.00 AS money) AS Sales, 17 as Quantity  
    UNION SELECT CAST('2015-01-04' AS date) as SalesDate, 'Digital' as Subcategory,   
       'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity  
    UNION SELECT CAST('2015-01-08' AS date) as SalesDate, 'Digital SLR' as Subcategory,   
       'Slim Digital' as Product, CAST(18530.00 AS money) AS Sales, 34 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Digital SLR' as Subcategory,   
       'Slim Digital' as Product, CAST(26576.00 AS money) AS Sales, 88 as Quantity  
    
  4. クエリ デザイナーのツール バーで、[実行 (!)] を選択します。

    SalesDateSubcategoryProductSales、および Quantityの各フィールドを取得するクエリが実行され、結果セットが表示されます。

  5. [次へ] を選択します。

  6. [フィールドの配置] ページで、 Sales[値] にドラッグします。

    Sales は Sum 関数を使用して集計されます。 値は [Sum(Sales)] です。

  7. Product[行グループ] にドラッグします。

  8. SalesDate[列グループ] にドラッグします。

    フィールドを配置する方法を示すスクリーンショット。

  9. [次へ] を選択します。

  10. [レイアウトの選択] ページの [オプション] で、 [小計と総計を表示] が選択されていることを確認します。

    ウィザードのプレビュー ペインに、3 行を含むテーブルが表示されます。 レポートを実行すると、各行は次のように表示されます。

    • 1 行目はテーブルで 1 回表示され、列見出しを示します。

    • 2 行目は製品ごとに 1 回表示され、製品名、1 日あたりの合計、および行の合計を示します。

    • 3 行目のテーブルで 1 回表示され、総計を示します。

    レイアウトの選択方法を示すスクリーンショット。

  11. [次へ] を選択します。

  12. [完了] を選択します。

  13. テーブルがデザイン画面に追加されます。 テーブルには 3 列および 5 行が含まれています。

    グループ化ペインを確認します。 グループ化ウィンドウが表示されない場合、[表示] メニューの [グループ化] を選択します。 行グループ ペインには 1 つの行グループProduct が表示されます。 列グループ ペインには 1 つ列グループSalesDate が表示されます。 詳細データは、データセットクエリによって取得されるすべてのデータです。

    レポート ビルダーのグループ化ペインを示すスクリーンショット。

  14. [実行] を選択してレポートをプレビューします。

2a. データを通貨として書式設定する

既定では、 Sales フィールドの集計データは通常の数値として表示されます。 このフィールドを書式設定して、数値を通貨として表示します。 書式設定したテキスト ボックスおよびプレースホルダー テキストのサンプル値を表示するには、 [プレースホルダーのスタイル] の設定を切り替えます。

  1. デザイン ビューに切り替えるには、[デザイン] を選択します。

  2. [SalesDate] 列の 2 行目 (列見出しの次の行) のセルを選択します。 Ctrl キーを押しながら、[Sum(Sales)] を含むすべてのセルを選択します。

    売上合計を選択する方法を示すスクリーンショット。

  3. [ホーム] タブの >[数値] グループで、[通貨] を選択します。 書式設定された通貨を表示するようにセルが変化します。

    プレースホルダーの通貨の値で置き換えられた売上を示すスクリーンショット。

    地域設定が英語 (米国) の場合、既定のサンプル テキストは [$12,345.00] です。 通貨値の例が表示されない場合は、[数値] グループで、[プレースホルダーのスタイル]>[サンプルの値] の順に選択します。

    [サンプルの値] オプションが選択されていることを示すスクリーンショット。

2b. (オプション) データを日付として書式設定する

既定では、 SalesDate フィールドには日付と時刻の情報が表示されます。 このフィールドを書式設定して、日付のみを表示できます。

  1. [SalesDate]が格納されたセルを選択します。

  2. [ホーム] タブで、[数値] グループ > [日付] の順に選択します。

    セルに、日付の例として [2000/1/31] と表示されます。

  3. [実行] を選択してレポートをプレビューします。

SalesDate の値は既定の日付形式で表示され、 Sales の集計値は通貨の形式で表示されます。

3. スパークラインを追加する

  1. [デザイン] を選択してデザイン ビューに戻ります。

  2. テーブルの合計列を選択します。

  3. 右クリックをします。 [列の挿入] をポイントし、[左] を選択します。

    左の列を挿入する方法を示すスクリーンショット。

  4. 新しい列の [Product] 行のセルを右クリックし、[挿入][スパークライン] の順にクリックします。

    スパークラインを挿入する方法を示すスクリーンショット。

  5. [スパークラインの種類を選択] で、[列] 行の最初のスパークラインが選択されていることを確認してから、[OK] を選択します。

  6. スパークラインを選択して、グラフ データ ペインを表示します。

  7. [値] ボックスのプラス記号 (+) を選択してから、[Sales] を選択します。

    レポート ビルダー スパークラインに値を追加する方法を示すスクリーンショット。

    Sales フィールドの値がスパークラインの値になります。

  8. [カテゴリ グループ] ボックスのプラス記号 (+) を選択してから、[SalesDate]を選択します。

  9. [実行] を選択してレポートをプレビューします。

    スパークライン グラフ内のバーが揃っていません。 データの 2 行目のバーは 4 本しかないので、バーが 6 本ある最初の行のバーよりも太くなっています。 1 日あたりの各製品の値を比較できません。 整列する必要があります。

    また、どの行も、最も高いバーが行の高さになっています。 この外観では、各行の最大値は同じではないので、誤解を招きます。たとえば、Budget Movie-Maker の最大の値は 10,400 ドルですが、Slim Digital の最大の値は 26,576 ドルで 2 倍以上あります。 ところが、これらの 2 つの行の最も高いバーはほぼ同じ高さになっています。 すべてのスパークラインで、同じスケールを使用する必要があります。

    揃っていないレポート ビルダー スパークラインを示すスクリーンショット。

4. スパークラインを垂直方向および水平方向に揃える

スパークラインは、測定方法が異なると、読み取りにくくなります。 各スパークラインの縦軸と横軸は、残りのスパークラインと一致させる必要があります。

  1. [デザイン] を選択してデザイン ビューに戻ります。

  2. スパークラインを右クリックし、[縦軸のプロパティ] を選択します。

  3. [軸を整列する] チェック ボックスをオンにします。 Tablix1 は、リスト内の唯一のオプションです。

    このオプションによって、各スパークラインのバーの高さが相対的に設定されます。

  4. [OK] を選択します。

  5. スパークラインを右クリックし、[横軸のプロパティ] を選択します。

  6. [軸を整列する] チェック ボックスをオンにします。 Tablix1 は、リスト内の唯一のオプションです。

    このオプションによって、各スパークラインのバーの幅が相対的に設定されます。 あるスパークラインで他のスパークラインよりバーの数が少ない場合は、そのスパークラインのデータがない位置は空白のスペースになります。

  7. [OK] を選択します。

  8. [実行] を選択してレポートを再度プレビューします。

これで、各スパークライン内のすべてのバーが、他のスパークライン内のバーと揃えられ、高さが相関的になりました。

揃っているレポート ビルダー スパークラインを示すスクリーンショット。

7. (オプション) 列幅を変更する

テーブルの各セルには、既定でテキスト ボックスが含まれます。 テキスト ボックスは、ページを表示するときにテキストに合わせて垂直方向に拡張されます。 表示されるレポートでは、各行がその行で最も高いテキスト ボックスの高さに拡張されます。 デザイン サーフェイスの行の高さは、表示されるレポートの行の高さには影響しません。

各行の垂直方向の領域を小さくするには、列の幅を広げ、列で想定されるテキスト ボックスの内容が 1 行に収まるようにします。

列の幅を変更する

  1. [デザイン] を選択してデザイン ビューに戻ります。

  2. テーブルを選択し、灰色のバーをテーブルの上部および横に表示します。 これらのバーは、列および行のハンドルです。

  3. 列ハンドルの間の罫線をポイントします。カーソルが 2 方向の矢印の形状に変化します。 たとえば、製品名が 1 行に表示されるように Product 列をドラッグします。

  4. [実行] を選択し、レポートをプレビューして、列の幅が十分に広くなったかどうかを確認します。

8. (オプション) レポートタイトルを追加する

レポート タイトルは、レポートの最上部に表示されます。 レポート ヘッダーがあれば、そこにレポート タイトルを配置します。レポート ヘッダーを使用しない場合は、レポート本文の一番上のテキスト ボックスに配置します。 このチュートリアルでは、自動的にレポート本文の一番上に配置されるテキスト ボックスを使用します。

テキストの語句や文字のフォントのスタイル、サイズ、および色を変更して、テキストをさらに強調することもできます。 詳細については、「ページ分割されたレポートのテキスト ボックス内のテキストの書式設定 (Report Builder)」を参照してください。

レポート タイトルの追加

  1. デザイン サーフェイスで、[選択してタイトルを追加] を選択します。

  2. Sales by Date と入力し、テキスト ボックスの外側を選択します。

  3. Product Salesを含むテキスト ボックスを選択します。

  4. [ホーム] タブで、[フォント] グループ、[色] の順に進み、[青緑] を選択します。

  5. [太字] を選択します。

  6. [OK] を選択します。

9. レポートを保存する

レポートをレポート サーバーまたは自分のコンピューターに保存します。 レポートをレポート サーバーに保存しない場合は、サブレポートなど Reporting Services のいくつかの機能が使用できなくなります。

レポート サーバーにレポートを保存する

  1. レポート ビルダー ボタンで、[名前を付けて保存] を選びます。

  2. [最近使ったサイトとサーバー] を選択します。

  3. レポートを保存する権限があるレポート サーバーの名前を入力するか選択します。

    "レポート サーバーに接続しています" というメッセージが表示されます。 接続が完了すると、レポート サーバー管理者がレポートの既定の場所として指定したレポート フォルダーのコンテンツが表示されます。

  4. [名前] に入力されている既定の名前を「 Product Sales」に置き換えます。

  5. [保存] を選択します。

レポートがレポート サーバーに保存されます。 接続しているレポート サーバーの名前がウィンドウ下部のステータス バーに表示されます。

コンピューターにレポートを保存する

  1. レポート ビルダー ボタンで、[名前を付けて保存] を選びます。

  2. [デスクトップ][マイ ドキュメント] 、または [マイ コンピューター] を選択して、レポートを保存するフォルダーを参照します。

  3. [名前] に入力されている既定の名前を「 Product Sales」に置き換えます。

  4. [保存] を選択します。

次のステップ