範例:ReportViewer 的 Web 記錄分析器

Download sample

Web 記錄分析器範例是一個分析 Web 伺服器 (如 Microsoft Internet Information Server (IIS)) 所建立之記錄檔的 Windows Form 應用程式。其中包括顯示網頁拜訪人數、伺服器活動以及從其他網站轉介等統計資料的報表。

Web 記錄分析器包括用來設定分析所包括之檔案的功能。您可以選取 Web 伺服器所產生的記錄檔及篩選特定檔案類型。

您可以在 Visual Basic 中使用這個範例。若要將所有範例檔案複製到電腦上,請按一下頁面最上方的 [磁碟] 按鈕。若要檢視單一檔案,請選取檔案名稱,然後按一下 [檢視] 按鈕。不是所有範例檔都能夠直接從這個頁面來檢視。資料夾內的範例檔不會出現在清單中。

這個主題說明如何執行和修改範例。它也包括修改報表中之資料表的選擇性指示。資料表是由多個部份組成。每個部份都有它自己的屬性和動作 (例如,若要加入資料行,您必須選取相鄰的資料行)。若要進一步了解資料表,請參閱 加入資料表資料區域 (Visual Studio 報表設計工具)。如需有關其他範例和開發人員逐步解說的詳細資訊,請參閱範例和逐步解說

Note附註

在開啟 MainForm.vb 之前,請務必先建置應用程式。

若要執行範例

  1. 在 Visual Studio 2008 中開啟 WebLogAnalyzer.sln。

  2. 按 [F5] 來編譯和執行範例。當應用程式啟動時,會分析專案所包含的一個範例記錄檔,且會以資料表和圖表格式來顯示結果。您可以利用電腦的不同記錄檔來檢視實際的資料。

  3. 在 Web 記錄分析器中,從 [檔案] 功能表選取 [開啟記錄檔]。根據預設,Web 記錄會儲存在 C:\Windows\System32\LogFiles\W3SVC1 目錄中。

  4. 選取記錄檔所在的資料夾,再按一下 [確定]。應用程式會讀取所選資料夾中的所有記錄檔、分析資料,以及顯示結果。

  5. (選擇性) 您可以篩選出您不想要分析的檔案類型 (例如影像檔案和樣式表)。若要這樣做,請移至 [檢視] 功能表,並選取 [忽略檔案]。在對話方塊中,輸入要忽略的副檔名清單 (以逗號分隔)。按一下 [確定]。若要重新整理報表,請重新開啟記錄檔,其方式是從 [檔案] 功能表選取 [開啟記錄檔]。

    請嘗試 ReportViewer 工具列的各個選項,以了解列印、搜尋和頁面導覽的方式。主要報表包括用來導覽至特定報表區段的文件引導模式。您可以利用 ReportViewer 工具列來開啟文件引導模式。

若要變更標題列所顯示的文字

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 MainForm.vb,然後選擇 [檢視表設計工具]。

  2. 在 [屬性] 視窗中,確定已從下拉式清單中選取 MainForm,然後尋找及變更 [文字] 屬性的值。例如,將「Web 記錄分析器」變更為「<貴公司的名稱> Web 記錄分析器」來自訂文字。

  3. 當您按下 ENTER 鍵時,表單的 [文字] 屬性會變更。請注意,表單的標題列會反映新的文字。

若要在圖表中加入 3D 效果

  1. 在 [方案總管] 中,按兩下 MainReport.rdlc 開啟報表。

  2. 以滑鼠右鍵按一下圖表,選取 [屬性]。

  3. 在 [圖表屬性] 對話方塊中,切換到 [3D 效果] 索引標籤。

  4. 選取 [顯示含 3D 視覺化效果的圖表]。

  5. 利用滑桿來旋轉 3D 圖表。

  6. 按一下 [確定] 來關閉對話方塊。

若要變更圖表中橫條的色彩

  1. 在 [方案總管] 中,按兩下 MainReport.rdlc 開啟報表。

  2. 以滑鼠右鍵按一下圖表,選取 [屬性]。

  3. 切換到 [資料] 索引標籤,然後按一下 [值] 清單旁邊的 [編輯] 按鈕。

  4. 在 [編輯圖表數值] 對話方塊中,切換到 [外觀] 索引標籤。

  5. 按一下 [序列樣式] 按鈕,開啟 [樣式屬性] 對話方塊。

  6. 切換到 [填滿] 索引標籤,並選取新的色彩。

若要變更所顯示最受歡迎的頁數

  1. 在 [方案總管] 中,按兩下 MainReport.rdlc

  2. 按一下 "Most popular pages" 標題下的資料表。此時資料表的各種選取器都會成為可見。

  3. 以滑鼠右鍵按一下詳細資料列的資料列選取器,選取 [編輯群組]。

  4. 在 [詳細資料群組] 對話方塊中,選取 [篩選] 索引標籤。在第一個篩選的 [值] 資料行中,輸入要顯示的資料列數目。請注意,此值必須以等號 (=) 開頭,才能解譯為數字,而不是文字字串。

若要顯示網站頻率最高的轉介者

  1. 在 [方案總管] 中,按兩下 LogFileEntry.vb

  2. 尋找 LogFileEntry 類別並加入 Referrer 屬性:

    Public ReadOnly Property Referrer() As String
        Get
            Return m_referrer
        End Get
    End Property
    
  3. 從 [建置] 功能表按一下 [建置 WebLogAnalyzer],確定沒有任何錯誤。

  4. 在 [方案總管] 中,展開報表資料夾,並按兩下 MainReport.rdlc

  5. 捲到報表的底端,再將報表主體的下緣向上拖曳,將空間讓給新資料表。

  6. 從 [工具箱] 將資料表拖曳到報表上。

  7. 依預設,這份資料表會有三個資料行。您可以刪除最後一個資料行,因為它並非必要。請以滑鼠右鍵按最後一個資料行的資料行標題,再按一下 [刪除]。

  8. 調整資料行大小來配合資料。您可以拖曳資料行框線來調整它的大小。請縮小第二個資料行的寬度;它只需要容納一個數字。您可以加寬第一個資料行來使用資料表中的其餘空間。

  9. 在 [資料] 功能表上,選取 [顯示資料來源]。[資料來源] 視窗會顯示 LogFileEntry 類別的公用屬性。請注意,新加入的 Referrer 屬性也是可見的。

  10. 從 [資料來源] 視窗,將 Referrer 屬性拖曳到資料表中第一個資料行的詳細資料列上 (詳細資料列是中間的資料列)。請注意,標頭資料列會自動填入預設資料行標頭。

  11. 以滑鼠右鍵按一下詳細資料列的資料列選取器,選取 [編輯群組]。

  12. 在 [詳細資料群組] 對話方塊中,按一下資料表上 [群組] 的第一個資料列。請從下拉式清單中,選取 =Fields!Referrer.Value

  13. 在 [詳細資料群組] 對話方塊中,切換至 [篩選] 索引標籤。在 [運算式] 資料行中,輸入 =CountRows()。在 [運算子] 資料行中,選取 [Top N]。在 [值] 資料行中,輸入 =10,再按一下 [確定] 關閉對話方塊。

  14. 在資料表第二個資料行的首頁資料列中,輸入 Referrals,在詳細資料列中,輸入 =CountRows()

  15. 以滑鼠右鍵按一下資料表選取器,選取 [屬性]。

  16. 在 [資料表屬性] 對話方塊中,切換到 [排序] 索引標籤。在 [運算式] 資料行中,輸入 =CountRows(),並在 [方向] 資料行中選擇 [遞減]。

  17. 另外,您也可以選擇性地篩選特定轉介者,如您自己的網站。在 [資料表屬性] 對話方塊中,切換到 [篩選] 索引標籤。在 [運算式] 資料行中,輸入 =Fields!Referrer.Value.StartsWith("http://mysite") (以您的網站 URL 來取代 "http://mysite")。在 [運算子] 資料行中,選擇 =。在 [值] 資料行中,輸入 =false

  18. 您可以選擇在 [屬性] 視窗中,針對標頭和詳細資料列及資料表指定字型、色彩和框線。

  19. 建立應用程式來檢視您的變更。

需求

您必須有 Microsoft Visual Studio 2008,且包含 Visual Basic 編譯器。

IIS 的 Web 記錄會提供報表所用的資料。範例包括靜態資料檔,供您執行範例。如果您要使用 Web 伺服器的記錄檔,您必須能夠存取 IIS 執行個體。

示範

原始程式碼示範:

  1. 建立用戶端報表定義檔案 (.rdlc),其中包括圖表、資料表、文件引導模式及其他。

  2. 建立 ReportViewer 控制項 (此控制項會從 Windows Form 執行報表)。

  3. 使用 ReportViewer 類別的 ReportRefreshDrillthrough 方法。

  4. 使用 ReportViewer 類別的 LocalReportDocumentMapCollapsed 屬性。

  5. 使用 LocalReport 類別的 DataSources

  6. 使用 Report 類別的 GetDocumentMap 方法。