搜尋本站文章

2013-01-17

新手學SQL Server 2012「SQL視窗函數(SQL Windows Function)」(2),以CUME_DIST、PERCENT_RANK、PERCENTILE_CONT和PERCENTILE_DISC視窗統計分佈函數為例


在前一篇文章中,介紹了認識「SQL視窗」、認識OVER子句、認識視窗資料分割、認識視窗框架與排序、認識SQL視窗函數、以及說明如何使用視窗彙總函數等主題。

在本次文章中,將繼續討論視窗統計分佈函數,包含有:CUME_DIST、PERCENT_RANK、PERCENTILE_CONT和PERCENTILE_DISC等主題。

認識視窗統計分佈函數

「視窗統計分佈函數(Window Distribution Functions)」用於在視窗或視窗資料分割的資料列上執行統計分析。可以不需要PARTITON BY來設定資料分割,但必須使用ORDER BY次子句來排序。而且,統計分布函數所處理的每一筆資料列皆會傳回排名值,其值域的範圍是介於0.0到1.0之間。

在SQL Server 2012版本中提供了統計分佈函數:PERCENT_RANK和CUME_DIST。也提供了「逆統計分佈函數(inverse distribution functions)」:PERCENTILE_CONT和PERCENTILE_DISC。



完整文章,請參考以下的網址:

新手學SQL Server 2012「SQL視窗函數(SQL Windows Function)」(2),以CUME_DIST、PERCENT_RANK、PERCENTILE_CONT和PERCENTILE_DISC視窗統計分佈函數為例


2013-01-10

新手學SQL Server 2012「SQL視窗函數(SQL Windows Function)」(1)


在先前的版本上,對於商業報表上常見的分析需求,例如:進一步的資料分群排名、「累加值(running totals)」等的統計運算,多半是利用SQL Server Reporting Services或Microsoft Excel等前台工具來完成。

前述的這些查詢需求,需以特定的資料區間為單位進行運算,而後進行逐筆的遞移來橫跨整個資料結果集,這種運算方式,因為具備逐筆滑動結果集視窗的特性,若要在後台的資料庫系統上,使用Transact-SQL來處理,這可能需要藉由數個複雜的資料操作,例如:使用資料表的「自我聯結(Self-joins) 」、暫存資料表、CTE或是「資料指標(Cursor)」等物件,進行組合出所需要的報表結果。

如今,在SQL Server 2012版本上,可以使用「SQL視窗(SQL Windows)」與「SQL視窗函數(SQL Windows Function)」的方式,來處理這類複雜的報表分析需求。

完整文章,請參考以下的網址:

新手學SQL Server 2012「SQL視窗函數(SQL Windows Function)」(1)