<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>David Lai's Business Intelligence Blog</title>
	
	<link>http://davidlai101.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Fri, 20 Aug 2010 20:56:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DavidLaisBusinessIntelligenceBlog" /><feedburner:info uri="davidlaisbusinessintelligenceblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>DavidLaisBusinessIntelligenceBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>SAP InsideTrack 2010 Vancouver Dashboard Essentials</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/FrYMAfRl0so/</link>
		<comments>http://davidlai101.com/blog/2010/08/20/sap-insidetrack-2010-vancouver/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 20:54:14 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Business Objects]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[SAP InsideTrack 2010]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=272</guid>
		<description><![CDATA[
I look forward to seeing everyone at Vancouver&#8217;s very first local SAP Inside Track Wednesday Sept 15, 2010!
I&#8217;ve been given the great opportunity to represent Xcelsius Gurus Network and present on SAP Crystal Dashboard Design (Xcelsius).
I&#8217;ll be presenting the following topics and have a thorough Questions and Answer period.

Why are dashboards used and what are [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://wiki.sdn.sap.com/wiki/download/attachments/195789784/SITVAN%20Logo.jpg" alt="SAP InsideTrack 2010 Vancouver" width="528" height="359" /></p>
<p>I look forward to seeing everyone at Vancouver&#8217;s very first local SAP Inside Track Wednesday Sept 15, 2010!</p>
<p>I&#8217;ve been given the great opportunity to represent Xcelsius Gurus Network and present on SAP Crystal Dashboard Design (Xcelsius).</p>
<p>I&#8217;ll be presenting the following topics and have a thorough Questions and Answer period.</p>
<ul>
<li>Why are dashboards used and what are the benefits?</li>
<li>Dashboard Design and Best Practices</li>
<li>Dashboard Connectivity  &#8211; Enterprise and Non Enterprise</li>
<li>Xcelsius best practices with the designer and internal spreadsheet</li>
<li>Xcelsius Tips and Tricks</li>
<li>Xcelsius resources</li>
</ul>
<p>For more information on the event please visit the event WIKI at</p>
<p><a href="http://wiki.sdn.sap.com/wiki/display/events/SAP+Inside+Track+Vancouver+2010" target="_blank">http://wiki.sdn.sap.com/wiki/display/events/SAP+Inside+Track+Vancouver+2010</a></p>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/FrYMAfRl0so" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/08/20/sap-insidetrack-2010-vancouver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/08/20/sap-insidetrack-2010-vancouver/</feedburner:origLink></item>
		<item>
		<title>Error opening Excel files after installing Live Office</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/IWjkSJUeZsA/</link>
		<comments>http://davidlai101.com/blog/2010/07/23/error-opening-excel-files-after-installing-live-office/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 05:53:28 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[Excel 2007]]></category>
		<category><![CDATA[Live Office]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=267</guid>
		<description><![CDATA[
I&#8217;ve had this error pop up while trying to open Excel files (Excel 2007) after installing Live Office on several machines where it says &#8220;There was a problem sending the command to the program&#8220;.  A couple other people ran into the same issue, so I&#8217;d like to post a quick solution.
1. Open the Excel [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://davidlai101.com/blog/wp-content/uploads/2010/07/cant_open1.jpg"><img class="aligncenter size-full wp-image-269" title="cant_open" src="http://davidlai101.com/blog/wp-content/uploads/2010/07/cant_open1.jpg" alt="" width="642" height="285" /></a></p>
<p>I&#8217;ve had this error pop up while trying to open Excel files (Excel 2007) after installing Live Office on several machines where it says &#8220;<em>There was a problem sending the command to the program</em>&#8220;.  A couple other people ran into the same issue, so I&#8217;d like to post a quick solution.</p>
<p>1. Open the Excel program<br />
2. Go to Excel Options<br />
3. Go to Advanced<br />
4. Go to General<br />
5. Make sure &#8220;<em>Ignore other applications that use Dynamic Data Exchange (DDE)</em>&#8221; is unchecked.</p>
<p>That&#8217;s all!</p>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/IWjkSJUeZsA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/07/23/error-opening-excel-files-after-installing-live-office/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/07/23/error-opening-excel-files-after-installing-live-office/</feedburner:origLink></item>
		<item>
		<title>Using Filtered Rows instead of VLOOKUP</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/YO_xqm52Kk4/</link>
		<comments>http://davidlai101.com/blog/2010/07/02/using-filtered-rows-instead-of-vlookup/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 01:50:03 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Design Practices]]></category>
		<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[filtered rows]]></category>
		<category><![CDATA[multiple select]]></category>
		<category><![CDATA[vlookup]]></category>
		<category><![CDATA[Xcelsius 2008]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=263</guid>
		<description><![CDATA[This article talks about using the filtered rows technique instead of a VLOOKUP.
Not until Xcelsius 2008 came out, were we able to filter on multiple rows of data that matched 1 entry. So in order to accomplish this we would either have to use VLOOKUP or INDEX MATCH.  Using this technique was very cumbersome [...]]]></description>
			<content:encoded><![CDATA[<p>This article talks about using the filtered rows technique instead of a VLOOKUP.<br />
Not until Xcelsius 2008 came out, were we able to filter on multiple rows of data that matched 1 entry. So in order to accomplish this we would either have to use VLOOKUP or INDEX MATCH.  Using this technique was very cumbersome and although filtered rows has been available for a while, I have been on a couple engagements where I still see VLOOKUPS in the excel spreadsheet!</p>
<p>Thus hopefully writing this article will get the practice of using filtered rows ingrained in the<br />
Xcelsius Developers minds.</p>
<p>I&#8217;ve created a video below that shows 2 scenarios below using VLOOKUP and filtered rows.  I&#8217;ve shown how much easier it is to use filtered rows and how much easier it is in the future to maintain.</p>
<p><span class="youtube">
<object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/bnk3J2QXbVI&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0" />
<param name="allowFullScreen" value="true" />
<embed wmode="transparent" src="http://www.youtube.com/v/bnk3J2QXbVI&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="355"></embed>
<param name="wmode" value="transparent" />
</object>
</span><p><a href="http://www.youtube.com/watch?v=bnk3J2QXbVI"><img src="http://img.youtube.com/vi/bnk3J2QXbVI/default.jpg" width="130" height="97" border=0></a></p><p><a href="http://www.youtube.com/watch?v=bnk3J2QXbVI">www.youtube.com/watch?v=bnk3J2QXbVI</a></p></p>
<p>I&#8217;ve also attached the source files from the 2 examples so you may do your own comparisons.</p>
<p>You may download the source files <a href="http://www.davidlai101.com/blog/media/blogs/bobj/vlookup/vlookup_vs_filtered_rows.zip">here</a></p>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/YO_xqm52Kk4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/07/02/using-filtered-rows-instead-of-vlookup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/07/02/using-filtered-rows-instead-of-vlookup/</feedburner:origLink></item>
		<item>
		<title>Xcelsius Push Button</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/aNwYelp4M-U/</link>
		<comments>http://davidlai101.com/blog/2010/05/29/xcelsius-push-button/#comments</comments>
		<pubDate>Sat, 29 May 2010 22:05:31 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[push button]]></category>
		<category><![CDATA[Xcelsius 2008]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=255</guid>
		<description><![CDATA[The Push Button is a powerful new feature in Xcelsius SP3 that allows developers to transfer source data from an arbitrary sized cell block to a destination cell block of the same size.  This gives us a triggering type mechanism where we needed to jump through hoops in order to accomplish before.
I&#8217;ve attached a [...]]]></description>
			<content:encoded><![CDATA[<p>The <strong>Push Button</strong> is a powerful new feature in Xcelsius SP3 that allows developers to transfer source data from an arbitrary sized cell block to a destination cell block of the same size.  This gives us a triggering type mechanism where we needed to jump through hoops in order to accomplish before.</p>
<p>I&#8217;ve attached a video and the example xlf source file which shows how to use the push button as a default/reset button.</p>
<p><span class="youtube">
<object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/p2ECKzjfb5g&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0" />
<param name="allowFullScreen" value="true" />
<embed wmode="transparent" src="http://www.youtube.com/v/p2ECKzjfb5g&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="355"></embed>
<param name="wmode" value="transparent" />
</object>
</span><p><a href="http://www.youtube.com/watch?v=p2ECKzjfb5g"><img src="http://img.youtube.com/vi/p2ECKzjfb5g/default.jpg" width="130" height="97" border=0></a></p><p><a href="http://www.youtube.com/watch?v=p2ECKzjfb5g">www.youtube.com/watch?v=p2ECKzjfb5g</a></p></p>
<p>If you have any additional examples that you would like to share, please post them on the comments section below.</p>
<p>Please download the source file <a href="http://www.davidlai101.com/blog/media/blogs/bobj/push_button/pushbutton_example.xlf">here</a></p>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/aNwYelp4M-U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/05/29/xcelsius-push-button/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/05/29/xcelsius-push-button/</feedburner:origLink></item>
		<item>
		<title>Xcelsius Dynamic Color Binding</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/K5WUrWLEgT8/</link>
		<comments>http://davidlai101.com/blog/2010/04/06/xcelsius-dynamic-color-binding/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 05:05:40 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[Dynamic Color Binding]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=245</guid>
		<description><![CDATA[Dynamic Color Binding is a great new feature in Xcelsius SP3 that allows developers to dynamically bind colors.  This gives developers total flexibility on dynamically customizing their coloring schema during run time.
I&#8217;ve attached a video which shows a couple examples on using dynamic color binding.







www.youtube.com/watch?v=oCEnMUwdrUw
If you have any additional examples that you would like [...]]]></description>
			<content:encoded><![CDATA[<p>Dynamic Color Binding is a great new feature in Xcelsius SP3 that allows developers to dynamically bind colors.  This gives developers total flexibility on dynamically customizing their coloring schema during run time.</p>
<p>I&#8217;ve attached a video which shows a couple examples on using dynamic color binding.</p>
<p><span class="youtube">
<object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/oCEnMUwdrUw&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0" />
<param name="allowFullScreen" value="true" />
<embed wmode="transparent" src="http://www.youtube.com/v/oCEnMUwdrUw&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="355"></embed>
<param name="wmode" value="transparent" />
</object>
</span><p><a href="http://www.youtube.com/watch?v=oCEnMUwdrUw"><img src="http://img.youtube.com/vi/oCEnMUwdrUw/default.jpg" width="130" height="97" border=0></a></p><p><a href="http://www.youtube.com/watch?v=oCEnMUwdrUw">www.youtube.com/watch?v=oCEnMUwdrUw</a></p></p>
<p>If you have any additional examples that you would like to share, please post them on the comments section.</p>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/K5WUrWLEgT8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/04/06/xcelsius-dynamic-color-binding/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/04/06/xcelsius-dynamic-color-binding/</feedburner:origLink></item>
		<item>
		<title>Xcelsius Canvas Container</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/GlPfosmralI/</link>
		<comments>http://davidlai101.com/blog/2010/03/26/xcelsius-canvas-container/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 04:44:08 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Design Practices]]></category>
		<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[Canvas Container]]></category>
		<category><![CDATA[Grouping]]></category>
		<category><![CDATA[Xcelsius 2008]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=241</guid>
		<description><![CDATA[In this article I&#8217;ve attached a video that talks about the new Canvas Container feature in Xcelsius 2008 SP3.
I found that the Canvas container is very easy to use and provides the same functionality as the group method but allows the flexibility of moving objects in and out of the canvas very easily.
I totally recommend [...]]]></description>
			<content:encoded><![CDATA[<p>In this article I&#8217;ve attached a video that talks about the new Canvas Container feature in Xcelsius 2008 SP3.<br />
I found that the Canvas container is very easy to use and provides the same functionality as the group method but allows the flexibility of moving objects in and out of the canvas very easily.</p>
<p>I totally recommend that Xcelsius developers use the Canvas container method to group objects instead of the old grouping method.</p>
<p>I am curious of the canvas container performance and if it is buggy as I have not experienced any problems yet, so please feel free to comment with your experiences.</p>
<p><span class="youtube">
<object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/PBxNOM7PrUM&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0" />
<param name="allowFullScreen" value="true" />
<embed wmode="transparent" src="http://www.youtube.com/v/PBxNOM7PrUM&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="355"></embed>
<param name="wmode" value="transparent" />
</object>
</span><p><a href="http://www.youtube.com/watch?v=PBxNOM7PrUM"><img src="http://img.youtube.com/vi/PBxNOM7PrUM/default.jpg" width="130" height="97" border=0></a></p><p><a href="http://www.youtube.com/watch?v=PBxNOM7PrUM">www.youtube.com/watch?v=PBxNOM7PrUM</a></p></p>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/GlPfosmralI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/03/26/xcelsius-canvas-container/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/03/26/xcelsius-canvas-container/</feedburner:origLink></item>
		<item>
		<title>Understanding Business Objects Inheritance</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/sNnAcEIkXnE/</link>
		<comments>http://davidlai101.com/blog/2010/02/20/understanding-business-objects-inheritance/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 22:02:26 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Business Objects]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[Inheritance]]></category>
		<category><![CDATA[User Access]]></category>
		<category><![CDATA[User Management]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=233</guid>
		<description><![CDATA[When setting up user and group rules, it is important to understand inheritance and how inheritance works.  Otherwise you may run into unexpected access rights for your groups and users.
Global to object level hierarchy
By default, groups and users will inherit rights from the highest level.
The highest level starts at the Global Settings level.  The second [...]]]></description>
			<content:encoded><![CDATA[<p>When setting up user and group rules, it is important to understand inheritance and how inheritance works.  Otherwise you may run into unexpected access rights for your groups and users.</p>
<h2><span style="color: #00ccff;">Global to object level hierarchy</span></h2>
<p>By default, groups and users will inherit rights from the highest level.</p>
<p>The highest level starts at the Global Settings level.  The second level is the folder level; and finally the lowest level is at the object level.  If we set rights at the current level itself, then those rights have precedence over inheritance <span style="color: #ff0000;"><strong><em>(except if rights have explicitly been denied)</em></strong></span></p>
<p>Here are a few examples of setting up a group at multiple levels</p>
<p><img class="aligncenter size-full wp-image-235" title="object-security" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/object-security1.jpg" alt="" width="635" height="319" /><br />
<span id="more-233"></span></p>
<h2><span style="color: #00ccff;">Group and User security Overlap</span></h2>
<p>Use the following formulas as a guide to understand what happens when inheritance from multiple groups overlap</p>
<ul>
<li>Grant + Deny + Not Specified = Deny</li>
<li>Grant + Not Specified = Grant</li>
<li>Grant + Deny = Deny</li>
<li>Not Specified = Denied</li>
</ul>
<p>For Predefined access levels, the access level with more access will take precedence.</p>
<p><strong>For example:</strong></p>
<p>If user <em>“James”</em> is part of Group <em>“Sales”</em> and <em>“Marketing”</em>.</p>
<p>If <em>“Sales”</em> has <em>“View”</em> access on the Marketing Folder and <em>“Marketing”</em> has <em>“Schedule”</em> access on the Marketing folder.  <em>“James”</em> will have “Schedule” access on the Marketing folder.</p>
<h4>User rights take precedence over inherited rights</h4>
<p>User rights will always take precedence over inherited rights.</p>
<p><strong>For example:</strong></p>
<p>User <em>“James”</em> is part of the <em>“Marketing”</em> and has <em>“Schedule”</em> access on the Marketing folder.  However we set <em>“James”</em> with <em>“View”</em> access on the Marketing folder.  View access will then take precedence.</p>
<p>The only time an inherited right takes precedence is if an inherited right explicitly denies access.  To override an inherited deny, you must uncheck the box that inherits rights.</p>
<p><img class="aligncenter size-full wp-image-236" title="advanced-rights" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/advanced-rights.jpg" alt="" width="547" height="232" /></p>
<h2><span style="color: #00ccff;">Recommendations</span></h2>
<ul>
<li>Assign security at the folder level to groups whenever possible.  Avoid setting rights for specific users on specific report objects.  This will reduce the complexity of your system security model.</li>
<li>Use predefined access levels whenever possible.</li>
<li>Grant the “Everyone” group No Access at the global level and then grant specific rights to the appropriate groups to prevent any loopholes.</li>
<li>When setting rights, make sure to include the appropriate Universes and Business Views as well since access may be denied if they are not included.</li>
</ul>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/sNnAcEIkXnE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/02/20/understanding-business-objects-inheritance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/02/20/understanding-business-objects-inheritance/</feedburner:origLink></item>
		<item>
		<title>Xcelsius 2008 advanced workshop</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/_d_jY5IPg0s/</link>
		<comments>http://davidlai101.com/blog/2010/02/19/225/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 06:23:13 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=225</guid>
		<description><![CDATA[
Join the Xcelsius gurus, Mike Alexander (Author, Crystal Xcelsius For Dummies/ Founder, Data Pig Technologies) and Mico Yuk (Founder, Everything Xcelsius / Xcelsius Gurus Network) for a 2-day Xcelsius 2008 advanced workshop this upcoming March 2010 in Dallas, TX!  The workshop which contains a wide array of advanced Xcelsius tips and techniques sold out [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.regonline.com/builder/site/Default.aspx?eventid=789603"><img class="alignnone" style="margin-left: 110px; margin-right: 110px;" title="Xcelsius Training" src="http://everythingxcelsius.com/wp-content/themes/EverythingXcelsius/images/xcelsiustraining.gif" alt="" width="365" height="140" /></a><br />
Join the Xcelsius gurus, Mike Alexander (Author, <a href="http://www.datapigtechnologies.com/">Crystal Xcelsius For Dummies</a>/ Founder, Data Pig Technologies) and Mico Yuk (Founder, <a href="http://www.everythingxcelsius.com/">Everything Xcelsius</a> / Xcelsius Gurus Network) for a 2-day <a href="http://www.regonline.com/builder/site/default.aspx?EventID=789603">Xcelsius 2008 advanced workshop</a> this upcoming March 2010 in Dallas, TX!  The workshop which contains a wide array of advanced Xcelsius tips and techniques sold out when it was first held in March of 2009 and here is why….</p>
<p>• Learn how to enhance your data models with advanced Excel functions<br />
• Learn powerful dashboard design and charting techniques<br />
• Learn tricks that will help to optimize the performance of your Xcelsius dashboards<br />
• Gain a solid understanding of XML and XML connectivity in Xcelsius<br />
• Create server-based logins for your Xcelsius dashboards<br />
• Learn how to pass parameters from one Xcelsius dashboard to another<br />
• Learn how create detailed drill-throughs in Xcelsius  using encoded URLs<br />
• Learn how to use your Xcelsius dashboards to write back to your server</p>
<p>Much more…</p>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/_d_jY5IPg0s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/02/19/225/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/02/19/225/</feedburner:origLink></item>
		<item>
		<title>Understanding Business Objects Access Levels</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/5iMYpFWRChE/</link>
		<comments>http://davidlai101.com/blog/2010/02/19/understanding-business-objects-access-levels/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 05:44:03 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Business Objects]]></category>
		<category><![CDATA[Access Levels]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[User Access]]></category>
		<category><![CDATA[User Management]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=209</guid>
		<description><![CDATA[Understanding the Business Objects security model will enable you to map out a content management strategy for your organization.  Visit my previous post at http://davidlai101.com/blog/2008/11/06/content-management-planning-in-business/ after understanding user access levels and inheritance to setup your content.  In this article we&#8217;ll go through the Business Objects Enterprise Access Levels.
There are 2 ways of assigning access [...]]]></description>
			<content:encoded><![CDATA[<p>Understanding the Business Objects security model will enable you to map out a content management strategy for your organization.  Visit my previous post at <a href="http://davidlai101.com/blog/2008/11/06/content-management-planning-in-business/">http://davidlai101.com/blog/2008/11/06/content-management-planning-in-business/</a> after understanding user access levels and inheritance to setup your content.  In this article we&#8217;ll go through the Business Objects Enterprise Access Levels.</p>
<p>There are 2 ways of assigning access in Business Objects Enterprise</p>
<p><strong><span style="text-decoration: underline;">Predefined Access Levels</span></strong></p>
<p>Predefined access levels are a collection of individual rights that have been set up in the Business Objects Enterprise system to provide common user access requirements.</p>
<p><strong><span style="text-decoration: underline;">Advanced rights</span></strong></p>
<p>By going into the advanced rights, you may totally customize the type of access a user has on an object.</p>
<p><img class="alignleft size-full wp-image-210" title="access-rights" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/access-rights.jpg" alt="" width="660" height="211" /><br />
<span id="more-209"></span><br />
It is simplest to use predefined access levels, as we don’t have to manually configure every single right.</p>
<p><strong><span style="text-decoration: underline;">Below is a table of Predefined access levels</span></strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="319" valign="top">Access Level</td>
<td width="319" valign="top">Rights</td>
</tr>
<tr>
<td width="319" valign="top">No Access</td>
<td width="319" valign="top">The no access level may be misleading.   The no access level does not explicitly   deny access, but rather, sets all permissions to “Not Specified.”  This can be overridden through inheritance.</td>
</tr>
<tr>
<td width="319" valign="top">View</td>
<td width="319" valign="top">When set at the folder level, the user can view the folder, the   objects contained in the folder, and all generated instances of each object.</p>
<p>At object level, the user can view the object, history of the object,   and all generated instances of the object.</p>
<p>The user cannot schedule or refresh the report, however by default;   the user can edit the report and save to a personal folder to refresh   there.  You can deny users from copying   the object by going to advanced and denying “Copy Objects to another folder”</td>
</tr>
<tr>
<td width="319" valign="top">Schedule</td>
<td width="319" valign="top">A user can generate instances by scheduling the object to run against   a specified data source once or on a recurring basis.  The user has full access to the scheduled   instances that they own.  They can also   schedule to different formats and destinations, set parameters, pick servers   to process jobs, add contents to the folder, and copy the object or folder.</td>
</tr>
<tr>
<td width="319" valign="top">View On Demand</td>
<td width="319" valign="top">A user can refresh a report in real time.  Note that if a report is a WEBI document,   the user will also need View On Demand access to the universe and universe   connection to perform the refresh.</td>
</tr>
<tr>
<td width="319" valign="top">Full Control</td>
<td width="319" valign="top">Allows users to modify all of the object’s properties.  This is the only access level that allows   users to delete objects.</td>
</tr>
</tbody>
</table>
<h1></h1>
<h1><span style="color: #3366ff;"><strong>Security Hierarchy</strong></span></h1>
<p>The security levels flow in the following manner:</p>
<ul>
<li>Global security</li>
<li>Folder-level security</li>
<li>Object-level security</li>
</ul>
<h2><strong>Global Security</strong></h2>
<p>The default security set for the entire system.   For example when a new folder is added, its default rights come from the global level.</p>
<p>If there are any access levels that are common for the entire system, you should set them at the global level.</p>
<p><img class="alignleft size-full wp-image-212" title="global-settings" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/global-settings.jpg" alt="" width="730" height="312" /></p>
<p>Global level rights can be set at the settings management area of the Central Management Console</p>
<h2><strong>Folder-level security</strong></h2>
<p>Folder level security allows you to set access-level rights for a folder and objects contained within that folder.  Subfolders will inherit the security of their parent folders.</p>
<p><img class="alignleft size-full wp-image-213" title="folder-settings" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/folder-settings.jpg" alt="" width="732" height="280" /></p>
<p>Folder level security can be set by going to the “Folders” page of the CMC, then selecting a folder, and then clicking on the Rights tab.</p>
<h2><strong>Object Level security</strong></h2>
<p>Object level security is the access-level rights set at the object level.</p>
<h1></h1>
<h1><span style="color: #3366ff;"><strong>Folders and Categories</strong></span></h1>
<p>It is important to understand the differences between folders and categories.  Both provide a way of organizing documents and BI content.  <em>Folders provide the physical storage location of a file as well as navigation to content.  Categories provide navigation only</em>.  Folders are required whereas categories are optional.  Thus when using a combination of both, it is recommended that categories are used for navigation only and permissions be set at the folder level.</p>
<p>When you create a new folder, two sets of permissions are automatically assigned:</p>
<ul>
<li>Administrators are given the access level Full Control</li>
<li>Everyone is given the access level Schedule</li>
</ul>
<p><img class="alignleft size-full wp-image-214" title="folder-default" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/folder-default.jpg" alt="" width="817" height="329" /></p>
<p>Since the “Everyone” group is assigned the default access level of Schedule when a folder is first created, all users are able to view, open and schedule any reports saved in the new folder.  For many companies, this type of access level may not be acceptable, so the best practice is to make sure “No Access” is set for the “Everyone” group when creating a new folder.  If you want to give more permission, you can tweak it later on.</p>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/5iMYpFWRChE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/02/19/understanding-business-objects-access-levels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/02/19/understanding-business-objects-access-levels/</feedburner:origLink></item>
		<item>
		<title>Fusion Charts Wrapper Online Guide</title>
		<link>http://feedproxy.google.com/~r/DavidLaisBusinessIntelligenceBlog/~3/ErVfvIjv9MM/</link>
		<comments>http://davidlai101.com/blog/2010/02/03/fusion-charts-wrapper-online-guide/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 07:14:37 +0000</pubDate>
		<dc:creator>David Lai</dc:creator>
				<category><![CDATA[Fusion Charts]]></category>
		<category><![CDATA[Java Wrapper]]></category>
		<category><![CDATA[Online Guide]]></category>

		<guid isPermaLink="false">http://davidlai101.com/blog/?p=186</guid>
		<description><![CDATA[Here&#8217;s the online guide to the Fusion Charts Wrapper found at http://davidlai101.com/blog/2010/02/02/fusion-charts-java-wrapper-updated/
If you just need the JavaDocs, please go to http://davidlai101.com/fusioncharts-javadoc/
Steps to build a Fusion Chart in Java
Please ensure that you have example.jsp and example_alternative.jsp open in order to follow the steps below to build a fusion graph.
If you haven&#8217;t downloaded the full project file [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the online guide to the Fusion Charts Wrapper found at <a href="http://davidlai101.com/blog/2010/02/02/fusion-charts-java-wrapper-updated/">http://davidlai101.com/blog/2010/02/02/fusion-charts-java-wrapper-updated/</a></p>
<p>If you just need the <em>JavaDocs</em>, please go to <a href="http://davidlai101.com/fusioncharts-javadoc/">http://davidlai101.com/fusioncharts-javadoc/</a></p>
<h3><span style="color: #3366ff;"><strong>Steps to build a Fusion Chart in Java</strong></span></h3>
<p>Please ensure that you have example.jsp and example_alternative.jsp open in order to follow the steps below to build a fusion graph.</p>
<p>If you haven&#8217;t downloaded the full project file please download it <a href="http://www.davidlai101.com/blog/media/blogs/bobj/fusioncharts/1.0/fusioncharts-fullsource.zip">here</a></p>
<h3><span style="color: #3366ff;"><strong>Create FusionGraph</strong></span></h3>
<p>First you will want to create a FusionGraph object and set its properties<br />
To create a FusionGraph object you will need to define a Graph Id, Chart Type which is an enum from ChartType and the size of items in each of it’s series.  Let’s start with a simple pie graph example that has 5 slices.<br />
<span id="more-186"></span></p>
<blockquote><p>FusionGraph pieGraph = new FusionGraph(“pieGraph”,ChartType.PIE3D,5,request);</p></blockquote>
<p>Note that the request parameter is required so that we can send the FusionGraph object within jsps.<br />
Next you may want to set the properties of the graph by giving it a customized look.  Please refer to the Chart XML API found in <a href="http://www.fusioncharts.com/docs" target="_blank">http://www.fusioncharts.com/docs</a> for the properties you can customize.</p>
<p>For example if I wanted to set the background of the graph to a gradient of white and yellow I would do this:</p>
<blockquote><p>graph.setChartProperties(“bgColor”,”FFFFFF,CCCC33”);</p></blockquote>
<p>You will also want to set the width and height of the graph by using the <em>setWidth(int)</em> and <em>setHeight(int)</em> methods, or just go with the default which is width=600, height=300.<br />
<img class="alignleft size-full wp-image-190" title="guide1" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/guide1.jpg" alt="" width="618" height="506" /><br />
Now to create a series inside the graph:</p>
<blockquote><p>Series series = graph.createSeries(“pieSeries”);</p></blockquote>
<p><img class="alignleft size-full wp-image-192" title="guide2" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/guide2.jpg" alt="" width="738" height="97" /></p>
<h3><span style="color: #3366ff;"><strong>Series</strong></span></h3>
<p>You will have one or more series containing data.</p>
<p>The series object has a set of member properties that you can set.  Please refer to the API for more information.</p>
<p>For the pie graph you will probably want to set the values, and the colors for each pie.<br />
To do this you can use the <span style="color: red;">setColor(int index, String color)</span> and <span style="color: red;">setValue(int index, double value)</span> methods.<br />
<img class="alignleft size-full wp-image-193" title="guide3" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/guide3.jpg" alt="" width="835" height="147" /></p>
<h3><span style="color: #3366ff;"><strong>ChartFactory</strong></span></h3>
<p>When you are finished creating the graph, you will want to put the graph in a ChartFactory so that the Chart Factory can build the desired xml string for the data.  To generate the data for the pie graph, code the following:</p>
<blockquote><p>ChartFactory chartFactory = new ChartFactory();<br />
chartFactory.insertGraph(pieGraph);<br />
chartFactory.buildFusionChart(“pieGraph”); //or use pieGraph.getGraphId() for the String parameter</p></blockquote>
<p>A new method called “buildDOMFusionChart(String graphName) was created so that we could utilize the FusionChartsDOM_commented.js which allows us to use an html tag to display the fusion chart.</p>
<p>All you need to do is add the following line instead of “chartFactory.buildFusionChart(“pieGraph”)</p>
<p>You would use on the jsp</p>
<blockquote><p>chartFactory.buildDOMFusionChart(“pieGraph”);</p></blockquote>
<p><img class="alignleft size-full wp-image-195" title="guide4" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/guide4.jpg" alt="" width="819" height="383" /></p>
<p>You will need to include in your body tag</p>
<blockquote><p><span style="color: #ff0000;">&lt;body onload=&#8221;setTimeout(&#8216;FusionChartsDOM.RenderAllCharts(true)&#8217;,1000)&#8221;&gt;</span></p></blockquote>
<p>In addition make sure you have the scripts loaded into your jsp if you are using jsp</p>
<blockquote><p>&lt;SCRIPT LANGUAGE=&#8221;Javascript&#8221; SRC=&#8221;/FusionCharts/FusionCharts.js&#8221;&gt;&lt;/SCRIPT&gt;</p>
<p>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;/FusionCharts/FusionChartsDOM_commented.js&#8221;&gt;&lt;/script&gt;</p></blockquote>
<p><img class="alignleft size-full wp-image-196" title="guide5" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/guide5.jpg" alt="" width="799" height="196" /></p>
<h3><span style="color: #3366ff;"><strong>Using the helper chartBuilder.jsp</strong></span></h3>
<p>The chartBuilder.jsp has built in Javascript that works with FusionCharts.js and renders the chart for you provided that you provide the correct graph parameter.  You can either use this method or the buildDOMFusionChart method which is newer.</p>
<p>All you need to do is provide the graphId of the graph you want to display</p>
<p>For example if I wanted to display the pie graph from the earlier examples, I would do this</p>
<blockquote><p>&lt;jsp:include page=”/tools/chartBuilder.jsp” flush=”true”&gt;</p>
<p>&lt;jsp:param name=”graphId” value=”pieGraph”/&gt;</p>
<p>//or use &lt;%=pieGraph.getGraphId() %&gt; instead of the string</p>
<p>&lt;/jsp:include&gt;</p></blockquote>
<p><span style="color: #ff0000;"><em><strong>Note: You must use example_alternative.jsp to see this</strong></em></span><br />
<img class="alignleft size-full wp-image-197" title="guide6" src="http://davidlai101.com/blog/wp-content/uploads/2010/02/guide6.jpg" alt="" width="705" height="408" /></p>
<h3><strong>Example.jsp and example_alternative.jsp</strong></h3>
<p>Please take a look at the example.jsp attached that will help you build a pie graph using the DOM method.  Example_alternative.jsp provides an example of building a chart using the chartBuilder.jsp method.  The drawback of using the chartBuilder.jsp method is that you make another server call when calling that jsp.  So with pages that have many charts, it will be better using the DOM method.</p>
<img src="http://feeds.feedburner.com/~r/DavidLaisBusinessIntelligenceBlog/~4/ErVfvIjv9MM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://davidlai101.com/blog/2010/02/03/fusion-charts-wrapper-online-guide/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://davidlai101.com/blog/2010/02/03/fusion-charts-wrapper-online-guide/</feedburner:origLink></item>
	</channel>
</rss>
