サンプル : ReportViewer 用 Web Log Analyzer

Download sample

Web Log Analyzer サンプルは、Microsoft Internet Information Server (IIS) などの Web サーバーで作成されたログ ファイルを分析する Windows フォーム アプリケーションです。このサンプルには、ページ ヒット数、サーバー アクティビティ、他のサイトからの照会などに関する統計を示すレポートが含まれています。

Web Log Analyzer を使用すると、分析に含めるファイルを設定できます。Web サーバーによって生成されるログ ファイルを選択して、特定のファイルの種類を除外できます。

このサンプルは Visual Basic で使用できます。使用しているコンピュータにすべてのサンプル ファイルをコピーするには、ページ上部の [ディスク] ボタンをクリックします。単一のファイルを表示するには、ファイル名を選択し、[表示] ボタンをクリックします。このページからは直接表示できないサンプル ファイルもあります。フォルダ内にあるサンプル ファイルはこの一覧に表示されません。

このトピックでは、サンプルの実行方法と変更方法について説明します。また、レポート内のテーブルを変更する手順についても説明します。テーブルは複数の部分で構成されています。それぞれに独自のプロパティとアクションがあります (たとえば、列を追加するには隣接する列を選択する必要があります)。テーブルの詳細については、「テーブル データ領域の追加 (Visual Studio レポート デザイナ)」を参照してください。その他のサンプルと開発者向けチュートリアルの詳細については、「サンプルとチュートリアル」を参照してください。

[!メモ]

MainForm.vb を開く前に、必ずアプリケーションをビルドしてください。

サンプルを実行するには

  1. Visual Studio 2008 で WebLogAnalyzer.sln を開きます。

  2. F5 キーを押してサンプルをコンパイルし、実行します。アプリケーションが起動すると、プロジェクトに含まれているサンプル ログ ファイルが分析され、その結果がテーブルとグラフの形式で表示されます。コンピュータから別のログ ファイルを使用して、実際のデータを表示できます。

  3. Web Log Analyzer で [ファイル] メニューの [ログ ファイルを開く] をクリックします。既定では、Web のログは C:\Windows\System32\LogFiles\W3SVC1 に保存されています。

  4. ログ ファイルの入っているフォルダを選択し、[OK] をクリックします。選択したフォルダ内のすべてのログ ファイルが読み込まれ、データが分析されて、結果が表示されます。

  5. (省略可) 分析しないファイルの種類を除外することもできます (画像ファイル、スタイルシートなど)。特定のファイルの種類を除外するには、[表示] メニューの [無視するファイル] をクリックします。ダイアログ ボックスで、除外するファイルの拡張子をコンマで区切って入力します。[OK] をクリックします。レポートを更新するには、[ファイル] メニューの [ログ ファイルを開く] をクリックして、ログ ファイルを再び開きます。

    ReportViewer ツール バーのオプションを使用して、印刷、検索、ページ移動などの操作方法を確認してください。メイン レポートには、レポートの特定のセクションに移動するための見出しマップが含まれています。見出しマップは ReportViewer ツール バーから開くことができます。

タイトル バーに表示されるテキストを変更するには

  1. ソリューション エクスプローラMainForm.vb を右クリックし、[ビュー デザイナ] をクリックします。

  2. [プロパティ] ウィンドウのドロップダウン リストで MainForm が選択されていることを確認し、Text プロパティの値を見つけて変更します。たとえば、"Web Log Analyzer" を "<会社名> Web Log Analyzer" に変更してテキストをカスタマイズします。

  3. Enter キーを押すと、フォームの Text プロパティが変更されます。フォームのタイトル バーが新しいテキストに変わったことを確認します。

グラフに 3D 効果を加えるには

  1. ソリューション エクスプローラで、MainReport.rdlc をダブルクリックしてレポートを開きます。

  2. グラフを右クリックし、[プロパティ] をクリックします。

  3. [グラフのプロパティ] ダイアログ ボックスで [3D 効果] タブを表示します。

  4. [3-D 視覚効果を適用したグラフを表示する] を選択します。

  5. スライダを使用して 3D グラフを回転します。

  6. [OK] をクリックしてダイアログ ボックスを閉じます。

グラフの横棒の色を変更するには

  1. ソリューション エクスプローラで、MainReport.rdlc をダブルクリックしてレポートを開きます。

  2. グラフを右クリックし、[プロパティ] をクリックします。

  3. [データ] タブを表示して、[値] の一覧の隣にある [編集] ボタンをクリックします。

  4. [グラフの値を編集] ダイアログ ボックスで、[外観] タブを表示します。

  5. [系列スタイル] ボタンをクリックして、[スタイルのプロパティ] ダイアログ ボックスを開きます。

  6. [塗りつぶし] タブを表示して、別の色を選択します。

最も人気のあるページの表示数を変更するには

  1. ソリューション エクスプローラで、MainReport.rdlc をダブルクリックします。

  2. "Most popular pages" というタイトルのテーブルをクリックします。テーブルのさまざまなセレクタが表示されます。

  3. 詳細行の行セレクタを右クリックし、[グループの編集] をクリックします。

  4. [グループ化の詳細] ダイアログ ボックスで、[フィルタ] タブをクリックします。最初のフィルタの [値] 列に、表示する行数を入力します。値をテキスト文字列ではなく数字として解釈するようにするには、値の先頭に等号 (=) を付けてください。

自分の Web サイトを最も頻繁に照会するサイトを表示するには

  1. ソリューション エクスプローラで、LogFileEntry.vb をダブルクリックします。

  2. LogFileEntry クラスを探して、Referrer プロパティを追加します。

    Public ReadOnly Property Referrer() As String
        Get
            Return m_referrer
        End Get
    End Property
    
  3. [ビルド] メニューの [WebLogAnalyzer のビルド] をクリックしてエラーがないことを確認します。

  4. ソリューション エクスプローラで、Reports フォルダを展開して MainReport.rdlc をダブルクリックします。

  5. レポートの一番下までスクロールして、本文の終わりの端を上にドラッグして新しいテーブルのスペースを作ります。

  6. ツールボックスからレポートにテーブルをドラッグします。

  7. 既定ではテーブルに 3 列あります。不要な最後の列は削除できます。最後の列の列見出しを右クリックし、[削除] をクリックします。

  8. データが収まるように列のサイズを調整します。列の罫線をドラッグするとサイズを調整できます。2 列目には数字が入るので、列の幅を狭くします。テーブルの残りのスペースを使用するように最初の列の幅を広げます。

  9. [データ] メニューの [データ ソースの表示] をクリックします。[データ ソース] ウィンドウに LogFileEntry クラスのパブリック プロパティが表示されます。新しく追加した Referrer プロパティも表示されています。

  10. [データ ソース] ウィンドウから、テーブルの最初の列の詳細行に Referrer プロパティをドラッグします (詳細行は中央の行です)。ヘッダー行に既定の列ヘッダーが自動的に入力されます。

  11. 詳細行の行セレクタを右クリックし、[グループの編集] をクリックします。

  12. [グループ化の詳細] ダイアログ ボックスで、テーブルのグループの最初の行をクリックします。ドロップダウン リストから、=Fields!Referrer.Value を選択します。

  13. [グループ化の詳細] ダイアログ ボックスで、[フィルタ] タブを表示します。Expression 列で、「=CountRows()」と入力します。[演算子] 列で、[Top N] を選択します。[値] 列で、「=10」と入力し、[OK] をクリックしてダイアログ ボックスを閉じます。

  14. テーブルの 2 番目の列で、ヘッダー行に「Referrals」と入力し、詳細行に「=CountRows()」と入力します。

  15. テーブル セレクタを右クリックし、[プロパティ] をクリックします。

  16. [テーブルのプロパティ] ダイアログ ボックスで、[並べ替え] タブを表示します。[式] 列に「=CountRows()」と入力し、[方向] 列で [Descending] を選択します。

  17. 特定の照会元を除外することもできます (自分のサイトなど)。[テーブルのプロパティ] ダイアログ ボックスで、[フィルタ] タブを表示します。[式] 列に「=Fields!Referrer.Value.StartsWith("http://mysite")」と入力します ("http://mysite" は自分のサイトの URL に置き換えてください)。[演算子] 列で、[=] を選択します。[値] 列に「=false」と入力します。

  18. 必要に応じて、[プロパティ] ウィンドウでヘッダー行、詳細行、およびテーブルのフォント、色、罫線を指定できます。

  19. アプリケーションをビルドして変更内容を確認します。

必要条件

Microsoft Visual Studio 2008 と Visual Basic コンパイラを使用する必要があります。

IIS の Web ログには、レポートに使用するデータが含まれています。サンプルには、サンプルを実行するための静的なデータ ファイルが含まれています。Web サーバーからログ ファイルを使用する場合は、IIS のインスタンスにアクセスできる必要があります。

使用例

ソース コードは、次の手順を示します。

  1. グラフ、テーブル、見出しマップなどを含む、クライアントのレポート定義ファイル (.rdlc) の作成

  2. Windows フォーム内からレポートを実行する ReportViewer コントロールの作成

  3. ReportViewer クラスの ReportRefresh メソッドと Drillthrough メソッドの使用

  4. ReportViewer クラスの LocalReport メソッドと DocumentMapCollapsed メソッドの使用

  5. LocalReport クラスの DataSources の使用

  6. Report クラスの GetDocumentMap メソッドの使用