ProClarity Deskstop Professional – Empty cell does not display 0

In PDP, if the cells are empty value, it will not display 0 automatically:

Apparently, this is cube issue – The value of ‘NULL PROCESSING’ property for the measure:
Find out more here:

Proclarity standard – The selected page could not be opened because the cube could not be found

Here is good article explain the error in proclarity web standard.

SQL IN clause causing slow performance

As some of you aware, SQL IN clause is known as “slow” operator. This is very true when you come to big number of keys to search in the IN clause. E.g.

FROM Sales
WHERE CustomerID IN (SELECT CustomerID FROM @SearchCustomer)

** @SearchCustomer is a table variable consist of all the customerid (e.g. 20,000 IDs).

To accomplish the same result, we can always write it as:

FROM Sales S
INNER JOIN @SearchCustomer SC
ON S.CustomerID = SC.CustomerID

The result can be improved significantly. For my case, old query that take 5 minutes to execute can be done in 20 seconds with the new query.

Posted in MS SQL. 2 Comments »

SQL Server Reporting Services 2005 report parameter auto Postback Issue!

I am sure some of you might experience the annoying auto postback on SSRS report parameters. It will postback every time you change the value of the parameter even there do not have any dependencies at all. I am having this problem for several reports with quite a number of parameters. I tried googling but doesn’t help much. After some try and error, I manage to fix some of it (not 100%). This is cause by how we input the default value on the report parameters and dataset parameters. For example, you need to set the default value “100” to a parameter. Some of you might put in “=100”. Try to change it to “100” without the “=” sign. This stupid “=” sign is causing my report to keep on post back for every change. You might need to apply the same rules at your dataset parameters. I am not sure it is 100% works but at least it solves most of my reports. Hope this can help! Do let me know if you got better solution!

Download Crystal Reports merge modules for VS2005

As usual, we need crystal report merge module when creating deployment package for VS2005 with crystal report. I thought we can get it easily out there. Surprisingly, I took quite some times to search and found it at here:


PerformancePoint Server to be merged into next SharePoint version.

I noticed from my colleague that “PerformancePoint Server 2007 will no longer be a standalone item on the Microsoft price list as of April 1, 2009. Microsoft will release PerformancePoint Server 2007 “Service Pack 3” which will include updates to the current product’s Planning module in mid-2009. This will be the final release of the product and the final release of the Planning component. This release will contain many key feature and functionality enhancements that our customers and partners have requested.”

The functionalities of PerformancePoint Monitoring & Analytics with all scorecard, dashboard, and analytical capabilities will move from PerformancePoint Server into next SharePoint Server Enterprise version.

As a result, end user can save cost without need to purchase additional PPS server license. PerformancePoint Monitoring & Analytics modules are very powerful tools which allow user to easily analyst and monitor their business performance. I believe SharePoint Server will become a popular product very soon.

SQL script to generate random number and decimal as per row basis

This is nothing new on how to generate random number as per row basis. I am using NewID() method and complied into SQL function. Just to keep as my own record. Here are the 2 functions which return integer and decimal value.


 CREATE FUNCTION dbo.udf_GetRandomNumber(
@MinValue AS INT = 0,
@MaxValue AS INT = 1000
 RETURN ABS(CAST(CAST(@GUID AS VARBINARY) AS INT) % (@MaxValue – @MinValue + 1)) + @MinValue



 SELECT dbo.GetRandomNumber(NewID(),100,500) FROM TableA
– Return random number from 100 to 500 as per row basis


CREATE FUNCTION dbo.udf_GetRandomDecimal(
@MinValue AS INT = 0,
@MaxValue AS INT = 1000,
 DECLARE @dResult AS DECIMAL (18,2)
  SET @dResult = ABS(CAST(CAST(@GUID AS VARBINARY) AS INT) % (@MaxValue-@MinValue + 1)) + @MinValue + ABS(CAST(CAST(@GUIDDecimal AS VARBINARY) AS INT) % 100)/100.0
  SET @dResult = ABS(CAST(CAST(@GUID AS VARBINARY) AS INT) % (@MaxValue-@MinValue + 1)) + @MinValue

 RETURN @dResult



SELECT dbo.GetRandomDecimal(NewID(),100,500,NewID()) FROM TableA
– Return random decimal number from 100.00 to 500.99 as per row basis

MOSS DCom Error 8007013d

Do you ever get DCom Error like below when accessing MOSS?

Retrieving the COM class factory for component with CLSID {xxxxxxxxxxxxxxxxxxxxxxxxxxxxx} failed due to the following error: 8007013d

One of my colleague (LJ) having this error in their project. After struggling for few days he manages to find for the solution. It seems like one of the permission for the registry is not given enough access. After adding “Everyone” in the permission for the registry (by default Everyone is given rights to access that reg key), IISRESET and the portal is back to normal.

Visual Round Trip Analyzer – VRTA

I come across this tool from my colleague. It is pretty interesting especially for public internet site or intranet site operating over low bandwidth.

“The Visual Round Trip Analyzer tool helps web developers and testers visualize the download of their page, identify best practices and changes that improve web performance. The network Round-Trip between the client and server(s) is the single biggest impact to web page performance – much greater than server response time. VRTA examines the communications protocol, identifying the causes of excessive round-trips, and recommending solutions. Performance engineers, testers, developers, operations personnel should use VRTA to conduct their web performance analysis”

Download here:

This installation required MS Network Monitor 3.2 to capture file for VRTA analysis. (

Here are some screens previews after do some testing on

It provides detail performance analysis and overall score rating. The results are more comprehensive compare to firebug in Mozilla FireFox. My seems get pretty bad rating. Time to change hosting company? :P

Maybank2u (M2U): All-New, All-You, All-Disappointments!

Our country biggest bank launched their new web 2.0 internet banking portal yesterday (16 Oct 2008).

“With the all-new, all-you M2U 2.0, Maybank now has an internet banking portal built using modern code on a next-generation platform. The chosen platform is scalable and opens the door for Web 2.0 style features to be implemented on the portal. Armed with a new mindset, modern website templates, content management platform and streamlined internal processes, M2U 2.0 now paves the way for richer interactive content, online support and even mobile banking in the future.”

I tried the new portal to manage my daily banking transactions. All-New, All-You but All-Disappointment! I am very disappointed with their new portal. Here are some in my experiences and questions in my mind:

  1. Do they do any performance testing? Every click takes 5-10 minutes. Then, connection time out or you will get “System Busy” error.
  2. Tones of errors with the new portal. Here are the few common errors happened.
    • Session expired after 5 minute even though you continuously hitting the portal.
    • Try to do interbank fund transfer and you might get rejected code XXXXX
    • You can easily get “Our service is currently unavailable” when clicking around the portal such as checking account balance.
  3. I guess there might be many people complaint on the new portal. So, they reopen the old maybank2u portal during the transition period today. Again, it is slow, session expired error still happened. Somehow the integration got some problem. You will get a weird screen which consists of new and old portal.
  4. Do you think the new portal become more user friendly? The old portal have clear navigation link on the left hand side. With the new portal main navigation link move to top side and its sub navigation link on the left hand side. This means that we need to have more clicks in order to reach our targeted page.

Lastly, how can all these happen to an internet banking portal? Internet banking portal is all about money transactions. With all these problems, someone maybe not able to transfer their money on time, pay their bill on time and etc. I don’t think I need a very fancy portal with very nice web 2.0 features, interactive contents and AJAX features. Adding all these features become a burden to it system architecture and performance. This is not a social network portal. All I want is get my thing done fast with simple and direct user-interface!

* I hope this is not out of topic from my blog. But, I think there are some problems on the entire project implementations. No proper testing, wrong user requirements, inappropriate go live planning…what’s a shame on M2U.