Wednesday, December 14, 2011

Business Intelligence in a complete word

Business Intelligence is going to be a key success of the world's business and marketing, this is why I wanted to be certified; I love it; I deal with it because it's the mix of programming development along with financially facts and measures which is predictable as seen by the market trend that shows the company direction, so you are the one who represent this to your boss! I believe that BI is the most IT tool which is tangible in the real world.

Now let be familiar with it :

Effective decisions are choices that move an organization closer to an agreed-on set of goals in a timely manner.

Three key ingredients necessary for making effective decisions:
ü  First, there must be a set of goals to work toward.
ü  Second, there must be a way to measure whether a chosen course is moving toward
 or away from those goals.
ü  Third, information based on those measures must be provided to the decision maker
in a timely manner.

To function as part of effective decision making, a goal must:
ü  Contain a specific target.
ü  Provide a means to measure whether we are progressing toward that target.
 

Ø  Business intelligence is used to support effective decision so it should be utilized at all levels of an organization to promote effective decision making.

Saturday, December 10, 2011

My New Certificate on Business Intelligence

I've got my MCTS certificate on SQL Server 2008 Business Intelligence Development and Maintenance with score 972...

Tuesday, August 23, 2011

Default value or value provided for the report parameter 'Period_Year' is not a valid value

You may get this error while opening the Enterprise Portal/Role Center :
"Default value or value provided for the report parameter 'Period_Year' is not a valid value"
Short answer is, you should create a new period for fiscal year for a company.
So many googling for this error had no useful solution, unless tried by myself to find out the reason and here is the answer, clear and straightforward :
do this by : 
1. Just go to the AOS and be sure to selected the company which you want to work on.
2. Go to "General Ledger" -> Setup, expand "Periods" then click on "Periods".
3. In the opening window,  on the right hand, click on "Create new fiscal year".
4. create a fiscal year from the start point to the current year.
5. Update BI Data and OLTP schema using the OLAP Administration page.
6. Process the cubes and deploy them.
7. All done, browse and see the KPIs is correct now.
Note that the "Current year" in fiscal year is so important because inside the reports there is a select command that pointed to the "date(now())" function and if the current year does not exist the query will return "null" which are the input data for "company year" so as long as "Period year" using "company year" value for its query then the default data won't be available to the webpart when starting the page and finally it returns the error.

Have a nice time

Friday, June 17, 2011

Official Kinect developer kit

Finally Microsoft does the right thing (as I hope for Apple and Sony PS) and this is official developer kit for Kinect now is available for download :
http://blogs.technet.com/b/next/archive/2011/06/16/official-kinect-developer-kit-now-available-for-download.aspx

Sunday, June 12, 2011

Developers guide: Overriding vs Overloading

...many developers may confusing between these two type of changes on Methods :
So lets say that Overriding is whrere that the signature is not going to change and only
we change the super class implementation of a method, such as a subclass,
but in Overloading we have two methods with different signature.

Monday, October 18, 2010

Pass external values with GridView HyperLinkField which are not part of the Gridview

As long as you only could use data sources members in NavigateUrl of GridView, I use this way to pass external values with GridView HyperLinkField which are not part of the Gridview :
For example I've an
_ID1 (a member of GridView) , _ID2(External data with sample value 100 as string), which should pass to my NavigateUrl, simply :

1. Define "protected string _ID = "100";" at top of class.
2. NavigateUrl=''
3. You are done.

Monday, January 18, 2010

BDC Import error: Could not create profile page for Entity

In SharePoint While you import the BDC (XML) file you may get this error:
"Could not create profile page for Entity 'xxx'.The error is: Cannot create a new connection to closed Web Part 'x-y-z' "
After 2 days searching with no practical solution I decide to solve it by myself by monitoring SQL and Web Parts underground, finally I've found and solved the solution.It worked to me 100%.
What is the error exactly?
While you create a specific finder for the BDC to profile it, (so "could not create profile..." warning solve by the way) then you may get the above error because one of the following reasons which I've found (you should do step by step in my order to get faster response):
Problem 1: You might close "Profile Page Template Web Part", when a BDC want to associate a profile to a template page it returns and error that : "Cannot create a new connection to closed Web Part".
Solution 1:
1. Go to the "Shared Services" admin page.
2. Under "Business Data Catalog" click on "Edit profile page template".
3. If you don't see the "Business Data Item" Web Part in the page go to Step 4 , otherwise go to Problem 2 .
4. Navigate to Site Actions->Edit Page then click on "Add a Web Part", this will open a page.
5. On the opened "Add Web Part to Top Zone" page, click on "Advanced Web Part gallery and options".
6. On the "Add Web Parts", click on "Closed Web Part" and select "Business Data Item" and drag to the page to restore it.
7. click "Exit Edit Mode" (on top right).
8. You done.So back to the BDC import page and import the BDC.
Problem 2: Check Problem 1 first.Do not waste your time. If did so, your problem is you closed a web part in which may did not remove from SQL correctly.
Solution 2:
1. I've coded a TSQL to solve faster and safe, so copy the uniqueidentifier for the close web part from the error message, for example mark and copy the bold section:
"The error is: Cannot create a new connection to closed Web Part g_38004421_f6ad_4880_807a_8c90bcf42f4a "
note that I do not mark and copy "g_".
2. open SQL management studio and query this script. Replace the bold parameters with yours:
USE WSS_Content
DECLARE @Id nvarchar(50)
DECLARE @WId nvarchar(50)
SELECT @WId = 'UNIQUEIDENTIFIER '
SELECT @Id =(
SELECT id FROM AllDocs
WHERE id =(
SELECT tp_PageUrlID FROM WebParts
WHERE tp_id like '%' + @WId + '%' ))
DELETE FROM WebParts
WHERE tp_PageUrlID like '%' + @Id + '%'
DELETE FROM AllDocs
WHERE id like '%' + @Id + '%'
The code above find the UID that cause the error in the WebParts table and AllDocs related object, then delete them.
All works to me. Hope you too.