【案例分享】專案施工進度報告 - 樹形報表

77rou發表於2017-07-12

樹形分組(也稱逐級展開或鑽取)是統計報表中常見的一種功能和樣式,常利用樹形報表實現維度鑽取功能,逐級檢視更細粒度的指標資料,那麼如何根據維度層次和最細粒度的指標資料,彙總生成這樣一個樹形結構報表統計報表呢?

下面將使用葡萄城報表 Table 控制元件實現樹形結構報表,並設定進度條顯示功能。

一、報表模板

二、資料來源結構

三、實現思路

1. 使用Table控制元件,按照級別欄位分組;

2. 對不同級別的資料,新增縮排

3. 設定隱藏或展開狀態

四、報表實現

1. 新建RDL 報表模板

2. 新增資料來源和資料集

3. 新增 Table 控制元件

3.1 繫結資料欄位

3.2 繫結資料欄位

3.2.1 選中“Table”,在屬性視窗中,選擇“屬性對話方塊”

3.2.2 選擇“詳細資料分組”標籤,輸入表示式:=【編號】;上級分組:=【上級編號】;點選確定。

設定“可見性”選擇“可見性可以通過其他報表元素進行切換”,輸入TextBoxName:TextBox4;

3.2.4 選中“專案名稱”單元格,設定“Padding”的Left 屬性值為:=2 + (Level() * 20) & "pt"


4. 設定進度條

4.1 新增區間顏色函式(如果專案進度<0.2 則表示緊急,顯示為紅色標識等)

4.1.1 選中 “指令碼”選項,輸入以下程式碼:

Function GetColor(ByVal value As Double) As String
    If(value < 0.2) Then
        Return "Red" ElseIf(value < 0.4) Then
        Return "#F37A5A" ElseIf(value < 0.6) Then
        Return "#FFE022" ElseIf(value < 0.8) Then
        Return "#B5E610" Else
        Return "#00B338" End If
End Function

4.2 新增Image 控制元件。

為“計劃完成進度”和“實際完成進度”單元格,新增Image 控制元件,將Image 控制元件直接拖拽到單元格中

4.2.1 為 Image 設定值

1. 設定 Source屬性為”Database”

2. 設定Value 屬性為“=DataBar(Fields!計劃完成進度.Value,0,1,0,Code.GetColor( Fields!計劃完成進度.Value))

 

5. 設定進度條

5.1 新增行號指令碼程式碼

Private Dim Counter As Integer = 0 Public Function GetCounter() As Integer
    Me.Counter = Me.Counter + 1 return Me.Counter
End Function

5.2 設定單元格值為:=Code.GetCounter()

 

6. 調整一下字型和顯示樣式

最終效果

轉載請註明出自:葡萄城報表

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28298702/viewspace-2141943/,如需轉載,請註明出處,否則將追究法律責任。

相關文章