顯示具有 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

 

 

 

VS CODE離線安裝套件方式-續

去年 vscode離線安裝 powershell nupkg 今年在一台無外網的 windwos 2025上安裝時遇到了powershell版本一直讀取到了5.1的版本,鬼打牆了一下午,在VM還原重測測了好幾回,應該是可行了。 將下載到的免安裝powershell 解壓縮到...