2012年6月4日 星期一

AS2000 MDX , TOP N with member name

人客想要在AS2000找出本年度1月到上月為止排名前10的產品大類名稱、排名及數量

其中
XX02年月為國曆 年月(例10105)
XX10產品為產品維度



//提供本年度1月到上月為止 總計的的TOP N MDX語法
With
MEMBER [X].[XX02年月].[THISYEAR] 
AS ' SUM (LASTPERIODS( IIF(MONTH(NOW() ) = 1 , 12, MONTH(NOW()) -1) ,  STRTOMEMBER ( "[X].[XX02年月].[ALL].[" + CSTR( IIF( MONTH(NOW()) = 1 , YEAR(NOW() ) -1912, YEAR(NOW()) -1911 )  )  + "].[" + CSTR( IIF ( MONTH(NOW()) = 1 ,YEAR(NOW() ) -1912 , YEAR(NOW()) - 1911)  )  +  RIGHT( "00" + CSTR( IIF(MONTH(NOW() ) = 1 , 12, MONTH(NOW()) -1) )  , 2 )  + "] " ) )  ) ' 

SET [ROW] 
AS '   topcount   ( {   [X].[XX10產品].LEVELS(1).ALLMEMBERS }   ,10, [MEASURES].[數量]   )    '

MEMBER [Measures].[排名]  
 AS   '  RANK (   [X].[XX10產品].CurrentMember, [ROW]  )  '

MEMBER [Measures].[產品名稱]  
AS   '   [X].[XX10產品].CurrentMember.Name  '

SET [COL] 
AS ' {  [Measures].[排名]   ,  [Measures].[產品名稱]  , [MEASURES].[數量]  }  '

Select
[COL]    On Columns  ,

[ROW]     On Rows

From CubeProducts

Where (  [X].[XX02年月].[THISYEAR]   )


 人客又反應, 排序怪怪的沒有按照順序排,
所以把 [ROW] 改成以下囉


SET [ROW] 
AS '    ORDER ( TOPCOUNT( {   [X].[XX10產品].LEVELS(1).ALLMEMBERS }   ,10, [MEASURES].[數量]   )  , [MEASURES].[數量]    , DESC  )    '

2012年6月2日 星期六

Microsoft JScript 執行階段錯誤: 物件沒有支援這個屬性或方法 'trim'

在IE9.0.8112 16421 上遇到這個問題
Microsoft JScript 執行階段錯誤: 物件沒有支援這個屬性或方法 'trim' 

有時用中文錯訊息總是google不到有用的解決方法, 所以要拆解一下關鍵字進行搜尋

自已覺得查找過程最快也最有效的方法是使用英文版的google 屢試不爽.

使用Microsoft JScript 'trim' 找到完整的英文訊息

Microsoft JScript runtime error: Object doesn't support this property or method  'trim'

運氣好一點,直接找到了相似的問題,通常就可以知道解決方法.

如這里的討論文 http://osdir.com/ml/jQuery/2009-07/msg02922.html

jQuery's trim is used like:
var str = $.trim(str);


publish error allowDefinition='MachineToApplication'

一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...