【步步為營 Entity Framework+Reporting service開發】-(5) Trend chart 進階


接上一章,我們要對我們的trend chart 進行修改。讓它看起來更專業。要實現 filter,自定義,3d,drill down等功能。

【讓報表看起來更正規】

  接上一章,我們的trend chart 還沒標題呢。點擊圖標標題。直接在上邊修改就行。如果想高級設定,需要進到標題屬性里。vs這個地方做的不太好。經常點不到。我們先點下下邊的trend chart 的線。再點標題,再右鍵。

在這里可以大家可以自己試探着來修改一下配置。

請注意下邊圖中右邊的fx。這是一個函數表達式。他的功能很強大:


點開fx,可以看到現在的標題是 Trend Chart Demo。下邊有常量、內置字段、參數、字段、數據集、變量、運算符和常見函數。下邊的東西我們以后都可能會用到。現在先簡單舉例,當每個報表中有一個字段專門存儲它的標題時候。我們就可以像下邊一樣綁定標題:

=Fields!TaskName.Value

使用同樣的方法 修改x軸標題為date。x軸標題為win times。

這時候點擊預覽,看一下我們的報表現在的樣子:

挺正規了。但是date 還是有時分秒的。用戶不需要知道精確時間,何況我們datebase里也只有日期。

切換回設計選項卡,按下圖設置水平軸屬性:

【自定義屬性】

 我們應該在每個標記點上顯示出當前的數值。右擊折現,顯示數據標簽。

折現太細了?右擊折線-》邊框-》線條寬度-》3pt

修改線條顏色:右擊折線-》邊框-》線條顏色

現在看起來就很好了:

3D效果:如果想讓報表變得酷一點,可以右鍵圖表。三維選項-》啟用三維

【添加時間過濾器/參數運用】

 由於我們的報表的數據源dataset。那么我們要修改數據源里的sql語句,接收一個參數 @TimeInterval。

點擊我們的數據集(如果是灰色的,是因為你在預覽模式,請切換回設計模式)

修改查詢語句:

SELECT TaskID, TaskName, Time, B1Better, Equal, B2Better, UnCertain, GrandTotal
FROM Trends
WHERE (Time > CAST(@TimeInterval AS datetime))

注意在左邊工具欄參數一項中,自動生成了我們的TimeInterval

右擊TimeInterval-》參數屬性-》可用值-》添加》標簽:Last 7 Day ,值:點擊fx,輸入以下表達式:

=DateTime.Now.AddDays(-7).ToShortDateString()

剩下的根據需要自己添加吧。比如,last 7days,last 2 weeks,last month,last Quarter ,last year,all(all 我設置是的過去3000天)

右擊TimeInterval-》參數屬性-》默認值-》表達式設置成跟all一樣吧。或者根據需要。這樣別人查看報表時候默認就能看到全部了。

現在我們再預覽看看,時間過濾器已經有啦。

 

 

【添加bar chart】

柱形圖的作用是每次比較結果的詳細信息。當用戶點擊trend chart的 標記點時,應該跳轉bar chart里。我們現在創建barchart。

由於第二章已經講解了如何使用我們的工具導入數據,現在為了方便,我們手動修改DB吧。由於我們trend chart 里數據taskid為5,6,7,8。我們在bars table依次填入如下數據,由於為了展示效果,不必糾結數據的准確性:

 

1    5        聯眾    2    0    3    B1    bar    True    
2 5 瘋狂倒計時 0 0 3 B1 bar True
3 5 張娜拉 0 1 2 B2 bar True
4 5 截圖軟件 1 0 1 B1 bar True
5 6 哈哈 5 5 3 B1 bar True
6 6 哈哈 5 6 5 B1 bar True
7 6 哈哈 7 6 4 B1 bar True
8 6 哈哈 3 7 3 B1 bar True
9 7 嘿嘿 5 6 4 B2 bar True
10 7 嘿嘿 5 5 6 B2 bar True
11 7 嘿嘿 3 7 5 B1 bar True
12 7 嘿嘿 2 7 4 B1 bar True
13 8 弟弟 3 4 3 B2 bar True
14 8 弟弟 3 8 4 B2 bar True
15 8 弟弟 3 3 5 B1 bar True
16 8 弟弟 2 2 4 B2 bar True

 

添加barchart:
像trendchart 一樣。點擊報表,右鍵-》添加-》新建項

調整背景大小。右鍵-》插入-》圖表-》柱形圖

設置數據源,和trend chart的一樣。只是查詢設計器里選的表是Bars。

添加一個額外的參數,用於 trend 跳轉到 bar chart使用。查詢語句如下:

SELECT   SUM(CASE (Winner) WHEN 'B1' THEN 1 ELSE 0 END) AS B1, SUM(CASE (Winner) WHEN 'B2' THEN 1 ELSE 0 END) 
                AS B2, SUM(CASE (Winner) WHEN 'Equal' THEN 1 ELSE 0 END) AS Equal
FROM      Bars
WHERE   (TaskID = @taskid)
GROUP BY TaskID

這樣,在參數里也會生成一個額外的參數taskid。
根據下圖添

 

加三個字段到報表中:

點擊預覽。在文本框輸入 8。(taskid)

就會展現出真實數據的bar chart了。

【Drill Down】

通過時間filter的實現,我們了解了可以給報表傳一個參數。我們可以使用同樣的辦法實現drill down(鑽進去),可以點擊trend chart的節點鑽入到bar chart上。

點擊折線上的標記,右鍵-》操作(如果標記不明顯,可以根據屬性來調節它的大小)。

轉到報表-》指定報表:Bar。添加參數-》taskid如下圖所示:

現在我們切換到預覽模式。點擊trend chart 上的方框標記。直接跳過去了。酷斃了。

下一章我會開始講解如何配置reporting service 。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM