2013年12月17日 星期二

[SAP][Information Design Tool] 在 Connection Editor 中檢視資料

在 Local Project 中建立好 Connection 後,會產生一個 .cnx 的 Connection 物件,在這個物件上可以進行資料檢視的作業,讓我們查看資料庫中相關資料。但 Secured Connection 的物件 ( .cns 的物件 ) 是沒有這個功能。
點擊開啟 .cnx 的 Connection 後,將 Connection Editor 的視窗切換至 Show Values 頁籤。


2013年12月12日 星期四

[SAP][Information Design Tool] 發佈為 Universe

完成 Connection、Data Foundation、Business Layer 後表示已完成 Universe 的來源資料,再來要進行的即為將發佈為 Universe。

在此有個注意事項,當 Connection 是在 Local Projects 中建立,必須先將 Connection ( .cnx 物件 ) 發佈至 Repository ,點選 .cnx 物件後,按滑鼠右鍵點選 Publish Connection to a Repository。


若與 Server Session 未連線,會出現登錄畫面,輸入密碼後,點選 Connect 按鈕。


指定在 Repository 的位置,並按下 Finish 按鈕。


已成功完成發佈至 Repository 中,並提示是否要建立 Connection Shortcut ,會在 Local Projects 中建立 Secured Connection 的 Shortcut。




在 Local Projects 中可以看到 .cns 的為 Connection Shortcut 產生出來。


另外還需要將 Data Foundation 參考至  Secured Connection ,也就是 .cns 的連線。開啟 .dfx 的檔案,點選 Change Connection... 圖示。


將 Connection 更換為 .cns 的 Connection。完成後儲存檔案。


以作業準備好後,即可進行 Universe 的發佈。點選 Business Layer 物件 ( .blx 物件 ),按滑鼠右鍵,選取 Publish 中的 To a Repository...



檢查 Universe 的完整性,勾選要檢查的項目後按 Check Integrity。



若沒有要檢查完整性,可直接按下 Finish 按鈕,指定要儲存的位置。


完成 Universe 的發佈。


在 Repository Resources 中即可看到剛才指定儲存位置中,已產生 .unx 的 Universe 物件。


除了可以發佈至 Repository 外,也可以發佈至 Local Folder。點選 Business Layer 物件 ( .blx 物件 ),按滑鼠右鍵,選取 Publish 中的 To a  Local Folder...。


檢查 Universe 的完整性,勾選要檢查的項目後按 Check Integrity。


若不檢查,按下 Next 按鈕,指 Local Folder 的位置。即完成 Publish 的作業。



檢查資料夾內可看到 .unx 的檔案已匯出至資料夾中。



[SAP][Information Design Tool] 建立 Business Layer

建立 Business Layer 前須先完成 Connection、Data Foundation 的建置,Business Layer 是使用 Data Foundation 來建立使用者易於理解的資料結構名稱。一個 Business Layer 即產生一個 Universes,若使用在一個 Project 中建立多個 Business Layer 在 Publish 後會產生多個 Universes。

在 Project 上按右鍵在 New 次選單中選取 Business Layer。

2013年12月11日 星期三

[SQL Server 2008R2][SSRS] 報表組件部署

過去設計報表也許為日後其他人設計報表的參考,所以在 SSRS 2008 R2 這個版本加入了報表組件的觀念,強調重複使用的觀念。
報表組件的目標使用者是不熟悉資訊技術的使用者,報表組件可以透過報表設計師以及報表產生器來發行,但是只有報表產生器使用
所謂「報表組件」是將報表格式、資料集,以及參數轉換成為可被共用的模組,可在報表設計師選取工具列的「報表」→「發行報表組件」。


[SQL Server 2008R2][SSRS] 報表部署

報表生命週期的第一階段「報表開發」是利用使用者介面 ( 報表設計師、報表產生器 ) 根據使用者需求設計的報表格式。建立好報表後,為了讓使用者能夠取得報表,必須先經過「報表部署」的階段,才能將報表定義檔發佈至報表伺服器中。設計完的報表定義必須利用「部署」的步驟,才能將設計完成的報表儲存到報表伺服器資料庫,以便進行後續的管理作業。

[SQL Server 2008R2][SSRS] SSRS 與 PowerPivot

PowerPivot 是微軟在 2010 年所首次推出的全新觀念,多維度分析需先彙總,而 Cube 的開發需要比較多的時間與專業,對於很多重要性沒那麼高的臨時需求,或是需要整合多種異質資料平台才能處理的分析,資訊單位可能不會立即協助開發 Cube 以滿足使用者的需求。
PowerPivot 是一種全新的商業智慧資料來源。它的全名是「SQL Server PowerPivot for Excel 2010」及「SQL Server PowerPivote for SharePoint 2010」。PowerPivot 是一種以欄位儲存基礎的記憶體版 SSAS 機制,根據使用者連結外部資料設定,將外部資料讀取後直接寫入記憶體中。因此即使讀取的資料橫跨 SQL Server 、 Oracle 等不同資料庫,資料內容被設定關聯性以及整合運算。

2013年12月6日 星期五

[SQL Server 2008R2][SSRS] 報表產生器 3.0

報表產生器提供比較友善的介面供使用者來設計所需要的報表,只要報表開發人員建立好適當的報表模型之後,使用者就可以利用報表模型所定義好的物件,滿足本身對於隨選報表 ( Ad-hoc Report )的需求。
報表產生器 3.0 可以不需要預先安裝在使用者本機上,使用者只要連結至報表管理員 ( http://xx.xx.xx.xx/reports),即可啟動報表產生器。報表管理員的 URL 可以至 「Reproting Services 組態管理員」

[SQL Server 2008R2][SSRS] 報表模型 (二)

報表模型屬性,在點選每個實體之後,可以在詳細資料區域看到與該實體相連結的屬性 ( Attribute ) 與角色 ( Role )。
屬性 ( Attribute ) 用來進行分析的基礎欄位單位,可從屬性前方圖示來分辨屬性的類型:

  • 「#」圖示表示為連續變數彙總值。
  • 「a」圖示表示為文字欄位。
  • 日曆圖示表示為時間欄位。


[SQL Server 2008R2][SSRS] 報表模型 (一)

SSRS 2008 R2 報表產生器也到了 3.0 的版本,可供專業開發人員及一般使用者都可以使用它來設計預先設計的報表或是隨選查詢報表。另外與 2.0 版的差別是,還可以發行與使用報表組件。
讓使用者可以藉由報表產生器自行建立所需要的報表之前,開發者必須先建立報表模型,先利用報表模型定義出未來使用者可用之中繼資料架構,包含資料表實體、一般資料欄位、彙總資料欄位與資料表實體間的關係。使用者就可以利用報表產生器使用報表模型來建立自己所需要的報表,以減少開發人員的負擔。


2013年12月4日 星期三

[SAP][Data Service] 使用 Transform 產生時間維度

時間維度包含了日期、時間及相關屬性例如季、假期、財報的季別...等。
在 Project 下先建立一個 Job 後,直接新增一個 Data Flow。在 Object Library 中切換至 Transforms 頁籤,展開 Data Integrator 資料夾,並點選 Date_Generation,拖拉至工作區中。並將 Query Transform 也拖拉至工作區,在目標 Datastores 中時間維度的資料表也放在工作區中,做為目標工作表。

[SAP][Data Service] Project 與 Job 基本觀念篇

Data Services Designer 基本觀念篇,只是記錄一些在進入這個領域時,一些最基礎需要了解的東西而已。
Project 是在 Data Services Designer Window 中最高層級的物件。
Job 在獨立的排程執行時的最小單位。
Job 是由 Work Flows、Data Flows 所組成。
Work Flow 是由相關連的 Data Flows 所組成。


Data Flow 是在處理來源資料轉換至目的資料。


2013年12月3日 星期二

[SQL Server 2008R2][SSRS] 指標

「指標」可以透過表格型態的結構一次呈現多個指標,就是迷你版的量測計。指標可以在儀表格或自由格式報表中單獨使用,但最常用於資料表或矩陣中,以資料列或資料行將資料視覺化。先設計以分店名稱為群組的銷售報表。
將「資料表」物件由「工具箱」拖拉至設計區,將「分店名稱」拖拉至「資料列群組」中「詳細資料」的上方,再刪除「詳細資料」群組。




2013年12月2日 星期一

[SQL Server 2008R2][SSRS] 量測計

利用銷售金額 ( SALES_AMT ) 除以銷售金額目標 ( SALES_TARGET_AMT ) 即可得到達成率。範圍標準為:

  • 0 % ~ 60 % 為危險區域 ( 紅色 )
  • 60 % ~ 85 % 為警示區域 ( 黃色 )
  • 85 % 以上為安全區域 ( 綠色 )


[SQL Server 2008R2][SSRS] 量測計 ( Gauge ) 概念篇

運用量測計 ( Gauge ) 可以用來顯示數值的絕對大小外,同時也可以直覺的呈現數值合理的範圍區間,以作為警示 ( 過高或過低 ) 之用,因此量測計主要是用來監控數據的變化,這些具備管理意義的監控數據為「關鍵績效指標 ( Key Performance Indicators;KPI )」。

真正的關鍵指標不只是一堆管理所需的數字,必須能夠肩負管理上的意義,讓管理者以及被管理者能夠清楚界定和衡量其目標的執行成效,並藉此來衡量營運的績效與反映出企業的關鍵成功因素。

2013年11月27日 星期三

[SQL Server 2008R2][SSRS] 微圖形 ( 資料橫條及走勢圖 )

微圖形是嵌入在資料格中的圖形,可利用有限的空間做最充分的資訊展現。目前 SSRS 2008 R2 中提供三種微圖形,分別是資料橫條、走勢圖以及指標。
Excel 2007 開始即提供資料橫條的功能,在「插入」頁籤中的「走勢圖」類別中。


2013年11月25日 星期一

[SQL Server 2008R2][SSRS] 布林通道

布林通道線是根據統計學中的標準差原理設計出來的一種相對比較實用的股市技術指標,一般來說,布林通道是由上、中、下三條軌道組成,其中上、下軌位於通道的最外面,分別是該趨勢的壓力線 ( Up 線 ) 與支撐線 ( Down 線 ),是透過 n 個標準差所構成;中間那條即為中軌,為價格的移動平均線。
多數情況之下,價格總是在上下軌道組成的帶狀區間中運行,且隨價格的變化而自動調整軌道的位置。而帶狀的寬度可以看出價格變動的幅度,愈寬表示價格的變動愈大。

2013年11月21日 星期四

[SQL Server 2008R2][SSRS] 移動平均圖

當數字以密集的時間間距觀察時,可能會因為急速波動而看起來很雜亂,難以歸納趨勢。此時「移動平均 ( Moving Average ; MA )」成為分析數據趨勢的重要工具,利用固定期間的數值平均,可以有效消除短期的數值波動,能夠更明確聚焦在長期的序列趨勢,移動平均圖常應用在品質管制或股票技術分析。例如股價的 10 日線,就是指過去 10 天股價平均值所畫出來的趨勢線。

2013年11月19日 星期二

[SQL Server 2008R2][SSRS] 股票圖

SSRS 也可以製作股票圖,一般在公司上的應用應比較少,因為在外面的一堆理財網站,都可以查得到。不過還是來實做一下股票圖的製作。股票圖是專門用於分析股價價格波動的圖表,其中「K 線圖」是最被投資人使用的分析圖。
以每交易日的開盤價、最高價、最低價及收盤價繪製 K 線圖,其結構分為上影線、下影線及中間實體三部分。所謂上影線即為開盤價至最高價之間的直線部分;下影線則是收盤價至最低價間的直線部分。至於實體是由收盤價與開盤價所構成。
如果收盤價較開盤價為高 ( 即開低收高 ),以空白柱體表示,也稱之為「陽線」;反之開盤價較收盤價為高 ( 即開高收低 ),以黑色柱體表示,也稱之為「陰線」。


[SQL Server 2008R2][SSRS] 泡泡圖與散佈圖

泡泡圖與散佈圖的性質非常相似,通常是應用在顯示兩個連續變數之間的相關性。例如銷售表中,除了單獨看銷售數量與銷售金額之外,可能也想要知道這兩個數直之間的相關性 ( 趨勢線 ),同時看看有無商品是否偏離這個趨勢 ( 銷售數量高卻銷售金額低於平均 ),即可塵用散佈圖來製作圖表。
至於泡泡圖則是較散佈圖多納入一組連續變數,藉由此連續變數的數值來決定資料數列的顯示大小,例如銷售報表中可以加入毛利率來顯示泡泡的大小。

2013年11月11日 星期一

[SQL Server 2008R2][SSRS] 柏拉圖

柏拉圖法則也就是一般在商業界所熟悉的 80 - 20 法則。美國經濟學者羅倫茲 ( M. O.Lorenz ) 使用累積分配曲線來描繪出柏拉圖法則的趨勢,即經濟學上所稱的羅倫茲 ( Lorenz ) 曲線,廣泛的被使用在國民所得分配以及信用卡評分卡模型評估上。
美國品管學家朱安 ( J.M. Juran ) 首度將羅倫茲苗線觀念導入品管工作,創造了「重要的少數」及「不重要的多數」的重要觀念,並借用柏拉圖名字將此現象定為「柏拉圖原理」,至今被視為品管七大手法之一。
( 以上截錄悅知文化 SQL Server 2008 R2 Reporting Services 報表服務一書第五章)

2013年11月6日 星期三

[SQL Server 2008R2][SSRS] 圖表上的資料點格式化

為了方便顯示值的資料於圖表上,當以滑鼠右鍵點選一下圖表,然後選取「顯示資料標籤」時,可以顯示資料點標籤。



2013年11月1日 星期五

[SQL Server 2008R2][SSRS] 圓餅圖並排顯示

在同一個圖表外框中同時顯示出三個圖餅圖,各表示不同數值佔比,且共用同樣的圖例。
在「圖表屬性」中加入新的圖表區域。

[SAP][Data Service] Data Services Designer 找不到 Keycode 或過期

今天發生了一件怪事,要開啟 SAP Data Services Designer 時,竟跳出了一個錯誤訊息。

The base keycode for the Data Services platform was not found or has expired.
Obtain a valid keycode and use the License Manager to update your installation.(BODI-1116106)


在安裝時必須輸入 Keycode 才能安裝,雖然已有一段時間沒去開這個應用程式,也不應消失或過期的問題。

[SQL Server 2008R2][SSRS] 圓餅圖小面積扇形處理

在圓餅圖中一些佔比較低的小面積扇形,會造成標示數列標籤時造成內容重疊的問題,通常它們的重要性也不高,為了解決這個問題,仍要調整。

  1. 第一種方法是可以將佔比較小的扇形區域合併為「其他」項目。在數列屬性中的「CustomAttribues」屬性集合內的「CollectedStyle」屬性設為「SingleSlice」後,將「CollectedThresholdUsePercent」屬性設為「True」
  2. 以及將「CollectedThreshold」屬性設定為「10」,這表示將佔比小於 10% 的扇形重組為新扇形。
  3. 至於此新扇形數列標籤「CollectedLabel」屬性預設為「其他」。
  4. 把「CollectedSliceExplode」設為 True。可以把合併後的扇形向外推出。


2013年10月28日 星期一

[SQL Server 2008R2][SSRS] 圓餅圖

圓餅圖是用來表現資料相對大小與分佈的圖表,在實務上是很常被使用的圖表之一。將工具箱中的圖表物件拉至報表區中,選取「形狀圖」類別中的「圓形圖」。


2013年10月24日 星期四

[SQL Server 2008R2][SSRS] 圖表中的 CustomAttributes 相關屬性

SSRS 2008 R2 的圖表中有些進階的視覺效果參數放在「數列屬性」中的 CustomAttributes 之中,使用這些屬性來提升報表的視覺效果。

2013年10月19日 星期六

[SQL Server 2008R2][SSRS] 雙軸混合圖表

當數量級差異較大的兩組數列並排在同一張報表中時,可以利用數列屬性來設計雙軸報表。
將銷售金額及銷售數量拖拉至資料欄位中,再將銷售年度拖拉至類別目錄欄位。

因為銷售數量遠低於銷售金額,幾乎無法檢視銷售數量。

[SQL Server 2008R2][SSRS] 圖表概要

SSRS 2008 R2 提供了豐富的圖表類型外,還提供了微型圖 ( Micor-charting ) 及量測計 ( Gauge ) 功能,可以藉由走勢圖、資料橫條、指標、溫度計等方式來呈現關鍵績效指標 ( KPI )。撰擇適當的圖表類型是決定報表好壞的關鍵因素。

2013年10月8日 星期二

[SQL Server 2008R2][SSRS] 鑽研式報表 ( Drill Through )

鑽研式報表 ( Drill Through ) 的觀念來自於多維度分析,這和下鑽式報表 ( Drill Down ) 是不相同的。所謂鑽研式報表是由母子報表 ( 兩張獨立的報表 )所構成的,在母報表中先定義某些區域經點選後可以呼叫子報表,使用者藉由觸發母報表定義好的儲存格,以導向定義好的子報表。同時在母報表連結至子報表的過程中,可以根據點選母報表儲存格的位置,截取欄位資訊轉換為報表參數自動輸入至子報表中

2013年10月7日 星期一

[SQL Server 2008R2][SSRS] 父子式階層報表

在多維度分析中,父子式維度是非常重要的維度結構之一。它可以用最精簡的資料結構來處理層數過多、層數不對稱以及層數不確定的階層結構。像是組織架構、會計科目或是製造業的物料表 ( BOM ) 都屬於父子式階層。

2013年10月2日 星期三

[SQL Server 2008R2][SSRS] 下鑽式報表 Drill Down

下鑽式報表可以先將下層群組或詳細資料先縮合起來,等使用者要瀏覽時再展開,雖然視覺效果「類似」多維度分析,但因缺乏預先彙總,因此效率是無法取代多維度分析的。所以,也有人是先設計多維度分析 Cube ,再利用 SSRS 套表,這樣就可以兼顧結構上的彈性及效能考量。

[SQL Server 2008R2][SSRS] 書籤

SSRS 書籤的應用就是設定簡單的點選,可以快速移至指定的地方 ( 快速移動指定的「書籤識別碼」位置 )。與文件引導模式不同的是,書籤要在報表中預先設置好書籤,然後搭配在物件的「動作 ( Action )」屬性中設定「跳至書籤」以切換至報表某處

2013年10月1日 星期二

[SQL Server 2008R2][SSRS] 文件引導模式

「文件引導模式」功能,讓報表產文件引導模式標籤 (在報表的左方) ,藉此解決使用者面對大型報表資料搜尋的困擾。索引來源可以是單一欄位,也可以是多個群組欄位所構成的階層式索引。當使用者點選左方文件引導模式索引的某個項目時,右方的報表就會立刻跳至使用者選取的項目位置,對於在龐大的報表資料中尋找資料,是相當方便。


2013年9月30日 星期一

[SQL Server 2008R2][SSRS] 互動式排序

使用資料集查詢語法加入 Order By 的方式,或是在資料表物件屬性中的「排序」功能指定資料排序都屬於固定式的排序。為了方便使用者用隨時改變欄位排序規則,可使用互動式排序功能。

[SQL Server 2008R2][SSRS] 參照函數 Lookup、MultiLookup、LookupSet

在 SSRS 中,一張報表內可以包含多個資料集,但在一個資料區域就僅限於一個資料集,如果希望同時參考多個資料表,其概念類似 JOIN 是透過鍵值的對應,以傳回一個值或一組值。
一般會使用這種方式是因為不同的資料集來自不同的資料來源 ( SQL、Oracle....),所以無法在資料集的 SQL 語法中使用 JOIN 方式把要的值合併在同一個資料集中。

2013年9月24日 星期二

[SQL Server 2008R2][SSRS] 指定行數分頁

在設計報表時,使用者可能希望資料列可以以每 20 筆一頁的方式呈現。即會使用到 Rownumber 函數。可以在群組對象的運算式方格中輸入

= Rownumber (Nothing) \ 20 以除以 20 取整數的方式來分群組。

[SQL Server 2008R2][SSRS] 隔行換色

為了方便檢視報表,常用使用者有需要隔行換色的需求。先準備好要用的資料表後,先將要處理的儲存格一次選取。

再點選屬性視窗 BackgroundColr 中的運算式...

[SQL Server 2008R2][SSRS] 其他函數 RowNumber

RowNumber 函數,傳回指定範圍中資料列數的執行計數。其語法如下:

RowNumber( Scope )

RowNumber 函數可以做出自動編號的功能 ( RunningValue 也可以做到 ),也可以應用在資料儲存格根據序號進行隔行換色的效果。

2013年9月4日 星期三

[SQL Server 2008R2][SSRS] 彙總函數 RunningValue

RunningValue 函數可以用來處理累積計算的功能,包含累加、移動平均等,其語法如下:

RunningValue( 運算式 , 彙總函數 , Scope )

2013年9月3日 星期二

[SQL Server 2008R2][SSRS] 群組頁碼

SSRS 2008 R2 之後,PageNumber 和 TotalPage 這兩個內建欄位的意義與舊版不同。在以前的版本中,只有 PageNumber 和 TotalPage 用於頁碼計算,當時最因擾的問題在於無法產生群組內頁碼,為了解決這個問題,在 SSRS 2008 R2 中加入了 OverallPageNumber 和 OverallTotalPage 這兩個內建欄位表示總體頁碼,因此 PageNumber 和 TotalPage 在此就表示群組內頁碼的意思。

[SQL Server 2008R2][SSRS] 分頁設定 PageBreak

Tablix 資料區 (資料表、矩陣和清單)、群組和矩形支援分頁。
分頁包含下列屬性:

  1. BreakLocation 會針對啟用分頁的報表元素,提供分頁的位置:開頭、結尾,或開頭和結尾。 若是群組,BreakLocation 可以位於群組之間。
  2. Disabled 會指出是否將分頁套用至報表元素。 如果這個屬性評估為 True,則會忽略分頁。 如果使用這個屬性,可以根據報表執行時的運算式,以動態方式停用分頁。
  3. ResetPageNumber 會指出分頁時,是否應該將頁碼重設為 1。 如果這個屬性評估為 True,則會重設頁碼。

[SQL Server 2008R2][SSRS] 空值補零

在 SSRS 設計報表時,常會遇到空值的問題,為了美觀或使用者閱讀,會將空值欄位補零。在一般的 SQL 語法查詢可以使用以下方式來補零

SQL : Select ProductName, IsNull(SaleAmount, 0) From OrderDetail

Oracle : Select ProductName, Decode(SaleAmount,null,0)

2013年9月2日 星期一

[SQL Server 2008R2][SSRS] 邏輯函數 IIf、Choose、Switch

用於流程判斷可以使用 IIf、Choose、Switch 這三個函數。

IIF ( boolean_expression, true_value, false_value )  : 根據布林運算式評估為 true 或 false 而傳回兩值之一。

例如年收入大於 60,000 時,顯示達成,反之則顯示未達成。
=IIf(Fields!YearlyIncome.Value >= 60000,"達成","未達成")

也可以使用巢狀 IIF,例如設定儲存格背景色 BackgroundColor ,當 PctComplete 的值大於等於 10 時,設定為 Green ,小於 10 但大於等於 1 時,則設定為 Blue ,其餘 (值小於 1 ) 設定為 Red。

=IIF(Fields!PctComplete.Value >= 10, "Green", IIF(Fields!PctComplete.Value >= 1, "Blue", "Red"))

太多層的巢狀 IIF 會增加判別的複雜度,因此可以使用 Choose 或 Switch 來取代。


Choose ( index , val_1, val_2 [, val_n ] ) : 從數值清單傳回指定之索引的項目。

例如生日是星期幾的顯示

=Choose(Datepart("w",Fields!BirthDate.Value),"星期日"、"星期一"、"星期二"、"星期三"、"星期四"、"星期五"、"星期六")

第一個參數必須傳回數值的資料。


Switch( boolean_expression_1, true_value_1, boolean_expression_2, true_value_2,[ boolean_expression_n, true_value_n]) : 評估運算式清單,並傳回清單中第一個為 True 之運算式的對應 Object 值。

例如設定儲存格背景色 BackgroundColor ,當 PctComplete 的值大於等於 10 時,設定為 Green ,小於 10 但大於等於 1 時,則設定為 Blue ,等於 1 時,則設定為 Yellow ,小於等於 0 設定為 Red。

=Switch(Fields!PctComplete.Value >= 10, "Green", Fields!PctComplete.Value >= 1, "Blue", Fields!PctComplete.Value = 1, "Yellow", Fields!PctComplete.Value <= 0, "Red")

2013年8月30日 星期五

[SQL Server 2008R2][SSRS] 運算式

SQL Server 2008 版本的 SSRS 設計報表時,介面提供了許多屬性設定,可以用來修改物件的外觀以及呈現模式,而大多數的屬性也都支援利用運算式的模式。只要在屬性值下拉式選單有出現「運算式...」或是「fx」的字樣,就表示可以利用運算式的技術,根據邏輯判斷以產生複雜的呈現效果。
目前 SSRS 支援 VB.NET 的運算式語法。可以使用這些運算式進行處理以產生要呈現的值,或是可以透過運算式的撰寫,根據條件動態指定報表物件的屬性值。

[SQL Server 2008R2][SSRS] 縮排式群組報表

一般報表的群組呈現是資料列以兩層的結構來顯示例如產品大類與產品中類的階層關係。


利用 Tablix 可以做出縮排式群組報表 ( 在報表產生器中稱為階梯式階層 ) ,可以用來節省空間及排版有不同的變化效果。

[SQL Server 2008R2][SSRS] 連動式參數設定順序

為了更有效率搜尋,例如快速的選到希望檢視的產品品類時,則可使用連動式參數 ( Cascading Parameter ) 的方式來篩選資料,第一個參數是產品大類,選擇後再決定第二個參數產品中類的值。當前置參數被選定之後,就會同時限制了後設參數的值域。
連動式參數的秘訣就在產品中類資料集的查詢語法中參照了產品大類資料集中的變數。
連動式參數是有優先順序的,在報表資料視窗中,在參數類別的樹狀目錄下,其順序表示它們被產生的順序,因此要特別注意優先順序,可利用上方的箭頭調整其順序。

2013年7月31日 星期三

[SQL Server 2008R2][SSRS] 預設值全選

SSRS 在使用互動式報表中可以在報表參數屬性中設定預設值,在報表首次載入時,即帶入預設值來顯示資料,預設的選項是「沒有預設值」。
「指定值」用來指定特定值,可以加入多個指定值,但必須搭配資料集中 WHERE 參數的句型,多個指定值時要使用 WHERE  欄位名 IN (@參數) 才不會出錯。不然會出現「處理本機報表期間發生錯誤。報表處理期間發生錯誤。資料集 'XXXX' 的查詢執行失敗。接近 '.' 之處的語法不正確。」


2013年7月23日 星期二

[SQL Server 2008R2][SSRS] 巢狀清單

SQL Server Reporting Service 中,清單的彈性最大,因為可以自由排列資料所放的位置。清單是以一筆一筆的方式呈現詳細資料,清單的應用大多在列印繳費單、客戶的通知信函、郵寄用的名條等功能。
清單物件都會伴隨著一個同樣大小的矩形物件,如果要設定清單的框線其實是設定此矩形物件的框線屬性。
清單也可以對資料進行群組設計,甚至可以在清單中加入清單的方式來做到「巢狀」的群組架構。例如在第一個清單中設計出學生的明細,然後在其中加入另一個清單或是其他資料區物件,來列出該學生的所有繳費項目明細。

2013年7月19日 星期五

[SQL Server 2008R2][SSRS] 複選參數的使用

SQL Server Reporting Service 複選參數的使用必須有個前提,就是在查詢語法的 WHERE 條件中必須使用 IN( 參數 ) 的句型。例如 : WHERE YEAR(TRX_DTE) IN (@YEAR) 接下來在參數屬性對話方塊中勾選「允許多個值」選項才不會有錯誤發生。
若 WHERE YEAR(TRX_DTE) = @YEAR 並勾選「允許多個值」選項,執行結果會出現錯誤畫面。