Tag Archives: SQL BI

透過 RS 呈現 R 的圖形

參考:https://www.mssqltips.com/sqlservertip/4127/sql-server-2016-r-services-display-r-plots-in-reporting-services/

我寫的範例報表 ShowRImage.rdl

透過 T-SQL 呼叫 R Script 可以直接傳回圖檔的 binary 結果,就可以透過影像物件呈現

以如下的 R-Script 為例

EXEC   sp_execute_external_script
      @language = N’R’
     ,@script = N’    df <- inputDataSet; #read input data
                image_file = tempfile(); #create a temporary file
                jpeg(filename = image_file, width=500, height=500); #create a JPEG graphic device
                hist(df$Ages); #plot the histogram
                dev.off(); #dev.off returns the number and name of the new active device (after the specified device has been shut down). (device = graphical device)
                #file() opens a file, in this case the image. rb = read binary
                #readBin() reads binary data. what = described the mode of the data. In this case, it"s raw data. n = maximum number of records to read.
                #data.frame converts the data to a data frame, which is required as output by SQL Server. The result is written to the OutputDataset variable.
                OutputDataset <- data.frame(data=readBin(file(image_file,"rb"),what=raw(),n=1e6));
                    ‘
    ,@input_data_1 = N’SELECT Ages = DATEDIFF(YEAR,[BirthDate],GETDATE())
                        FROM [AdventureWorksDW].[dbo].[DimCustomer];’
    ,@input_data_1_name = N’inputDataSet’
    ,@output_data_1_name = N’OutputDataset’
WITH RESULT SETS ((plot varbinary(max)));

從 SSMS 的執行結果可以取到 varbinary(max) 的結果:

image

在 Report Builder 就以這段 T-SQL 當作資料集

image

在報表中加入影像物件,設定來源就是資料庫傳回:

image

透過 Report Builder 和 Report Server 都可以正常執行:

image

image

廣告

做 BI 要學什麼

昨天有位私交不錯,教開發的資深講師問我:有位學員問學 BI 要上什麼課

我:BI 流程大分 ETL、Data warehouse、Business Model、UI,這四大區塊都有雲跟地兩類技術的選擇,以及結構化與非結構化的選擇,所以 4*2*2 種變化組合

此外:

DW 還分 SMP 和 MPP

BM 分 In-Memory/Disk,Cube/Tabular,Data Mining/R/Machine Learning

UI 分報表/行動/Portal…

這些變化再相乘

朋友:喔…我請他直接問你好了

透過 AS OLEDB Provider 要以 DNS Alias Name 連 Analysis Services

需要 DisableLoopBackCheck:https://connect.microsoft.com/SQLServer/feedback/details/432644/create-and-alias-to-a-named-instance-of-analysis-services-2005-8

台灣縣市經緯度

給 Power Query + Power Map 用的練習資料

新北市

121.6739

24.91571

高雄市

120.666

23.01087

臺中市

120.9417

24.23321

臺北市

121.5598

25.09108

桃園縣

121.2168

24.93759

臺南市

120.2513

23.1417

彰化縣

120.4818

23.99297

屏東縣

120.62

22.54951

雲林縣

120.3897

23.75585

苗栗縣

120.9417

24.48927

嘉義縣

120.574

23.45889

新竹縣

121.1252

24.70328

南投縣

120.9876

23.83876

宜蘭縣

121.7195

24.69295

新竹市

120.9647

24.80395

基隆市

121.7081

25.10898

花蓮縣

121.3542

23.7569

嘉義市

120.4473

23.47545

臺東縣

120.9876

22.98461

金門縣

118.3186

24.43679

澎湖縣

119.6151

23.56548

連江縣

119.5397

26.19737

 

臺灣行政區人口列表

http://zh.wikipedia.org/wiki/%E8%87%BA%E7%81%A3%E8%A1%8C%E6%94%BF%E5%8D%80%E4%BA%BA%E5%8F%A3%E5%88%97%E8%A1%A8

內政部統計查詢網

http://statis.moi.gov.tw/micst/stmain.jsp?sys=100