在 ActiveReports 中可以通過矩陣控件非常方便的實(shí)現(xiàn)交叉報(bào)表,同時(shí)還可以設(shè)置數(shù)據(jù)的分組、排序、過濾、小計(jì)、合計(jì)等操作,可以滿足您報(bào)表的智能數(shù)據(jù)分析等需求。在矩陣控件中組的行數(shù)和列數(shù)由每個(gè)行分組和列分組中的唯一值的個(gè)數(shù)確定。同時(shí),您可以按行組和列組中的多個(gè)字段或表達(dá)式對(duì)數(shù)據(jù)進(jìn)行分組。在運(yùn)行時(shí),當(dāng)組合報(bào)表數(shù)據(jù)和數(shù)據(jù)區(qū)域時(shí),隨著為列組添加列和為行組添加行,矩陣將在頁面上水平和垂直增長。
創(chuàng)新互聯(lián)主營遠(yuǎn)安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),遠(yuǎn)安h5重慶小程序開發(fā)搭建,遠(yuǎn)安網(wǎng)站營銷推廣歡迎遠(yuǎn)安等地區(qū)企業(yè)咨詢
在矩陣控件中,也可以包括最初隱藏詳細(xì)信息數(shù)據(jù)的明細(xì)切換,然后用戶便可單擊該切換以根據(jù)需要顯示更多或更少的詳細(xì)信息,以此實(shí)現(xiàn)數(shù)據(jù)向下鉆取功能。
我們這里將要演示的是產(chǎn)品銷售數(shù)據(jù)分析表,列分組按照產(chǎn)品類別和產(chǎn)品名稱進(jìn)行分組;行分組按照年和月進(jìn)行分組,并對(duì)銷量大于2000的數(shù)據(jù)進(jìn)行高亮顯示,以下是詳細(xì)實(shí)現(xiàn)步驟:
在應(yīng)用程序中創(chuàng)建一個(gè)名為 rptCrossTable1.rdlx 的 ActiveReports 報(bào)表文件,使用的項(xiàng)目模板為 ActiveReports 頁面報(bào)表,創(chuàng)建完成之后從 VS 的報(bào)表菜單項(xiàng)中選擇轉(zhuǎn)換為連續(xù)頁面布局(CPL)報(bào)表,將固定頁面報(bào)表轉(zhuǎn)換為連續(xù)頁面報(bào)表。
名稱: | NWind_CHS |
類型: | Micorsoft OleDb Provider |
OLE DB 提供程序: | Microsoft.Jet.OLEDB.4.0 |
服務(wù)器或文件名稱: | Data\NWind_CHS.mdb |
在新建的 NWind_CHS 數(shù)據(jù)源上鼠標(biāo)右鍵并選擇添加數(shù)據(jù)集菜單項(xiàng),數(shù)據(jù)集信息如下:
常規(guī)-名稱:SaleDetails
查詢-查詢:
SELECT
t.*, 類別.類別名稱
FROM
(
SELECT
DATEPART("yyyy",訂單.訂購日期)
AS
訂購年, DATEPART("m",訂單.訂購日期)
AS
訂購月,類別.類別ID,產(chǎn)品.產(chǎn)品名稱,訂單明細(xì).數(shù)量, 訂單明細(xì).單價(jià), 訂單明細(xì).折扣
FROM
(( 訂單
INNERJOIN
訂單明細(xì)
ON
訂單.訂單ID = 訂單明細(xì).訂單ID)
INNERJOIN
產(chǎn)品
ON
訂單明細(xì).產(chǎn)品ID = 產(chǎn)品.產(chǎn)品ID)
INNERJOIN
類別
ON
產(chǎn)品.類別ID = 類別.類別ID )
as
t
INNERJOIN
類別
ON
t.類別ID = 類別.類別ID
ORDERBY
訂購年,訂購月
從 Visual Studio 工具箱中將 ActiveReports 7 頁面布局報(bào)表分類下的 Matrix 控件添加到報(bào)表設(shè)計(jì)界面,然后從屬性窗口的命令區(qū)域選擇屬性對(duì)話框命令,以打開矩陣控件 Matrix 的屬性設(shè)置對(duì)話框,然后按照以下表格設(shè)置矩陣控件 Matrix 的屬性:
矩陣-常規(guī)-數(shù)據(jù)集名稱: | SaleDetails |
行分組-常規(guī)-添加分組: | 名稱:Matrix1_訂購年 分組:=[訂購年] 表達(dá)式:=[訂購年] |
行分組-常規(guī)-添加分組: | 名稱:Matrix1_訂購月 分組:=[訂購月] 表達(dá)式:=[訂購月] |
列分組-常規(guī)-添加分組: | 名稱:Matrix1_類別名稱 分組:=[類別名稱] 表達(dá)式:=[類別名稱] |
列分組-常規(guī)-添加分組: | 名稱:Matrix1_產(chǎn)品名稱 分組:=[產(chǎn)品名稱] 表達(dá)式:=[產(chǎn)品名稱] |
完成以上設(shè)置之后回到報(bào)表設(shè)計(jì)界面,選中數(shù)據(jù)單元格 TextBox4 ,在屬性窗口的命令區(qū)域中點(diǎn)擊屬性對(duì)話框命令,并按照以下表格設(shè)置數(shù)據(jù)單元格的屬性:
常規(guī)-值: | =Sum([數(shù)量] *[單價(jià)] * (1-[折扣])) |
外觀-背景色-顏色: | =IIf( (Sum( [數(shù)量] * [單價(jià)] * (1- [折扣] )) > 2000) And ( Sum( [數(shù)量] * [單價(jià)] * (1- [折扣] )) <> "" , "#c21952", "White" ) |
需要注意的是,我們將外觀-背景色-顏色屬性通過表達(dá)式的方式來完成對(duì)數(shù)據(jù)的高亮顯示,如果銷售量大于2000單元格背景色設(shè)置為高亮,小于等于2000設(shè)置為白色。
最終完成的設(shè)計(jì)界面如下:
通過 F5 鍵運(yùn)行程序,得到以下效果:
http://www.gcpowertools.com.cn/products/activereports_demo.htm