Thursday, October 7, 2010

Microsoft Analysis Service Performance

While the past 3 months, I used to develop an OLAP project using SSAS 2005. After developing and deploying it, without data it looks good. when running the ETL's to populate the data in it! the hell is coming up.
The cube begin to be slower each time we tried to view a dimension with 200K records!

Then we tried partitioning the data, and how could Microsoft did that. they were putting for you a SQL query to partition the data!!!!! why didn't they do it as in SSAS 2000.

another thing, when we deploy the same solution to SSAS 2000 the performance is amazingly high!!!!

So, we partitioned the data, and tried to make the Cube MOLAP 100% and again it is only 4%.
and we could not guess why, cuz it is just a wizard!!!!!!!

We are now trying to tackle this problem, as soon as we solve it. I will post the solution in here.

Enhanced by Zemanta

Thursday, July 22, 2010

Barcode Font

Line art drawing of a barcode.Image via Wikipedia


I searched a lot for a barcode to work on most of the devices that reads it. The solution is IDAutomationHC39M.ttf

you can find it on this link, also note you will write the code as follows: *123* to show it properly.
if the reader scans it, it will be 123
Enhanced by Zemanta

Tuesday, February 23, 2010

MS SSIS 2005

The component failed because truncation occurred, and the truncation row disposition on "output column " specifies failure on truncation. A truncation error occurred on the specified object of the specified component.

common error messages when dealing with SSIS. and you google alot to know the answer. some people advise to user derived columns!

but the problem is when initiating the data source itself.

So the answer is pretty simple:

for the field that produce this error, on the output field for this field make it not fail the componenet but rather ignor this error.

Reblog this post [with Zemanta]

Thursday, October 8, 2009

nettiers dynamic search query

I am using nettiers 2.3.0 now in a project and then i faced a problem where i have to make a search function that takes a string and search in each entity of the string fields of it to get the results.

nettiers has a good functions like GetPaged that takes the where clause and search with it. but come on how to make this search with generic code and powerful!!!!

the solution is a magic word, "Reflection"!!! ta da .... you have to make your development framework ideal enough to do that. How?

As I said i am using nettiers this make me support the following: each entity has an interface describes each property. and a good naming convention that I can follow in naming the UI elements such as typed data sources, that nettiers generates, and so i wrote this code...


List<string> lookFor = new List<string>();

Type t = Type.GetType(string.Format("Entities.I{0}, Entities", EntityName));

foreach (PropertyInfo info in t.GetProperties())

{

if (info.PropertyType == Type.GetType("System.String"))

{

lookFor.Add(string.Format(" [{0}] Collate SQL_Latin1_General_CP1_CI_AS like '%{1}%' ", info.Name, txtName.Text));

}

}

string whereClause = string.Join(" OR ", lookFor.ToArray()) ;

DataSourceControl ds = WebFormUtil.GetControlByID(Page.Controls, EntityName + "DataSource") as DataSourceControl;

PropertyInfo filterProperty = ds.GetType().GetProperty("Parameters");

Object collection = filterProperty.GetValue(ds, null);

if (collection is ParameterCollection)

{

((CustomParameter)((ParameterCollection)collection)["WhereClause"]).Value = whereClause;

}

ds.DataBind();


with just the entity name as a variable, and the well formed structure of the tiers and the good structure of the any form that contains a list and a search box this code rocks. I am able to get the typed data source and attach a value to its attributes and finally get works done and generic.

Thanks to Reflection, it made it possible.

Thursday, September 17, 2009

Source Safe Error "File xxxxxxx is already open"

Did you face this error once !!!! I faced it and goggled it. and all the answers were try closing the antivires and download this application to check. and none fix the problem.


The solution I found was simple but takes a long time :( it is Source Safe Admin analyzer. I ran this tool from the Admin. and duh it worked. I can check in files to source safe.

Anyway it is fixed now. :D
Reblog this post [with Zemanta]

Tuesday, April 14, 2009

Entity Framework

Entity framework is designed to separate the usage of the data layer elements like table names columns types, database type, and some added functionalities like super-set and subset.

It is good in the aspects mentioned above. But as Microsoft says, it is not a OR mapper. So, you cant get the benefits of the OR mapper like caching and database column validation, custom load, foreign keys values, and some like that.

All you have is the designer that you can do many things in it. and you have to edit this file for further subclassing conditions value - it saves the hexadecimal value and you have to change it manually, hope it will be solved at the final release- also, you can manage whether this table can be accessed via stored procedure or by generated query - if you select a stored procedure for one function like delete, you have to supply *sp for the rest update, insert :S - It is not complete now. Hope that it will be fixed in the final release. I made a comparison between Entity framework and .net Tier, and I found this



















































Entity Framework
.net Tier

one file contains entities and relations
contains many projects and files to represent the entities and its relations
No. of files generated
you can subclass entities based on condition easily from designer
you have to create the subclass file and modify the super-class manually
Super-class and subclass
entity object references not accessible outside domain [web service, WCF]
entity object accessible anywhere
entity object accessibility
queries accessible via linq and e-sql
accessible via defined functions
data retrieved
select query generated from linq and e-sql
select query defined in sp
select query
using the facade generated class for update and delete and insert, no e-sql
using the sp for all the operations
DML functions

This is all as far as I used the Entity framework. it is good but not as good as hibernate.


*sp: stored procedure
Reblog this post [with Zemanta]

Sunday, March 1, 2009

Javascript Good Stuff

I was reading many blogs, and surfing and I found this video and it is awesome.

It is about the Good parts and Bad parts of the Javascript language. I was shocked for some of the bad parts like 0.1 + 0.2 <> 0.3. check the video for more.


the video url is here
Reblog this post [with Zemanta]