版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本說明及是為了方便廣大 Reporting Servi者共同學(xué)習(xí),特投入大量心血及時(shí)間撰寫的系列課程,并免費(fèi)提供均屬本人所有。閱讀。所有相關(guān)文檔本是由本人結(jié)合文檔及實(shí)際開發(fā)經(jīng)驗(yàn)整理出的一部作品。為了方便大家及時(shí)學(xué)習(xí),會(huì)加倉促,難免有誤,敬請(qǐng)諒解快撰寫速度并定期本文檔受中民法保護(hù),任何同意的和行為將,任何其他個(gè)人或組織均不得以將本文檔用作商業(yè)用途,違者。如果對(duì)本文檔有任何疑問及建議,請(qǐng)?jiān)诓┛?/stevenshi/留言或發(fā)郵件到sqlserve。1:sqlserver2008.(三)開發(fā)篇“表 控”件 容內(nèi)容補(bǔ)充上一篇講了 Tablix 控件的使用,這一篇將繼續(xù)講解控件的使用,在上一篇遺漏了一些
2、 Tablix 的功能沒有講到,在此先作一下補(bǔ)充:大家還記得在上篇中的實(shí)例(一)的效果嗎?有的朋友提出,Order Date 默認(rèn)是由小到大排序的,如何讓用戶來控制呢?OK, 讓設(shè)置:來學(xué)下,其實(shí)這很簡單,也是在上篇中沒有介紹的功能。首先還是來看一下如何右鍵 OrderDate 的列標(biāo)題,在菜單中選擇“文本框?qū)傩浴?。進(jìn)入設(shè)置界面:2:sqlserver2008.選擇“交互式排序”選項(xiàng)卡,然后勾選“對(duì)此文本框啟用交互式排序”,選擇需要排序的組,再選擇排序依據(jù)。如果想把該規(guī)則應(yīng)用到其他地方,可以勾選“同樣將此排序應(yīng)用于以下位置中的其他組和數(shù)據(jù)區(qū)域”。點(diǎn)擊“確定”來看一下效果:大家可以看到在 Ord
3、er Date 多出了排序按鈕。點(diǎn)擊試試:3:sqlserver2008.可以看到訂單時(shí)間已經(jīng)從小到大,變成了從大到小。當(dāng)然你也可以把排序功能應(yīng)用于其他的列,或分組,詳細(xì)數(shù)據(jù)等。再介紹一下“文本框?qū)傩浴贝翱诘摹安僮鳌边x項(xiàng)卡。如圖在此可以為該文本框啟用超接,點(diǎn)擊跳轉(zhuǎn)到明細(xì)報(bào)表。功能,可以轉(zhuǎn)到報(bào)表,書簽,URL。應(yīng)用場景比如在訂單 ID 上加入超鏈在后面的章節(jié)中會(huì)用到這些功能,大家可以先熟悉一下。至于其他的選項(xiàng)卡(數(shù)字,對(duì)齊,字體,邊框,填充),大家可以自行熟悉。下面再介紹一下組屬性:4:sqlserver2008.“分頁符”選項(xiàng)卡是做什么的呢?明知故問,肯定是分頁了,你可以設(shè)置分頁符放在組的開頭
4、還是結(jié)尾。5:sqlserver2008.組的排序依據(jù)默認(rèn)和分組依據(jù)相同,當(dāng)然你可以在此自己定義規(guī)則。可見性看看篩選器:在上一篇已經(jīng)介紹過, 再若要細(xì)化組中的數(shù)據(jù),可以創(chuàng)建篩選器表達(dá)式。報(bào)表將在應(yīng)用報(bào)表數(shù)據(jù)集、數(shù)據(jù)區(qū)域和父組的篩選器之后 ,才應(yīng)用組篩選器?!白兞俊边x項(xiàng)卡可以在此定義一些變量,供子組使用。“Advanced”選項(xiàng)卡可以創(chuàng)建遞歸結(jié)構(gòu)的組結(jié)構(gòu)。6:sqlserver2008.若要在 Tablix 數(shù)據(jù)區(qū)域中創(chuàng)建一個(gè)遞歸層次結(jié)構(gòu),必須將組表達(dá)式設(shè)置為指定子數(shù)據(jù)的字段,并將該組的 Parent 屬性設(shè)置為指定父數(shù)據(jù)的字段。數(shù)據(jù)集的數(shù)據(jù)要符合遞歸的要求,不要出現(xiàn)死循環(huán)。對(duì)Taxlix 的補(bǔ)
5、充就到這里,如果還有其他問題,歡迎給我留言或?!熬仃嚒钡氖褂孟旅孀尷^續(xù)學(xué)習(xí)新知識(shí)先學(xué)習(xí)矩陣的使用。上邊有了對(duì)“表”控件的理解,矩陣的使用學(xué)起來將會(huì)很輕松下面先來學(xué)下矩陣的基本功能。首先新建報(bào)表,新建數(shù)據(jù)集: SQL如下:SELECT year(OrderDate) as Oyear,PC.Name AS ProductCategoryName, PSC.Name as ProductSubcategoryName,CountryRegionCode, ST.Group AS SalesTerritoryGroup,LineTotalFROM Sales.SalesOrderHeader O I
6、NNER JOIN Sales.SalesOrderDetail OD ON O.SalesOrderID=OD.SalesOrderID INNER JOIN Production.Product PON OD.ProductID=P.ProductIDINNER JOIN Production.ProductSubcategory PSCON P.ProductSubcategoryID=PSC.ProductSubcategoryID INNER JOIN Production.ProductCategory PCON PSC.ProductCategoryID=PC.ProductCa
7、tegoryID7:sqlserver2008.INNER JOIN Sales.SalesTerritory STON O.TerritoryID=ST.TerritoryIDwhere OrderDate20031001 AND OrderDate“組-下方”。然后可以看到工作區(qū)的變化:10:sqlserver2008.來看看效果OK, 符合的要求。交工去,看了報(bào)表后,皺起眉頭說:“我還想知道每個(gè)地區(qū)的總銷售額及每個(gè)分類總銷售額?!边@還真煩呀,不會(huì)一起提出來呀。凈折騰員工繼續(xù)完成吧右鍵 Product Category Name 組,在菜單中選擇,行-“組外部-下方”來為每個(gè)地區(qū)匯總所有分
8、類。11:sqlserver2008.右鍵 SalesTerritoryGroup 組,在菜單中選擇,列-“組外部-右方”來為每個(gè)分類匯總所有地區(qū)。添加后的設(shè)計(jì)界面如下:看看效果:12:sqlserver2008.兩個(gè)要求都完成了,這下應(yīng)該滿足的需求了。就是,總有提不完的需求。這不,有來了,提出三條需求:1:計(jì)算出地區(qū)的每個(gè)國家的銷售額。2:計(jì)算出每種分類,子類,每年的銷售額。3:計(jì)算出每個(gè)子類在總類中占的銷售百分比。哇,這么多需求,而且要在一張報(bào)表上完成,也太難了吧,我不入誰入。先需求,再下手這叫上有政策,下有對(duì)策( 好像不適用)1:需要計(jì)算地區(qū)的國家的銷售額,所以需要修改 SQL,加上地區(qū)
9、條件。再添加子組列。2:計(jì)算出每種分類,子類,每年的銷售額,看樣還的加列。3:這個(gè)么,看樣還的寫表達(dá)式來計(jì)算了OK,先修改 SQL寫固定值。:如下中的參數(shù),在實(shí)際應(yīng)用中可以提供給用戶自己選擇,這里為了方便,在此SELECT year(OrderDate) as Oyear,PC.Name AS ProductCategoryName,PSC.Name as ProductSubcategoryName,CountryRegionCode,ST.Group AS SalesTerritoryGroup,LineTotalFROM Sales.SalesOrderHeader O INNER JO
10、IN Sales.SalesOrderDetail OD ON O.SalesOrderID=OD.SalesOrderID INNER JOIN Production.Product PON OD.ProductID=P.ProductIDINNER JOIN Production.ProductSubcategory PSCON P.ProductSubcategoryID=PSC.ProductSubcategoryID INNER JOIN Production.ProductCategory PCON PSC.ProductCategoryID=PC.ProductCategoryI
11、DINNER JOIN Sales.SalesTerritory ST13:sqlserver2008.ON O.TerritoryID=ST.TerritoryIDwhere OrderDate20031001 AND OrderDate“子組”。在彈出的設(shè)置窗口,選擇 CountryRegionCode 作為分組依據(jù)。這樣第一個(gè)需求就完成了。下面再來完成“計(jì)算出每種分類,子類,每年的銷售額”需求。需要添加列組,希望顯示在地區(qū)信息的右邊,所有在下圖中,選擇“右側(cè)相鄰”。14:sqlserver2008.在設(shè)置窗口中,設(shè)置 Oyear 為分組依據(jù)。填充上數(shù)據(jù)( Sum(LineTotal))。
12、這時(shí)可以看到工作區(qū)的矩陣已經(jīng)變化成如下:運(yùn)行一下看看效果吧15:sqlserver2008.基本上符合的要求了,但是年份列,和 Total希望垂直居中,所有這里需要“合并單元”。合并后的,這樣就達(dá)到預(yù)期的效果了。下面再來看看最后一個(gè)需求怎么完成。也需要添加一個(gè)組外列,來存放每個(gè)子類占該類的比例。所以如下圖列。然后填入具體的表達(dá)式:=SUM(Fields!LineTotal.Value)/SUM(Fields!LineTotal.Value,ProductCategoryName)16:sqlserver2008.設(shè)置好列標(biāo)題,工作區(qū)應(yīng)該如下圖:迫不及待了,趕緊看看效果吧。耶,基本功能完成了。不
13、過百分比顯示的是小數(shù),那咋辦呢?不用急。來設(shè)置一下:17:sqlserver2008.在文本框?qū)傩灾?,設(shè)置成數(shù)字,百分比就 OK 了。再來看看效果:沒錯(cuò),終于完成這個(gè)龐然大物了。這下看還說的肯定給你漲工資 o(_)o.休息一下 o(_)o.“列表,的綜合使用今天需要完成什么樣的報(bào)表呢?只見笑瞇瞇的說:“要求很簡單,只想根據(jù)訂單號(hào),查Sle,只需要按照Sle 完成就 OK 了。完成了年底就有年終獎(jiǎng)”。18:sqlserver2008.詢訂單的下單日期,發(fā)貨日期,及總金額情況,還有相關(guān)的商品信息。來看看矩形,圖像”再來以一個(gè)一下“矩形”,“列表”,“圖像”,“子報(bào)表”控件的使用??戳?Sle 后,
14、大家就知道是別有用心呀,明擺著不想發(fā)年終獎(jiǎng),這么復(fù)雜的報(bào)表如何才能完成?前面學(xué)到的可都是有固定格式的,行行列列的,現(xiàn)在這么任意擺放,無規(guī)律可循的報(bào)表該如何下手?不要慌,靜下心來,仔細(xì)的研究一下 Sle 到底有哪些東西?!皥D像,線條,文本框,表”,還有不知道啥東西可以任意擺放文本框?OK,下面就來學(xué)下這個(gè)主義者“列表”及“矩形”。先簡單的來理解一下兩者:列表:用于創(chuàng)建與網(wǎng)頁上的表單類似的格式布局。矩形:用來放置其他報(bào)表項(xiàng)的容器。首先新建報(bào)表,新建數(shù)據(jù)集,這里用到兩個(gè)數(shù)據(jù)集,一個(gè)訂單信息,一個(gè)訂單明細(xì)信息。SQL如下:兩個(gè)數(shù)據(jù)集的參數(shù)都為:SalesOrderNumberOrderInfo:sel
15、ect OrderDate,SalesOrderNumber,a.AddressLine1 as BillToAddress1, a.AddressLine2 as BillToAddress2,a1.AddressLine1 as ShipToAddress1, a1.AddressLine2 as ShipToAddress2,SubTotal,TaxAmt,Freight,TotalDue,DueDate,ShipDatefrom Sales.SalesOrderHeader oinner join.Address aon o.BillToAddre=a.Addre19:sqlserve
16、r2008.inner join.Address a1on o.ShipToAddre=a1.Addrewhere SalesOrderNumber=SalesOrderNumberOrderDetail:SELECT OrderDate,SalesOrderNumb.Name AS ProductName,UnitPrice,UnitPriceDiscount,OrderQty,LineTotal FROM Sales.SalesOrderHeader OINNER JOIN Sales.SalesOrderDetail OD ON O.SalesOrderID=OD.SalesOrderI
17、D INNER JOIN Production.Product PON OD.ProductID=P.ProductIDwhere SalesOrderNumber=SalesOrderNumber“列表”使用建好數(shù)據(jù)集后,把 List控件拖入工作區(qū)。調(diào)整適當(dāng)?shù)拇笮?。綁?List的數(shù)據(jù)集為 OrderInfo。如圖:初步工作完成后,來擺放 List 中需要的元素,按照前面章節(jié)學(xué)習(xí)的方法,拖入文本框作為標(biāo)題。如圖:20:sqlserver2008.通過右鍵文本框,再彈出的菜單中選擇“表達(dá)式”。希望標(biāo)題顯示為“訂單號(hào)”+訂單信息字樣,填寫表達(dá)式內(nèi)容為:=Fields!SalesOrderNumb
18、er.Value+訂單信息。然后按照相同的方式來完成,訂單日期,發(fā)貨日期,消費(fèi)情況的設(shè)置。設(shè)置好后工作區(qū)的變化如下:“矩形”使用下面來設(shè)置訂單的相關(guān)地址,希望地址顯示在一個(gè)區(qū)塊內(nèi),并且在地址周圍添加邊框。所以需要拖入“矩形”控件。并設(shè)置顯示邊框。21:sqlserver2008.在矩形區(qū)塊放入文本框來顯示地址內(nèi)容。如下圖:List 中的內(nèi)容設(shè)置完了,不對(duì),好像少了什么?對(duì)的,少了。來看看如何添加?!皥D像”使用首先從拖入“”控件到相應(yīng)位置,會(huì)彈出如下窗口。22:sqlserver2008.在此窗口,可以設(shè)置圖像名稱,大小,可見性,邊框,操作等。圖像源:“外部”:是對(duì)在 Web 服務(wù)器中的圖像的
19、URL“嵌入”:對(duì)嵌入的圖像數(shù)據(jù),“數(shù)據(jù)庫”:是對(duì)數(shù)據(jù)庫中的二進(jìn)制圖像數(shù)據(jù)。Reporting Servi支持 .bmp、.jpeg、.gif 和.png 文件。在此選擇“嵌入”,點(diǎn)擊導(dǎo)入按鈕來導(dǎo)入。調(diào)整的位置及大小??梢娙缦滦Ч?3:sqlserver2008.這樣,LIST 才算設(shè)置完成。下面在 LIST 的下面添加一個(gè)“表”控件來顯示該訂單的所買商品信息。添加“表”控件,綁定數(shù)據(jù)源為:OrderDetail,并填充字段。最終設(shè)計(jì)效果如下:24:sqlserver2008.點(diǎn)擊“預(yù)覽”,填入訂單號(hào)來看一下效果是否符合的要求。可見和前面的 Sle 一樣。這下虧大了,拿著報(bào)表去領(lǐng)年終獎(jiǎng)了剛要
20、開口,卻先說了“我知道你完成的很好,你總不能讓我一個(gè)一個(gè)訂單輸入來查看吧,何況我也記不得那么多訂單號(hào)呀,所以得完善一下報(bào)表,可以從所有訂單點(diǎn)擊進(jìn)去查看明細(xì)”。還有,還有看到每個(gè)商品的。所以還得繼續(xù)做OK,先給商品加上。修改 OrderDetail 數(shù)據(jù)集如下:SELECT OrderDate,SalesOrderNumb.Name AS ProductName,UnitPrice,UnitPriceDiscount,OrderQty,LineTotal,ThumbNailPhoto FROM Sales.SalesOrderHeader OINNER JOIN Sales.SalesOrder
21、Detail OD ON O.SalesOrderID=OD.SalesOrderID INNER JOIN Production.Product PON OD.ProductID=P.ProductIDinner join Production.ProductProductPhoto ppp25:sqlserver2008.on p.ProductID=ppp.ProductIDinner join Production.ProductPhoto ppon ppp.ProductPhotoID=pp.ProductPhotoID where SalesOrderNumber=SalesOrd
22、erNumber在OrderDetail 報(bào)表的訂單明細(xì)中增加一列來放置商品的。如下圖:從拖入圖像控件到該列將出現(xiàn)如下圖的圖像屬性窗口:設(shè)置“圖像源”為數(shù)據(jù)庫,字段為:【ThumbNailPhoto】,MIME類型選擇為:image/jpeg。26:sqlserver2008.在“大小”選項(xiàng)卡設(shè)置為“原始大小”。點(diǎn)擊確定來看一下效果:可見已經(jīng)從數(shù)據(jù)庫里讀出來。這里也可以在列中先放入“矩形”控件再放入圖像,達(dá)到的效果一樣。為報(bào)表添加下面在來做一張所有訂單的列表,可以點(diǎn)擊訂單 ID 查看詳細(xì)信息。27:sqlserver2008.新建一張報(bào)表名稱為:Order 的報(bào)表。數(shù)據(jù)集如下:Order:se
23、lect SalesOrderNumber,OrderDate,TotalDuefrom Sales.SalesOrderHeader在工作區(qū)拖入“表”控件,綁定數(shù)據(jù)集并填充數(shù)據(jù)。如下圖:下面來為 Sales Order Number 添加在彈出的菜單中,選擇文本框?qū)傩?。跳轉(zhuǎn)到前面完成的 OrderDetail 報(bào)表。右鍵訂單號(hào)的文本框 ,功能,并選擇轉(zhuǎn)到報(bào)表,在下拉列表中選擇“OrderDetail”報(bào)表。在“操作”選項(xiàng)卡,設(shè)置啟用超并添加 SalesOrderNumber 參數(shù)。同時(shí)在“字體”選項(xiàng)卡中設(shè)置顏色為“藍(lán)色”,帶下劃線。28:sqlserver2008.點(diǎn)擊“確定”,來看一下效果:當(dāng)把鼠標(biāo)放在“訂單號(hào)”上將出現(xiàn)可點(diǎn)狀。點(diǎn)擊將跳轉(zhuǎn)到明細(xì)表。好了,可以交差了,沒想到這還真是懶呀。連點(diǎn)都不想點(diǎn)。只想訂單的明細(xì)導(dǎo)出在一個(gè)文件中。通過書簽可以查看到訂單明細(xì)汗。好吧,這你也難不到我,程序員最大的能耐就是可以忍受所有的折磨“子報(bào)表”下面來介紹一下子報(bào)表,它可以幫完成的還不算太的要求。首先看一下“子報(bào)表”的定義:29:sqlserver2008.子報(bào)表:子報(bào)表顯示保存到父報(bào)表的報(bào)表服務(wù)器中的報(bào)表。子報(bào)表可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 宣傳物料印刷合同范本3篇
- 《數(shù)據(jù)安全法》考試參考題庫100題(含答案)
- 2025年梧州職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 全球‘最優(yōu)旅行小鎮(zhèn)’課件展示:探索與發(fā)現(xiàn)鄉(xiāng)村之美
- 2025科學(xué)儀器行業(yè)未來發(fā)展趨勢與機(jī)會(huì)
- 中班區(qū)角創(chuàng)意活動(dòng)方案五篇
- 養(yǎng)老行業(yè)的未來:2025年發(fā)展趨勢與市場展望
- 借款簡單的合同范本
- 旅游規(guī)劃服務(wù)合同
- 反擔(dān)保合同以及借款擔(dān)保合同范文
- 診所規(guī)章制度匯編全套
- 2024年云南省中考英語題庫【歷年真題+章節(jié)題庫+模擬試題】
- 麻醉藥品、精神藥品月檢查記錄表
- 演示文稿國庫集中支付總流程圖
- 浙江省寧波市海曙區(qū)2022學(xué)年第一學(xué)期九年級(jí)期末測試科學(xué)試題卷(含答案和答題卡)
- 為了自由呼吸的教育
- 高考英語詞匯3500電子版
- 建院新聞社成立策劃書
- GB/T 19675.2-2005管法蘭用金屬?zèng)_齒板柔性石墨復(fù)合墊片技術(shù)條件
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十三章動(dòng)作技能的保持和遷移
- 2023年春節(jié)后建筑施工復(fù)工復(fù)產(chǎn)專項(xiàng)方案
評(píng)論
0/150
提交評(píng)論