Whitepaper_How to user RS map in SQL Server 2008 R2_ChS
SQL SERVER 2008 R2地圖報表開發(fā)與應(yīng)用SQL Server技術(shù)文檔作者:張平安, 朱寧發(fā)布日期:January 2010適用產(chǎn)品: SQL Server 2008 R2摘要:本文簡要介
SQL SERVER 2008 R2地圖報表開發(fā)與應(yīng)用
SQL Server技術(shù)文檔
作者:張平安, 朱寧
發(fā)布日期:January 2010
適用產(chǎn)品: SQL Server 2008 R2
摘要:本文簡要介紹了如何在SQL Server 2008 R2中創(chuàng)建和開發(fā)地圖報表。文檔首先基于Adventure works示例數(shù)據(jù)庫敘述了創(chuàng)建地圖報表的基本步驟、地圖控件的主要屬性及其使用方法、使用“地圖層”向?qū)砑拥貓D層等操作,之后介紹了以電信業(yè)務(wù)為背景的BINET 項目地圖報表的開發(fā)過程。
版權(quán)聲明
本白皮書僅用于提供信息。Microsoft 對本文檔中的信息不做任何明示、默示或法定的擔(dān)保。
遵守所有適用的版權(quán)法律是用戶的責(zé)任。在不對版權(quán)法所規(guī)定的權(quán)利加以限制的情況下,未得到Microsoft Corporation明確的書面許可,不得為任何目的、以任何形式或手段(電子的、機(jī)械的、影印、錄制等等) 復(fù)制、傳播本文的任何部分,也不得將其存儲或引入到檢索系統(tǒng)中。
本文檔可能涉及Microsoft 的專利、專利申請、商標(biāo)、版權(quán)或其它知識產(chǎn)權(quán)。除非
Microsoft 通過書面許可協(xié)議明確提供,此文檔并沒有授予您對這些專利、商標(biāo)、版權(quán)或其它知識產(chǎn)權(quán)的任何許可。
除非特別說明,此處所述作為范例的公司、組織、產(chǎn)品、域名、電子郵件地址、徽標(biāo)、人員、地點和事件均為虛構(gòu),不與任何真實的公司、組織、產(chǎn)品、域名、電子郵件地址、徽標(biāo)、人員、地點或事件有任何聯(lián)系,也不應(yīng)據(jù)此進(jìn)行任何臆測或推斷。
2010 Microsoft Corporation.保留所有權(quán)利。
Microsoft, SQL Server是Microsoft Corporation在美國和/或其它國家的注冊商標(biāo)或商標(biāo)。
所有其它商標(biāo)均是其各自所有者的財產(chǎn)。
,目錄
SQL SERVER SERVER 2008 R2地圖報表開發(fā)與應(yīng)用 ................................................ 0
版權(quán)聲明 ....................................................................................................... 1
引言 ............................................................................................................ 1 1
2 準(zhǔn)備工作 ................................................................................................ 1 使用地圖 ................................................................................................ 1
第一張地圖報表 . ................................................................................... 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
建立主地圖報表Interruption.rdl .......................................................................25
建立空間數(shù)據(jù)集..............................................................................................25
建立分析數(shù)據(jù)集..............................................................................................27
拖放地圖控件 ................................................................................................28
綁定空間數(shù)據(jù)到地圖控件 ..................................................................................28
綁定分析數(shù)據(jù)到地圖控件 ..................................................................................30
定義報表屬性 ................................................................................................33
定義報表跳轉(zhuǎn)動作 . ..........................................................................................35 3.2.1 3.2.2 3.3 創(chuàng)建地圖報表 .................................................................................... 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 部署報表 . ......................................................................................... 36
,引言
SQL Server 2008 R2是Microsoft SQL Server下一代平臺產(chǎn)品,將于2010年上半年正式發(fā)布,目前已有August CTP和November CTP兩種版本提供下載試用。SQL Server 2008 R2提供了諸多激動人心的新特性。在BI 方面最引人注目的一點是將地圖功能集成到Reporting Services當(dāng)中。開發(fā)人員只需點擊幾下鼠標(biāo)即可生成報表地圖,其地理空間數(shù)據(jù)以GEOMT RY 或者GEOGRAPHY 類型存儲在SQL Server 2008 R2和ESRI SHP文件中。
本文簡要介紹了如何在SQL Server 2008 R2中創(chuàng)建和開發(fā)地圖報表。文檔首先基于Adventure works示例數(shù)據(jù)庫敘述了創(chuàng)建地圖報表的基本步驟、地圖控件的主要屬性及其使用方法、使用“地圖層”向?qū)砑拥貓D層等操作,之后介紹了以電信業(yè)務(wù)為背景的BINET 項目地圖報表的開發(fā)過程。
1 準(zhǔn)備工作
為更好學(xué)習(xí)SQL Server 2008 R2的地圖報表功能,完成本文檔中案例的開發(fā)過程,建議您先完成如下準(zhǔn)備工作:
? 您的計算機(jī)上已經(jīng)安裝了Microsoft SQL Server 2008 R2 Report Building 3.0或者其自帶的SQL
Server Business Intelligence Development Studio開發(fā)環(huán)境。
? 在 Microsoft SQL Server 2008 R2 Reporting Services 報表服務(wù)器或與 SQL Server 2008 R2
Reporting Services 報表服務(wù)器集成的 SharePoint 站點上保存和查看報表的權(quán)限。即必須能夠瀏覽到
報表服務(wù)器并且向其保存報表。
? 報表服務(wù)器的 URL 以及報表的默認(rèn)文件夾。
2 使用地圖
2.1 第一張地圖報表
首先,我們以SQL Server Business Intelligence Development Studio為開發(fā)環(huán)境創(chuàng)建一張簡單的地圖報表。 單擊“開始”,依次指向“程序”—Microsoft SQL Server 2008 R2—SQL Server Business Intelligence Development Studio。創(chuàng)建一個新的報表工程MapReport ,并新建一個報表項目FirstMap.rdl
在工具箱面板中,拖放“地圖”控件到報表中:
此時將打開地圖向?qū)?。如下圖所示:
1
,在“選擇空間數(shù)據(jù)的來源”頁上,有三種空間數(shù)據(jù)來源可供選擇:
Map gallery:是Map 控件自帶的地圖庫,可選擇美國及其各州地圖
ESRI shapefile:從外部導(dǎo)入含空間地理數(shù)據(jù)的地圖文件
SQL Server spatial query:可使用T-SQL 查詢地理數(shù)據(jù)作為地圖的空間數(shù)據(jù)來源(稍后將具體介紹) 這里我們選擇“Map gallery”。
在“Map gallery”窗格中,展開“USA (美國)”下的“States by County”,然后單擊“Washington ”?!暗貓D預(yù)覽”窗格將顯示華盛頓的鄉(xiāng)鎮(zhèn)地圖。
2
,單擊“下一步”。
在“選擇空間數(shù)據(jù)和地圖視圖選項”上,接受默認(rèn)值。默認(rèn)情況下,來自地圖庫的地圖元素將自動嵌入到報表定義中。 單擊“下一步”。
在“選擇地圖可視化”頁中,選擇“基本圖”
然后單擊“下一步”。
在“選擇顏色主題和數(shù)據(jù)可視化”上,用戶可定義地圖的主題及“顯示標(biāo)簽”選項。選擇“顯示標(biāo)簽”,從“數(shù)據(jù)字段”下拉列表中,單擊 #COUNTYNAME。表示地圖區(qū)域的顯示內(nèi)容為鄉(xiāng)鎮(zhèn)名,右側(cè)的預(yù)覽圖將隨選項的變化而更新。
“地圖預(yù)覽”窗格還將顯示以下各項:
?
? 一個標(biāo)題,其文本為地圖標(biāo)題。 一個地圖,顯示華盛頓的各個鄉(xiāng)鎮(zhèn),其中每個縣都用一種不同顏色表示,鄉(xiāng)鎮(zhèn)名稱出現(xiàn)在區(qū)域上方適合的
位置。
?
? 一個圖例,包含標(biāo)題和項1至5的列表。 一個色階,包含值0到160但沒有顏色。
3
,一個距離寬度,顯示公里數(shù)(km)和英里數(shù)(mi)。
單擊“完成”。“設(shè)計”視圖將打開,并在報表設(shè)計圖面上顯示該地圖。
單擊地圖以選擇它并顯示“地圖層”區(qū)域。如下圖所示:
“地圖層”區(qū)域顯示一個層類型為“嵌入”的多邊形層。每個鄉(xiāng)鎮(zhèn)都是該層上的一個嵌入地圖元素。 右鍵單擊地圖標(biāo)題,然后單擊“標(biāo)題屬性”。
將標(biāo)題文本替換為AdventureWorks Reseller。單擊“確定”。點擊“Preview ”預(yù)覽報表,如下圖所示:
4
上面創(chuàng)建了一個簡單的華盛頓特區(qū)的地圖報表,報表包含報表標(biāo)題、地圖標(biāo)題、地圖以及距離刻度。各鄉(xiāng)鎮(zhèn)用調(diào)色板中的顏色區(qū)分,但顏色并不與任何數(shù)據(jù)關(guān)聯(lián)。距離刻度同時用公里和英里顯示距離。圖例和色階并不顯示,因為它們沒有關(guān)聯(lián)的數(shù)據(jù)。數(shù)據(jù)與地圖區(qū)域的綁定,我們將在下面介紹。
2.2 使用SQL 空間數(shù)據(jù)創(chuàng)建地圖層
接下來我們通過另一種數(shù)據(jù)來源——SQL 空間數(shù)據(jù),在上述報表的基礎(chǔ)上添加一個新的地圖層,我們擬添加一個地圖層,用于顯示銷售AdventureWorks 產(chǎn)品的商店的位置。步驟如下:
切換到“設(shè)計”視圖。
雙擊地圖以顯示“地圖層”區(qū)域。在工具欄上,單擊“新建層向?qū)А卑粹o。
在“選擇空間數(shù)據(jù)的來源”頁上,選擇“SQL Server spatial query”,然后單擊“下一步”。
在“選擇與 SQL Server 空間數(shù)據(jù)源的連接”上,單擊“新建”。
在“數(shù)據(jù)源屬性”對話框中,單擊“General ”。如下圖所示,建立數(shù)據(jù)源SQLMap ,并連接Adventureworks 數(shù)據(jù)庫。
點擊OK ,如下圖所示:點擊“下一步”,接下來我們創(chuàng)建一個數(shù)據(jù)集查詢,其中同時包含空間數(shù)據(jù)和分析數(shù)據(jù)。在“設(shè)計查詢”頁中,單擊“編輯為文本”。查詢設(shè)計器切換到基于文本的模式。
將以下查詢語句粘貼到查詢窗格中:
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
我們可在查詢結(jié)果網(wǎng)格中看到七列:
BusinessEntityID 、Store 、Specialty 、City 、County 、AnnualSales 和SpatialLocation 。
6
,此數(shù)據(jù)表示華盛頓州銷售AdventureWorks 自行車的一組商店。結(jié)果集中的每行都包含一個商店標(biāo)識符、商店名稱、該商店專銷的自行車類型、商店所在的市/鎮(zhèn)、年銷售額以及用經(jīng)度和緯度表示的空間位置。
點擊“下一步”,進(jìn)入“選擇空間數(shù)據(jù)和地圖視圖選項”頁,如下圖所示:
驗證“空間字段”為SpatialLocation ,并且“層類型”為“點”。接受本頁上的其他默認(rèn)值。地圖視圖顯示圓圈,這些圓圈標(biāo)記銷售AdventureWorks 產(chǎn)品的商店的位置。
單擊“下一步”。接下來需要指定一個地圖類型,它顯示隨分析數(shù)據(jù)而改變的標(biāo)記。這里我們選擇“分析標(biāo)記圖”。如下圖所示:
7