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);


2012年5月29日 星期二

FormsAuthentication.Decrypt 總是回傳 null

修改一個vs2008寫的 專案.
在debug模式下,進行到 FormsAuthentication.Decrypt ( mycookie.value) 時老是回傳null
 但publish後執行卻又很正常?

查到 Tony's Programming Blog 的文章
情況很類似,查看KB 2656351 後,發現作業系統是windows 7的環境, 但我的環境是windows XP!!

使用Google 查找關鍵字 kb 2656351 .net 3.5
找到了KB 2656352適用在windows XP 的安全性更新

下載後執行安裝, 問題就解決了.

2012年5月17日 星期四

使用Data Dictionary Creator

如果是重度使用SQL Server Extended Property來記錄額外的欄位資訊者
那 Data Dictionary Creator 這個工具一定要下載來用.
方便你建立額外的自定義屬性例如中文名稱,備註,tooltips等等


他預設會顯示MS_Description這個屬性, 如果你有一些自定義屬性也要顯示,
則在Advanced Setting頁籤中,指定這些額外屬性名稱,如下圖,多個屬性用逗點隔開


接著在DocumentDatabase頁籤中,就會出現這些額外屬性的定義了.如下圖:


真方便.

select a.name,b.column_id,b.name,d.value,d.name
 ,c.name,c.xtype,b.max_length,b.is_nullable
  from  sys.tables a inner join  sys.columns b
    on a.object_id = b.object_id inner join sys.systypes c
    on b.system_type_id = c.xusertype left outer join  sys.extended_properties d   
   on a.object_id = d.major_id and b.column_id = d.minor_id
 order by a.name,b.column_id

 這樣也是可以讀取到所有的欄位及屬性

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

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