顯示具有 MDX 標籤的文章。 顯示所有文章
顯示具有 MDX 標籤的文章。 顯示所有文章

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。

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

 

2020年10月7日 星期三

parent-child 維度排除parent=child後的彙總值

使用parent-child dimension時,若parent本身也有數值時,則measure會彙總本身及其下的members數值。

現在有個需求想要在某張表中,排除parent本身的數值。

https://docs.microsoft.com/zh-tw/analysis-services/multidimensional-models/parent-child-dimension-attributes?view=asallproducts-allversions

像這篇範例說的 ,Sales Manager 1 底下有Salesperson 1 和 Salesperson 2,彙總時,Sales Manager 1的值包含Sales Manager 1 本身及Salesperson 1 和 Salesperson 2的銷售額。

如果Sales Manager 1 只想要顯示 Salesperson 1 和 Salesperson 2時,則可以使用DataMember這個函數自訂一個member來逹成。

WITH MEMBER measures.InvidualQuota AS   
([Employee].[Employees].currentmember.datamember, [Measures].[Sales Amount Quota])  
,FORMAT_STRING='Currency'  
SELECT {[Measures].[Sales Amount Quota],[Measures].InvidualQuota} ON COLUMNS,  
[Employee].[Employees].MEMBERS ON ROWS  
FROM [Adventure Works]  

 維度中若要排除paretn=child的顯示時,在MembersWithDta指定NonLeafDataHidden即可。

 

若不指定隱藏,則將如同此篇文章所示,parent本身也會顯示在child list中。

https://social.technet.microsoft.com/wiki/contents/articles/40299.ssas-parent-child-dimension.aspx

 

 

 

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

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