Whitepaper_How to user RS map in SQL Server 2008 R2_ChS
SQL SERVER 2008 R2地圖報(bào)表開(kāi)發(fā)與應(yīng)用SQL Server技術(shù)文檔作者:張平安, 朱寧發(fā)布日期:January 2010適用產(chǎn)品: SQL Server 2008 R2摘要:本文簡(jiǎn)要介
SQL SERVER 2008 R2地圖報(bào)表開(kāi)發(fā)與應(yīng)用
SQL Server技術(shù)文檔
作者:張平安, 朱寧
發(fā)布日期:January 2010
適用產(chǎn)品: SQL Server 2008 R2
摘要:本文簡(jiǎn)要介紹了如何在SQL Server 2008 R2中創(chuàng)建和開(kāi)發(fā)地圖報(bào)表。文檔首先基于Adventure works示例數(shù)據(jù)庫(kù)敘述了創(chuàng)建地圖報(bào)表的基本步驟、地圖控件的主要屬性及其使用方法、使用“地圖層”向?qū)砑拥貓D層等操作,之后介紹了以電信業(yè)務(wù)為背景的BINET 項(xiàng)目地圖報(bào)表的開(kāi)發(fā)過(guò)程。
版權(quán)聲明
本白皮書(shū)僅用于提供信息。Microsoft 對(duì)本文檔中的信息不做任何明示、默示或法定的擔(dān)保。
遵守所有適用的版權(quán)法律是用戶(hù)的責(zé)任。在不對(duì)版權(quán)法所規(guī)定的權(quán)利加以限制的情況下,未得到Microsoft Corporation明確的書(shū)面許可,不得為任何目的、以任何形式或手段(電子的、機(jī)械的、影印、錄制等等) 復(fù)制、傳播本文的任何部分,也不得將其存儲(chǔ)或引入到檢索系統(tǒng)中。
本文檔可能涉及Microsoft 的專(zhuān)利、專(zhuān)利申請(qǐng)、商標(biāo)、版權(quán)或其它知識(shí)產(chǎn)權(quán)。除非
Microsoft 通過(guò)書(shū)面許可協(xié)議明確提供,此文檔并沒(méi)有授予您對(duì)這些專(zhuān)利、商標(biāo)、版權(quán)或其它知識(shí)產(chǎn)權(quán)的任何許可。
除非特別說(shuō)明,此處所述作為范例的公司、組織、產(chǎn)品、域名、電子郵件地址、徽標(biāo)、人員、地點(diǎn)和事件均為虛構(gòu),不與任何真實(shí)的公司、組織、產(chǎn)品、域名、電子郵件地址、徽標(biāo)、人員、地點(diǎn)或事件有任何聯(lián)系,也不應(yīng)據(jù)此進(jìn)行任何臆測(cè)或推斷。
2010 Microsoft Corporation.保留所有權(quán)利。
Microsoft, SQL Server是Microsoft Corporation在美國(guó)和/或其它國(guó)家的注冊(cè)商標(biāo)或商標(biāo)。
所有其它商標(biāo)均是其各自所有者的財(cái)產(chǎn)。
,目錄
SQL SERVER SERVER 2008 R2地圖報(bào)表開(kāi)發(fā)與應(yīng)用 ................................................ 0
版權(quán)聲明 ....................................................................................................... 1
引言 ............................................................................................................ 1 1
2 準(zhǔn)備工作 ................................................................................................ 1 使用地圖 ................................................................................................ 1
第一張地圖報(bào)表 . ................................................................................... 1
使用SQL 空間數(shù)據(jù)創(chuàng)建地圖層 .................................................................. 5
向地圖中添加線條層 .............................................................................. 9
添加 Bing 地圖圖塊背景 ....................................................................... 12
添加 Virtual Earth 圖塊背景 . ............................................................................12
設(shè)置層的透明度..............................................................................................13 2.1 2.2 2.3 2.4 2.4.1 2.4.2
2.5
2.6
2.7
2.8
2.9 為多邊形層指定顏色規(guī)則 ....................................................................... 14 在空間數(shù)據(jù)與分析數(shù)據(jù)之間建立關(guān)系 . ......................................................... 14 為層上的所有數(shù)據(jù)綁定多邊形指定顏色規(guī)則 . ................................................. 15 設(shè)置色階的格式 . ................................................................................. 18 使用圖例 . ......................................................................................... 19
創(chuàng)建新圖例 ...................................................................................................19
將圖例與顏色規(guī)則關(guān)聯(lián) .....................................................................................19 2.9.1 2.9.2
3 BINET 地圖案例 ....................................................................................... 20
3.1
3.2 案例需求 . ......................................................................................... 20 準(zhǔn)備數(shù)據(jù)集 ....................................................................................... 21
空間數(shù)據(jù) ......................................................................................................21
分析數(shù)據(jù) ......................................................................................................23
創(chuàng)建工程 ......................................................................................................23
建立共享數(shù)據(jù)源..............................................................................................23
建立主地圖報(bào)表Interruption.rdl .......................................................................25
建立空間數(shù)據(jù)集..............................................................................................25
建立分析數(shù)據(jù)集..............................................................................................27
拖放地圖控件 ................................................................................................28
綁定空間數(shù)據(jù)到地圖控件 ..................................................................................28
綁定分析數(shù)據(jù)到地圖控件 ..................................................................................30
定義報(bào)表屬性 ................................................................................................33
定義報(bào)表跳轉(zhuǎn)動(dòng)作 . ..........................................................................................35 3.2.1 3.2.2 3.3 創(chuàng)建地圖報(bào)表 .................................................................................... 23 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.3.10
3.4 部署報(bào)表 . ......................................................................................... 36
,引言
SQL Server 2008 R2是Microsoft SQL Server下一代平臺(tái)產(chǎn)品,將于2010年上半年正式發(fā)布,目前已有August CTP和November CTP兩種版本提供下載試用。SQL Server 2008 R2提供了諸多激動(dòng)人心的新特性。在BI 方面最引人注目的一點(diǎn)是將地圖功能集成到Reporting Services當(dāng)中。開(kāi)發(fā)人員只需點(diǎn)擊幾下鼠標(biāo)即可生成報(bào)表地圖,其地理空間數(shù)據(jù)以GEOMT RY 或者GEOGRAPHY 類(lèi)型存儲(chǔ)在SQL Server 2008 R2和ESRI SHP文件中。
本文簡(jiǎn)要介紹了如何在SQL Server 2008 R2中創(chuàng)建和開(kāi)發(fā)地圖報(bào)表。文檔首先基于Adventure works示例數(shù)據(jù)庫(kù)敘述了創(chuàng)建地圖報(bào)表的基本步驟、地圖控件的主要屬性及其使用方法、使用“地圖層”向?qū)砑拥貓D層等操作,之后介紹了以電信業(yè)務(wù)為背景的BINET 項(xiàng)目地圖報(bào)表的開(kāi)發(fā)過(guò)程。
1 準(zhǔn)備工作
為更好學(xué)習(xí)SQL Server 2008 R2的地圖報(bào)表功能,完成本文檔中案例的開(kāi)發(fā)過(guò)程,建議您先完成如下準(zhǔn)備工作:
? 您的計(jì)算機(jī)上已經(jīng)安裝了Microsoft SQL Server 2008 R2 Report Building 3.0或者其自帶的SQL
Server Business Intelligence Development Studio開(kāi)發(fā)環(huán)境。
? 在 Microsoft SQL Server 2008 R2 Reporting Services 報(bào)表服務(wù)器或與 SQL Server 2008 R2
Reporting Services 報(bào)表服務(wù)器集成的 SharePoint 站點(diǎn)上保存和查看報(bào)表的權(quán)限。即必須能夠?yàn)g覽到
報(bào)表服務(wù)器并且向其保存報(bào)表。
? 報(bào)表服務(wù)器的 URL 以及報(bào)表的默認(rèn)文件夾。
2 使用地圖
2.1 第一張地圖報(bào)表
首先,我們以SQL Server Business Intelligence Development Studio為開(kāi)發(fā)環(huán)境創(chuàng)建一張簡(jiǎn)單的地圖報(bào)表。 單擊“開(kāi)始”,依次指向“程序”—Microsoft SQL Server 2008 R2—SQL Server Business Intelligence Development Studio。創(chuàng)建一個(gè)新的報(bào)表工程MapReport ,并新建一個(gè)報(bào)表項(xiàng)目FirstMap.rdl
在工具箱面板中,拖放“地圖”控件到報(bào)表中:
此時(shí)將打開(kāi)地圖向?qū)?。如下圖所示:
1
,在“選擇空間數(shù)據(jù)的來(lái)源”頁(yè)上,有三種空間數(shù)據(jù)來(lái)源可供選擇:
Map gallery:是Map 控件自帶的地圖庫(kù),可選擇美國(guó)及其各州地圖
ESRI shapefile:從外部導(dǎo)入含空間地理數(shù)據(jù)的地圖文件
SQL Server spatial query:可使用T-SQL 查詢(xún)地理數(shù)據(jù)作為地圖的空間數(shù)據(jù)來(lái)源(稍后將具體介紹) 這里我們選擇“Map gallery”。
在“Map gallery”窗格中,展開(kāi)“USA (美國(guó))”下的“States by County”,然后單擊“Washington ”?!暗貓D預(yù)覽”窗格將顯示華盛頓的鄉(xiāng)鎮(zhèn)地圖。
2
,單擊“下一步”。
在“選擇空間數(shù)據(jù)和地圖視圖選項(xiàng)”上,接受默認(rèn)值。默認(rèn)情況下,來(lái)自地圖庫(kù)的地圖元素將自動(dòng)嵌入到報(bào)表定義中。 單擊“下一步”。
在“選擇地圖可視化”頁(yè)中,選擇“基本圖”
然后單擊“下一步”。
在“選擇顏色主題和數(shù)據(jù)可視化”上,用戶(hù)可定義地圖的主題及“顯示標(biāo)簽”選項(xiàng)。選擇“顯示標(biāo)簽”,從“數(shù)據(jù)字段”下拉列表中,單擊 #COUNTYNAME。表示地圖區(qū)域的顯示內(nèi)容為鄉(xiāng)鎮(zhèn)名,右側(cè)的預(yù)覽圖將隨選項(xiàng)的變化而更新。
“地圖預(yù)覽”窗格還將顯示以下各項(xiàng):
?
? 一個(gè)標(biāo)題,其文本為地圖標(biāo)題。 一個(gè)地圖,顯示華盛頓的各個(gè)鄉(xiāng)鎮(zhèn),其中每個(gè)縣都用一種不同顏色表示,鄉(xiāng)鎮(zhèn)名稱(chēng)出現(xiàn)在區(qū)域上方適合的
位置。
?
? 一個(gè)圖例,包含標(biāo)題和項(xiàng)1至5的列表。 一個(gè)色階,包含值0到160但沒(méi)有顏色。
3
,一個(gè)距離寬度,顯示公里數(shù)(km)和英里數(shù)(mi)。
單擊“完成”。“設(shè)計(jì)”視圖將打開(kāi),并在報(bào)表設(shè)計(jì)圖面上顯示該地圖。
單擊地圖以選擇它并顯示“地圖層”區(qū)域。如下圖所示:
“地圖層”區(qū)域顯示一個(gè)層類(lèi)型為“嵌入”的多邊形層。每個(gè)鄉(xiāng)鎮(zhèn)都是該層上的一個(gè)嵌入地圖元素。 右鍵單擊地圖標(biāo)題,然后單擊“標(biāo)題屬性”。
將標(biāo)題文本替換為AdventureWorks Reseller。單擊“確定”。點(diǎn)擊“Preview ”預(yù)覽報(bào)表,如下圖所示:
4
上面創(chuàng)建了一個(gè)簡(jiǎn)單的華盛頓特區(qū)的地圖報(bào)表,報(bào)表包含報(bào)表標(biāo)題、地圖標(biāo)題、地圖以及距離刻度。各鄉(xiāng)鎮(zhèn)用調(diào)色板中的顏色區(qū)分,但顏色并不與任何數(shù)據(jù)關(guān)聯(lián)。距離刻度同時(shí)用公里和英里顯示距離。圖例和色階并不顯示,因?yàn)樗鼈儧](méi)有關(guān)聯(lián)的數(shù)據(jù)。數(shù)據(jù)與地圖區(qū)域的綁定,我們將在下面介紹。
2.2 使用SQL 空間數(shù)據(jù)創(chuàng)建地圖層
接下來(lái)我們通過(guò)另一種數(shù)據(jù)來(lái)源——SQL 空間數(shù)據(jù),在上述報(bào)表的基礎(chǔ)上添加一個(gè)新的地圖層,我們擬添加一個(gè)地圖層,用于顯示銷(xiāo)售AdventureWorks 產(chǎn)品的商店的位置。步驟如下:
切換到“設(shè)計(jì)”視圖。
雙擊地圖以顯示“地圖層”區(qū)域。在工具欄上,單擊“新建層向?qū)А卑粹o。
在“選擇空間數(shù)據(jù)的來(lái)源”頁(yè)上,選擇“SQL Server spatial query”,然后單擊“下一步”。
在“選擇與 SQL Server 空間數(shù)據(jù)源的連接”上,單擊“新建”。
在“數(shù)據(jù)源屬性”對(duì)話框中,單擊“General ”。如下圖所示,建立數(shù)據(jù)源SQLMap ,并連接Adventureworks 數(shù)據(jù)庫(kù)。
點(diǎn)擊OK ,如下圖所示:點(diǎn)擊“下一步”,接下來(lái)我們創(chuàng)建一個(gè)數(shù)據(jù)集查詢(xún),其中同時(shí)包含空間數(shù)據(jù)和分析數(shù)據(jù)。在“設(shè)計(jì)查詢(xún)”頁(yè)中,單擊“編輯為文本”。查詢(xún)?cè)O(shè)計(jì)器切換到基于文本的模式。
將以下查詢(xún)語(yǔ)句粘貼到查詢(xún)窗格中:
5
,Select 402 as BusinessEntityID, 'Impromptu Trips' as Store, 'Mountain'as Specialty, 'Union Gap' as City,
'Yakima' as County, CAST(1500000 as money) asAnnualSales,
CAST('POINT(-120.352399683576 46.5526404267361)' as geography) AS SpatialLocation
UNION ALL
SELECT 518 AS BusinessEntityID, 'Latest Sports Equipment' AS StoreName, 'Mountain' as Specialty, 'Seattle' AS City, 'King' as County, CAST('800000' as money) as AnnualSales,
CAST('POINT(-122.2716149145 47.6252759540999)' as geography) AS SpatialLocation
UNION ALL
Select 656 as BusinessEntityID, 'Outstanding Cycles' as Store, 'Touring'as Specialty, 'Spokane' as City,
'Spokane' as County, CAST(2000000 as money) as AnnualSales,
CAST('POINT(-117.458326188527 47.7390846943325)' as geography) AS SpatialLocation
UNION ALL
Select 762 as BusinessEntityID, 'Friendly Bike Shop' as Store, 'Road' as Specialty, 'Bellingham' as City,
'Whatcom' as County, CAST(2000000 as money) as AnnualSales,
CAST('POINT(-122.526710739 48.7985754516)' as geography) AS SpatialLocation
UNION ALL
Select 774 as BusinessEntityID, 'Rugged Bikes' as Store, 'Touring' as Specialty, 'Everett' as City,
'Snohomish' as County, CAST(3000000 as money) as AnnualSales,
CAST('POINT(-122.339928832415 48.0034793435206)' as geography) AS SpatialLocation
UNION ALL
Select 870 as BusinessEntityID, 'Vast Bike AnnualSales and Rental' as Store, 'Mountain' as Specialty, 'Chehalis' as City, 'Lewis' as County, CAST(3000000 as money) as AnnualSales,
CAST('POINT(-123.173202922628 46.5949185631117)' as geography) AS SpatialLocation
UNION ALL
Select 1138 as BusinessEntityID, 'Roving Sports' as Store, 'Road' as Specialty, 'Puyallup' as City,
'Pierce' as County, CAST(1500000 as money) as AnnualSales,
CAST('POINT(-122.141962349474 47.2117618655752)' as geography) AS SpatialLocation
UNION ALL
Select 1230 as BusinessEntityID, 'Fitness Supplies' as Store, 'Touring' as Specialty, 'Sequim' as City,
'Clallam' as County, CAST(800000 as money) as AnnualSales,
CAST('POINT(-123.165980874577 48.0931018882565)' as geography) AS SpatialLocation
UNION ALL
Select 1270 as BusinessEntityID, 'Outdoor Sports Supply' as Store, 'Mountain' as Specialty, 'North Bend' as City, 'King' as County, CAST(300000 as money) as AnnualSales,
CAST('POINT(-121.50439946838 47.5225521767213)' as geography) AS SpatialLocation
UNION ALL
Select 1388 as BusinessEntityID, 'Official Parts Shop' as Store, 'Road' as Specialty, 'Kelso' as City,
'Cowlitz' as County, CAST(1000000 as money) as AnnualSales,
CAST('POINT(-122.77961702831 46.1007615739732)' as geography) AS SpatialLocation
UNION ALL
Select 1412 as BusinessEntityID, 'City Manufacturing' as Store, 'Mountain' as Specialty, 'Shelton' as City,
'Mason' as County, CAST(2500000 as money) as AnnualSales,
CAST('POINT(-123.323052823833 47.1401103193325)' as geography) AS SpatialLocation
我們可在查詢(xún)結(jié)果網(wǎng)格中看到七列:
BusinessEntityID 、Store 、Specialty 、City 、County 、AnnualSales 和SpatialLocation 。
6
,此數(shù)據(jù)表示華盛頓州銷(xiāo)售AdventureWorks 自行車(chē)的一組商店。結(jié)果集中的每行都包含一個(gè)商店標(biāo)識(shí)符、商店名稱(chēng)、該商店專(zhuān)銷(xiāo)的自行車(chē)類(lèi)型、商店所在的市/鎮(zhèn)、年銷(xiāo)售額以及用經(jīng)度和緯度表示的空間位置。
點(diǎn)擊“下一步”,進(jìn)入“選擇空間數(shù)據(jù)和地圖視圖選項(xiàng)”頁(yè),如下圖所示:
驗(yàn)證“空間字段”為SpatialLocation ,并且“層類(lèi)型”為“點(diǎn)”。接受本頁(yè)上的其他默認(rèn)值。地圖視圖顯示圓圈,這些圓圈標(biāo)記銷(xiāo)售AdventureWorks 產(chǎn)品的商店的位置。
單擊“下一步”。接下來(lái)需要指定一個(gè)地圖類(lèi)型,它顯示隨分析數(shù)據(jù)而改變的標(biāo)記。這里我們選擇“分析標(biāo)記圖”。如下圖所示:
7