2022年3月31日 星期四

SSAS MDX 動態參數的一種作法

專案有很多那種有X軸Y軸不同層級結構的表,我們的解決方式是建置OLAP CUBE來做martix的統計報表,前端用EXCEL畫範本,後台則用ADOMD連線執行MDX,針對MDX中的機關單位及年月設定參數,執行時再置換參數產出結果套表。

 如果傳入的年月需依傳入的值做動態變化,因MDX中無法像TSQL那樣使用變數宣告做值的運算,純粹寫MDX的話原則是可以用strtomember或strtoset的方式來克服, 例如:

where (

(strtoset("[年月].[年月].["+str(round(@ym/100,0)*100+1)+"]:[年月].[年月].[@ym]")

其中 @ym是後端程式依前端指定的年月做replace。

如此一來就可做到動態設定值的運用了。

 

沒有留言:

張貼留言

IIS 網站無法下載中文檔名檔案因為取消高位元字元

 網址+中文檔案名稱方式下載檔案顯示 404 - 找不到檔案或目錄。 但英數字檔案名稱則可下載。 因為設定GCB IIS,其中1項 將高位元字元預設取消勾選了。 27 TWGCB-04-014-0028 要求篩選與其他限制模組 允許高位元字元 這項原則設定決定查詢...