Tag Archives: Report Design

以 RS 呈現不同時段不同群組的狀態

朋友的需求,其執行結果如下:

image

寫好的 Sample Code 下載:https://skydrive.live.com/?cid=bf14192bd27975cb&sc=documents#cid=BF14192BD27975CB&id=BF14192BD27975CB%212277&sc=documents 內的 RangeBarChart.zip

其設計畫面:

image

SQL 內的 Sample Code

USE tempdb
CREATE TABLE tbl(BD CHAR(1),StartTime SMALLDATETIME,EndTime SMALLDATETIME, Status NVARCHAR(10))
INSERT tbl VALUES
(‘A’,’20120101 07:00′,’20120101 11:00′,N’Down’),
(‘B’,’20120101 11:00′,’20120101 12:00′,N’改機’),
(‘B’,’20120101 12:00′,’20120101 12:20′,N’Avail’),
(‘B’,’20120101 12:20′,’20120101 12:40′,N’Down’),
(‘B’,’20120101 12:40′,’20120101 13:00′,N’Avail’),
(‘B’,’20120101 13:00′,’20120101 13:30′,N’Down’),
(‘B’,’20120101 13:30′,’20120101 14:00′,N’Avail’),
(‘B’,’20120101 14:00′,’20120101 14:30′,N’Down’),
(‘B’,’20120101 14:30′,’20120101 15:30′,N’Avail’),
(‘C’,’20120101 15:30′,’20120101 18:30′,N’改機’),
(‘C’,’20120101 18:30′,’20120101 19:30′,N’Avail’)

設定資料集

DataSet1:SELECT ROW_NUMBER() OVER (ORDER BY BD,StartTime ) StatusNo,* FROM tbl

DataSet2:SELECT DISTINCT Status FROM  tbl

 

加入範圍橫條圖

image

設定數列值的上/下界值即為欄位值本身,非彙總值

image

設定橫條圖填滿:=IIF(Fields!Status.Value="Avail","LightBlue",IIF(Fields!Status.Value="Down","Tomato","Silver"))

image

類別目錄群組:BD

數列群組的群組運算式:=Fields!Status.Value + Fields!StatusNo.Value.ToString(),若直接以 Status 欄位值為群組,會造成一種 Status 值在同一條橫條圖上只出現一次

image

透過屬性視窗設定數列屬性 CustomAttributes/DrawSideBySide=False,預設會是用不同的橫條圖呈現相同類別群組內不同的數列群組

更改 X 軸以 hh:mm 呈現

image

設定標籤格式:hh:mm

image

 

自訂 Table 當圖例

由於預設的圖例會以群組運算式:=Fields!Status.Value + Fields!StatusNo.Value.ToString() 的結果呈現,故刪除,加一個 Table 當圖例

image

設定第二欄文字方塊的填滿色彩:=IIF(Fields!Status.Value="Avail","LightBlue",IIF(Fields!Status.Value="Down","Tomato","Silver"))

image

 

參考:http://pnarayanaswamy.blogspot.com/2010/09/range-bar-chart-gantt-chart-using-ssrs.html

Reporting Services 多印空白頁

可能長度或寬度超過頁長或頁寬的原因:

  • 報表的紙張設定與列印的紙張不合:image

 

  • 報表的內容大小大於紙張大小:image

 

  • 內容 Repeat 後,加上 Margins 大於紙張大小image

  • Tablix 向右展,但原設計的右方空白仍保留等大的空白,而不是用原主體的空白部份來繪製 Tabliximage

鎖住標題

雖不太穩,但 RS2008 SP1 是可以直接設定

image

image

image

但若 Tablix 不是 Row,Column 都設 Group ,則要鎖住,必須設定進階檢視的 Static 之 FixedData 屬性

image