<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>ray.li3</title>
    <link>http://scn.sap.com/people/ray.li3/blog</link>
    <description />
    <pubDate>Thu, 22 Dec 2011 21:04:17 GMT</pubDate>
    <generator>Jive SBS 5.0.1.1  (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2011-12-22T21:04:17Z</dc:date>
    <item>
      <title>Explaining Data Connections of Xcelsius 2008 - XWIS</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/11/25/explaining-data-connections-of-xcelsius-2008--xwis</link>
      <description>&lt;!-- [DocumentBodyStart:2806f46c-24d0-4e4a-89a5-1d6db7596645] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;In this post I&amp;rsquo;d like to introduce, and recommend, a great data connectivity type of Xcelsius, &lt;strong&gt;Xcelsius Web Intelligence Integration Suite&lt;/strong&gt;, or &lt;strong&gt;XWIS&lt;/strong&gt; for short. Though not a native connectivity that shipped along with Xcelsius itself, XWIS is also widely used. XWIS has won many prizes and has been enjoying a high reputation since born.&lt;/span&gt;&lt;/p&gt;&lt;h3 style="margin: 13pt 0cm;"&gt;&lt;span style="font-family: Calibri; font-size: 5;"&gt;What it is&lt;/span&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;XWIS is an add-on of Xcelsius, developed by &lt;a class="jive-link-external-small" href="http://www.antivia.com"&gt;Antivia&lt;/a&gt;, for you to connect to Web Intelligence document hosted on your Business Objects Enterprise environment&amp;#160;from within your Xcelsius dashboard, easily and quickly. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;If you have read the chapters about Xcelsius SDK of &lt;a class="jive-link-external-small" href="/sap-press.com/products/Creating-Dashboards-with-Xcelsius-&amp;#226;&amp;#8364;&amp;#8221;-Practical-Guide.html"&gt;this book&lt;/a&gt;, you know that we can develop custom UI or data connectivity components with Xcelsius SDK. XWIS is one kind of custom data connectivity component, and the best one so far. To be accurate, XWIS is a SUITE of add-ons, with many custom UI components aside from the data connectivity component.&lt;/span&gt;&lt;/p&gt;&lt;h3 style="margin: 13pt 0cm;"&gt;&lt;span style="font-family: Calibri; font-size: 5;"&gt;What you can achieve with it&lt;/span&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;Sometimes if you want your Xcelsius dashboard to consume data from Web Intelligence documents, the traditional way is to insert parts of the Web Intelligence documents into a Live Office-enabled Excel worksheet and then add Live Office connections in Xcelsius, or to publish data in blocks of the Web Intelligence documents as web service from Web Intelligence Rich Client. The &lt;strong&gt;disadvantages&lt;/strong&gt; are that this way is not very straight-forward, requires many steps in Excel and Xcelsius environments, and you can&amp;rsquo;t drill in Xcelsius as you do in Web Intelligence documents.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;Basically, with XWIS you can connect to Web Intelligence documents, &lt;strong&gt;directly&lt;/strong&gt;. You needn&amp;rsquo;t bother to create a Live Office document, import it into Xcelsius, or add Live Office connections. This can dramatically reduce your dashboard development time and cost.&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;#160;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;Of course, XWIS is more than simply connecting to Web Intelligence. First, you can bind data from Web Intelligence documents directly to UI components without the intermediator of the embedded Excel spreadsheet. The power of this is that you can forget the &lt;strong&gt;maximum number of rows limit&lt;/strong&gt; of Xcelsius, to bind data of as many rows as there are to your UI component such as a Filter. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;Second, it provides out-of-the-box &lt;strong&gt;drill down and slice and dice&lt;/strong&gt; capability. That&amp;rsquo;s, if you have defined hierarchy in Web Intelligence document, you can also drill down inside Xcelsius, as what you do in the original webi document. For example, you can put a custom List View component provided by XWIS to your Xcelsius canvas and bind it to the Web Intelligence data to show the original data, and insert the data to a cell range in the embedded spreadsheet. You then put a Chart of Xcelsius near the List View. The consumer can drill down along the hierarchy in the List View, and in the meantime, the corresponding data for the current level is displayed in the Pie chart.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;&amp;#160;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;Another useful functionality of XWIS is that you can even disconnect from live data source (BOE) and take your dashboard &lt;strong&gt;offline&lt;/strong&gt; for sharing or presentation. With Live Office you can also take your dashboard offline with snapshot data, but XWIS is more than that &amp;ndash; drill down and slice-and-dice are still available when disconnected.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;&amp;#160;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;Last but not least, the users can leave comments within the dashboard to share their opinions &amp;ndash; this can be very useful in collaboration and decision making.&lt;/span&gt;&lt;/p&gt;&lt;h3 style="margin: 13pt 0cm;"&gt;&lt;span style="font-family: Calibri; font-size: 5;"&gt;How you use it&lt;/span&gt;&lt;/h3&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;Antivia website provides a detailed step-by-step video about how to use XWIS to connect your Xcelsius dashboard to Web Intelligence. If you have problem in using it, you can leave comments to this blog or contact Antivia directly.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;&amp;#160;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri; font-size: 3;"&gt;The famous custom UI components package, &lt;a class="jive-link-external-small" href="https://www.antivia.com/xComponents.html"&gt;XComponnets&lt;/a&gt;, developed by &lt;a class="jive-link-external-small" href="http://www.linkedin.com/in/donaldmaccormick"&gt;Donald MacCormick&lt;/a&gt;, is now also hosted on Antivia. Donald is so kind to provide so many useful custom UI components, for free.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:2806f46c-24d0-4e4a-89a5-1d6db7596645] --&gt;</description>
      <pubDate>Thu, 25 Nov 2010 17:43:17 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/11/25/explaining-data-connections-of-xcelsius-2008--xwis</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-11-25T17:43:17Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/explaining-data-connections-of-xcelsius-2008--xwis</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=55880</wfw:commentRss>
    </item>
    <item>
      <title>Explaining Data Connection of Xcelsius 2008</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/11/23/explaining-data-connection-of-xcelsius-2008</link>
      <description>&lt;!-- [DocumentBodyStart:d2653710-3bd6-4e71-aedf-578e95061277] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p class="MsoNormal"&gt;Each time I introduce Xcelsius to customers or friends, I would summarize it as Intuitive, Beautiful and Powerful. As to Powerful, I mean we can connect to almost any kind of data source, with the help of its rich set of data connections. &lt;/p&gt;&lt;p class="MsoNormal"&gt;Different from other blog posts of mime about UI components, this blog series focus on the data connection types provided by Xcelsius 2008 SP3. Most content in this blog series is from my book co-written with Evan Delodde, &lt;a class="jive-link-external-small" href="/sap-press.com/products/Creating-Dashboards-with-Xcelsius-&amp;Atilde;&amp;fnof;&amp;AElig;&amp;rsquo;&amp;Atilde;&amp;sbquo;&amp;#194;&amp;#162;&amp;Atilde;&amp;fnof;&amp;#194;&amp;#162;&amp;Atilde;&amp;#162;&amp;#226;&amp;sbquo;&amp;#172;&amp;#197;&amp;iexcl;&amp;Atilde;&amp;sbquo;&amp;#194;&amp;#172;&amp;Atilde;&amp;fnof;&amp;#194;&amp;#162;&amp;Atilde;&amp;#162;&amp;#226;&amp;#8364;&amp;scaron;&amp;#194;&amp;#172;&amp;Atilde;&amp;sbquo;&amp;#194;�-Practical-Guide.html"&gt;Creating dashboards with Xcelsius &amp;ndash; PracticalGuide&lt;/a&gt; which is also available on &lt;a class="jive-link-external-small" href="/amazon.com/Creating-Dashboards-Xcelsius-Practical-Guide/dp/1592293352"&gt;Amazon&lt;/a&gt;, making the blog series kind ofpromotion of the book.&lt;/p&gt;&lt;p class="MsoNormal"&gt;The complete list of data connectivities of Xcelsius 2008 SP3 can be seen from Data Manager, including:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;XML Data&lt;/li&gt;&lt;li&gt;Web Service&lt;/li&gt;&lt;li&gt;Flash Variables&lt;/li&gt;&lt;li&gt;FS Command&lt;/li&gt;&lt;li&gt;External Interface Connection&lt;/li&gt;&lt;li&gt;Query as a Web Service&lt;/li&gt;&lt;li&gt;SAP NetWeaver BW Connection&lt;/li&gt;&lt;li&gt;Crystal Reports Data Consumer&lt;/li&gt;&lt;li&gt;Excel XML Map&lt;/li&gt;&lt;li&gt;Live Office Connection&lt;/li&gt;&lt;li&gt;Portal Data&lt;/li&gt;&lt;li&gt;LCDS Connection&lt;/li&gt;&lt;li&gt;Xcelsius Web Intelligence Integration Suite (XWIS)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;The data connectivity&amp;rsquo;s provided by Xcelsius 2008 can be divided into several categories. Some are specific to Business Objects environment, such as Query as a Web Service and Live Office Connection. Some are used for communication between the SWF and its container (either Adobe Flash Player or a web browser) such as Flash Variables, FS Command and External Interface Connection. Some are for Xcelsius to retrieve live data from a web application server, such as Web Service Connection and XML Data. SAP NetWeaver BW Connection is specific for SAP environment, to retrieve BW data directly.&lt;/p&gt;&lt;p class="MsoNormal"&gt;For license issue, you may not be able to use some kinds of Data Connectivity&amp;rsquo;s in your dashboard.&lt;/p&gt;&lt;p class="MsoNormal"&gt;In my book, I categorize XML Data, Web Service Connection and Excel XML Map as basic connectivity types and the others advanced, though the connection types of Query as a Web Service, Live Office Connection, Flash Variables, FS Command and External Interface Connection are also frequently used.&lt;/p&gt;&lt;p class="MsoNormal"&gt;This blog series will include&amp;#160;several blog posts to illustrate all the connection types one by one. Pay attention to the security restriction of Adobe Flash Player to access external data, for which you need trust the SWF file or create a &lt;strong&gt;cross-domain.xml&lt;/strong&gt; policy file.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Development of custom Xcelsius components using Xcelsius Component SDK is also nicely covered in the book, some content of which is available at &lt;a class="jive-link-blog-small" data-containerId="20680" data-containerType="37" data-objectId="55766" data-objectType="38" href="http://scn.sap.com/people/evan.delodder/blog/2010/11/17/creating-dashboards-with-xcelsius-practical-guide-reusable-property-sheet-patterns"&gt;Creating Dashboards with Xcelsius &amp;#151; Practical Guide: Reusable Property Sheet Patterns&lt;/a&gt;&amp;#160;with a FAQ &lt;a class="jive-link-blog-small" data-containerId="20680" data-containerType="37" data-objectId="54507" data-objectType="38" href="http://scn.sap.com/people/evan.delodder/blog/2010/08/24/top-10-crystal-dashboard-design-xcelsius-2008-sdk-faq-s"&gt;Top 10 Crystal Dashboard Design (Xcelsius 2008) SDK FAQ&amp;#146;s&lt;/a&gt;.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="color: #225a8d;"&gt;&lt;a class="jive-link-blog-small" data-containerId="19539" data-containerType="37" data-objectId="55693" data-objectType="38" href="http://scn.sap.com/people/ray.li3/blog/2010/11/16/explaining-data-connections-of-xcelsius-2008--part-1-xml-data"&gt;Explaining Data Connections of Xcelsius 2008 - Part 1: XML Data&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="color: #225a8d;"&gt;&lt;a class="jive-link-blog-small" data-containerId="19539" data-containerType="37" data-objectId="55696" data-objectType="38" href="http://scn.sap.com/people/ray.li3/blog/2010/11/16/explaining-data-connection-of-xcelsius-2008--part-2-flash-variables"&gt;Explaining Data Connection of Xcelsius 2008 - Part 2: Flash Variables&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="color: #225a8d;"&gt;&lt;a class="jive-link-external-small" href="http://weblogs.sdn.sap.com/cs/weblog/view/wlg/22074"&gt;Explaining Data Connection of Xcelsius 2008 - Part 3: FS Command&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="color: #225a8d;"&gt;&lt;a class="jive-link-external-small" href="http://weblogs.sdn.sap.com/cs/weblog/view/wlg/22076"&gt;Explaining Data Connection of Xcelsius 2008-Part 4: External Interface Connection&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="color: #225a8d;"&gt;&lt;a class="jive-link-external-small" href="http://weblogs.sdn.sap.com/cs/weblog/view/wlg/22105"&gt;Explaining Data Connection of Xcelsius 2008 - Part 5: Crystal Reports Data Consumer&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="color: #225a8d;"&gt;&lt;a class="jive-link-blog-small" data-containerId="19539" data-containerType="37" data-objectId="55880" data-objectType="38" href="http://scn.sap.com/people/ray.li3/blog/2010/11/25/explaining-data-connections-of-xcelsius-2008--xwis"&gt;Explaining Data Connections of Xcelsius 2008 - XWIS&lt;/a&gt;&amp;#160;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong style="color: #225a8d;"&gt;Explaining Data Connection of Xcelsius 2008 - Part 6: Query as a Web Service&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;strong style="color: #225a8d;"&gt;Explaining Data Connection of Xcelsius 2008 - Part 7: Live Office Connection&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;strong style="color: #225a8d;"&gt;Explaining Data Connection of Xcelsius 2008 - Part 8: Excel XML Map&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:d2653710-3bd6-4e71-aedf-578e95061277] --&gt;</description>
      <pubDate>Tue, 23 Nov 2010 16:27:13 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/11/23/explaining-data-connection-of-xcelsius-2008</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-11-23T16:27:13Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/explaining-data-connection-of-xcelsius-2008</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=55775</wfw:commentRss>
    </item>
    <item>
      <title>Explaining Data Connection of Xcelsius 2008 - Part 5: Crystal Reports Data Consumer</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/11/23/explaining-data-connection-of-xcelsius-2008--part-5-crystal-reports-data-consumer</link>
      <description>&lt;!-- [DocumentBodyStart:464a427b-5193-40d4-99b3-dbe180bd21ba] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;h3&gt;Introduction&lt;/h3&gt;&lt;p class="MsoNormal"&gt;Most of the time, we say that CrystalReports is to show a huge amount of detail records in fixed and complex formats while Xcelsius is for visualizing aggregated information with attractive display. &lt;/p&gt;&lt;p class="MsoNormal"&gt;Sometimes we may want to combine them for the following purposes:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160;1. To jump to a Crystal Report from Xcelsius dashboard&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;The manager playing with the Xcelsius dashboard with highly-aggregated information drills down to more detailed level. Sometimes the most detailed data is placed in a Crystal Report. To do this, you can create a URL button in your dashboard which will redirect the user to the Crystal Report using OpenDocument.&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;2. To embed an Xcelsius dashboard in a Crystal Report&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;The user plays with detailed data inside a Crystal Report, but want to see some aggregated information displayed in a dashboard. This is what we&amp;rsquo;re going to talk about in this blog.&lt;/p&gt;&lt;p class="MsoNormal"&gt;The Crystal Report Data Consumer connectivity is used for you to insert Xcelsius dashboards into Crystal Reports 2008, and feed live data into Xcelsius. In this way you leverage and improve existing Crystal Reports by adding the power of Xcelsius to it. The integration of Xcelsius and Crystal Reports is one of the interactivity enhancements in Crystal Reports 2008. This integration enables report designers to embed Xcelsius visualization into Crystal Reports and link report data to the visualization, with the help of this connectivity defined inXcelsius side.&lt;/p&gt;&lt;p class="MsoNormal"&gt;If you are new to this usage, Figure 1 below showsa simple report in Crystal Report 2008 designer environment, with an Xcelsius dashboard embedded.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55732-69085/crdc_1.jpg"&gt;&lt;img align="middle" alt="A Crystal Report with an  Xcelsius dashboard inserted" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55732-69085/471-400/crdc_1.jpg" width="471"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Figure 1. A Crystal Report with an &amp;#160;Xcelsius dashboard inserted&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;h3&gt;When to use&lt;/h3&gt;&lt;p class="MsoNormal"&gt;Generally speaking, you may choose such a connectivity if you want to combine the advantages of Crystal Reports and Xcelsius, providing intuitive analysis as well as formatted enterprise-level reporting into one single Crystal Report.&lt;/p&gt;&lt;p class="MsoNormal"&gt;With the development of the business intelligence infrastructure, the demand of the end users also grows. The consumers of formatted reports may ask for more intuitive charts, easier data access, or even what-if scenario analysis models inside the reports. Their primary concerns are still the detailed information while combining the interactivity of Xcelsius with aggregated data will improve their efficiency. This is the situation under which you should consider using the Crystal Reports Data Consumer connection to feed data toXcelsius visual models embedded into Crystal Reports. Otherwise, if the user&amp;rsquo;s focus is primarily on the visualization itself, you don&amp;rsquo;t bother embedding itinto Crystal Reports. You should use other kind of connections to pull live datafrom data sources. And if you have Crystal Reports, Web Intelligence orUniverse data in place, Live Office connection may be your best choice.&lt;/p&gt;&lt;p class="MsoNormal"&gt;There are some other technical limitations which could prevent you from using the Crystal Reports Data Consumer connections. Keep in mind that exporting and printing of Flash objects with connections to Crystal Reports data is not supported and embedded Flash objects that do not have connections to Crystal Reports data can be exported to PDF only, so if you have strong requirement on exporting and printing, you may not be able to use the Crystal Reports Data Consumer connection.&lt;/p&gt;&lt;h3&gt;How to use&lt;/h3&gt;&lt;p class="MsoNormal"&gt;To embed Xcelsius dashboards into Crystal Reports, you need to work with both Xcelsiusand Crystal Reports designer. The common steps are:&lt;/p&gt;&lt;p class="MsoNormal"&gt;1. Create a Crystal report to prepare data forXcelsius first.&lt;br/&gt;2. Design the visualization in Xcelsius and configure the Crystal Reports Data Consumer connection which is required for linking with Crystal Reports data later.&lt;/p&gt;&lt;p class="MsoNormal"&gt;3. Now that you have both the Crystal Report andXcelsius dashboard ready, insert the exported SWF file into the crystal report&lt;/p&gt;&lt;p class="MsoNormal"&gt;4. Finally, set your Xcelsius model to receive realtime Crystal Reports data.&lt;/p&gt;&lt;p class="MsoNormal"&gt;In the rest ofthis blog we&amp;rsquo;ll focus on configuring the Crystal Reports data consumer connection and linking Crystal Reports data.&lt;/p&gt;&lt;h4&gt;Define CR Data Consumer connection in Xcelsius&lt;/h4&gt;&lt;p class="MsoNormal"&gt;You can add only one connection of this type in a single dashboard, which is the same as Flash Variables and Portal Data. Its property panel is displayed in Figure 2 below:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55732-69086/crdc_2.jpg"&gt;&lt;img align="middle" alt="Definition" height="242" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55732-69086/575-242/crdc_2.jpg" width="575"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Figure 2.&amp;#160;Definition of a Crystal Report Data Consumer connection&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;As shown inthis figure, the Crystal Report Data Consumer connection pulls three types of data from the Crystal Report and populates the embedded Excel spreadsheet with that data. These three types of data, &lt;strong&gt;RowHeaders&lt;/strong&gt;, &lt;strong&gt;Column Headers&lt;/strong&gt;, and &lt;strong&gt;Data Range&lt;/strong&gt;, are essentially form across tabulation, or crosstab in abbreviation. Crosstab is a very efficient wayto display measures with two dimensions. It can provide greater insight thansimple vertical table or horizontal table within a smaller space. If your work involves analyzing data in Excel, you must be familiar with the PivotTable functionality in Excel, which, in essence, creates a crosstab. Figure 3 below shows what the 3 types are in a cross-tab:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55732-69087/crdc_3.jpg"&gt;&lt;img align="middle" alt="Data organized in a cross-tab" height="320" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55732-69087/492-320/crdc_3.jpg" width="492"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Figure 3. Data organized in a cross-tab&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;You can bind each of the 3 types to a cell range in the embedded spreadsheet. Generally speaking, you bind Row Headers and Column Headers to a row or column respectively, and Data Range to a table. You may wonder what if your data do have only one series. If that is the case, you can omit the binding for Row Headers or Column Headers to linking to a vertical table or a horizontal table of data. That being said, you should be aware that you don&amp;rsquo;t need to bind all these three types of data. You can even bind only Row Header, only Column Header, or only Data although that would be hardly useful.&lt;/p&gt;&lt;h4&gt;Integration withCrystal Reports&lt;/h4&gt;&lt;p class="MsoNormal"&gt;After you&amp;rsquo;ve built the dashboard with a Crystal Reports Data Consumer connection properly set up, you export the visual model to a SWF. &lt;/p&gt;&lt;p class="MsoNormal"&gt;Now you open a Crystal report in Crystal Reports 2008 Designer and insert the SWF by clicking the &amp;ldquo;Insert Flash&amp;#8221; command. A dialog box prompts up, as displayed in Figure 4 below, in which you can choose a SWF file and specify whether to &lt;strong&gt;embed&lt;/strong&gt; it into the Crystal report orcreate a &lt;strong&gt;link&lt;/strong&gt; to the original SWF document only. To save you troubles when you migrating the Crystal report to other environment, the embed option is preferred, though it may increase the size of the crystal report a little.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55732-69088/crdc_4.jpg"&gt;&lt;img align="middle" alt="Insert a SWF object into Crystal Reports" height="147" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55732-69088/473-147/crdc_4.jpg" width="473"/&gt;&lt;/a&gt;Figure 4.&amp;#160;Insert a SWF object into Crystal Reports2008&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Now you&amp;rsquo;ve added the SWF into Crystal report, you need to link Crystal Reports data. To do this, you launch Flash Data Expert in the context menu of the Flash Object. &lt;/p&gt;&lt;p class="MsoNormal"&gt;The Flash Data Expert interface is divides into two parts. On the left, available fields in the report are listed and you can drag them into the boxes below to bind a field to Row Headers, Column Headers, or Data. Each of these three boxes is &lt;strong&gt;only &lt;/strong&gt;available if the corresponding part in the Crystal Reports Data Consumer is bound to cells in the Excel worksheet. For example, the Xcelsius designe rneeds a horizontal table of data, so he only binds the Row Headers and Data inthe Crystal Reports Data Consumer connection in Xcelsius. Then there will be only an Insert Row Label box and an Insert Data Values box in the Flash Data Expert for you to bind Crystal Reports Data. On the right part, there is a preview window showing what the Xcelsius visual model looks like under current binding configuration. The description you entered in the Crystal Reports Data Consumer connection is displayed under the Preview window. You can find useful description the Xcelsius designer leaves to you here. &lt;/p&gt;&lt;p class="MsoNormal"&gt;As displayedin Figure 5 below, we insert the Year field to column headers, the Store Namefield to the row headers, and the Sales Revenue filed to the data values. Wecan see the preview of the data and the Xcelsius visual model.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&amp;#160; &amp;#160;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55732-69089/crdc_5.jpg"&gt;&lt;img align="middle" alt="Data mapping between CR fields and Xcelsius" height="359" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55732-69089/640-359/crdc_5.jpg" width="640"/&gt;&lt;/a&gt;Figure 5.&amp;#160;Data mapping in Data Binding Expert insideCrystal Reports 2008&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;To help you better understand this, you can create a native Cross-Tab in Crystal Reports, without Xcelsius. If you already have a native Crystal Reports crosstab in the report, you can directly feed it to the Xcelsius visual model in the Flash DataExpert.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;There&amp;rsquo;s another Flash Vars tab in the Flash Data Binding Expert dialog, with which you can also pass data from Crystal Reports to the embedded Xcelsius dashboard using Flash Variables if the Xcelsius dashboard has a Flash Variable connection.In Figure 6 below, you can see that in the &lt;strong&gt;FlashData Expert&lt;/strong&gt; for this Flash object, there is no Xcelsius Data tab, but onlya tab &amp;ldquo;Flash&amp;#160; Vars&amp;#8221; tab available where you can bind a field or a formula to a Flash Variable.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55732-69090/crdc_6.jpg"&gt;&lt;img align="middle" alt="Pass data from CR into Xcelsius as Flash Vars" height="332" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55732-69090/640-332/crdc_6.jpg" width="640"/&gt;&lt;/a&gt;Figure 6.&amp;#160;Pass data from CR into Xcelsius as Flash Vars.&lt;/p&gt;&lt;p class="MsoNormal"&gt;In fact,using Flash Variables to connect to Crystal Reports data has nothing to do with the Crystal Reports Data Consumer connection. As long as there is a Flash Variable connection defined in the Xcelsius visualization, you can pass data into Xcelsius through Flash Data Expert, using Flash Vars. This is primarily used with Xcelsius 4.5, the previous version of Xcelsius 2008, since which version the Crystal Reports Data Consumer connection is provided.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Generally speaking, you can use these two methods interchangeably, but theCrystal Reports Data Consumer connection is easier to use. For Flash Variables connection, you usually have to create Excel formulas to transform the data to the format Flash Variable connection requires, either CSV or XML.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:464a427b-5193-40d4-99b3-dbe180bd21ba] --&gt;</description>
      <pubDate>Tue, 23 Nov 2010 16:15:39 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/11/23/explaining-data-connection-of-xcelsius-2008--part-5-crystal-reports-data-consumer</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-11-23T16:15:39Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/explaining-data-connection-of-xcelsius-2008--part-5-crystal-reports-data-consumer</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=55732</wfw:commentRss>
    </item>
    <item>
      <title>Explaining Data Connection of Xcelsius 2008 - Part 3: FS Command</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/11/18/explaining-data-connection-of-xcelsius-2008--part-3-fs-command</link>
      <description>&lt;!-- [DocumentBodyStart:3748c187-344c-4f7a-bf47-f9dbfcb99c1e] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p class="MsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 6px; margin-left: 0px; padding: 0px;"&gt;This is the third part of my blog series about data connections provided by Xcelsius 2008. The first part about XML Data is available&amp;#160;&lt;a class="jive-link-blog-small" data-containerId="19539" data-containerType="37" data-objectId="55693" data-objectType="38" href="http://scn.sap.com/people/ray.li3/blog/2010/11/16/explaining-data-connections-of-xcelsius-2008--part-1-xml-data"&gt;Explaining Data Connections of Xcelsius 2008 - Part 1: XML Data&lt;/a&gt;&amp;#160;and the second part is about Flash Variable.&lt;/p&gt;&lt;p&gt;Most content is from&amp;#160;&lt;a class="jive-link-external-small" href="http://www.sap-press.com/products/Creating-Dashboards-with-Xcelsius-%E2%80%94-Practical-Guide.html"&gt;my latest book about Xcelsius&lt;/a&gt;&amp;#160;co-written with Evan Delodder published by SAP Press which is also available on&amp;#160;&lt;a class="jive-link-external-small" href="http://www.amazon.com/Creating-Dashboards-Xcelsius-Practical-Guide/dp/1592293352"&gt;Amazon&lt;/a&gt;. &amp;#160;&lt;/p&gt;&lt;h3&gt;Introduction&lt;/h3&gt;&lt;p class="MsoNormal"&gt;Generally speaking, FS Command is an Adobe Flashtechnology that enables Flash to communicate with either the Flash Player orthe program hosting the Flash Player such as a web browser, through JavaScript.For example, a Flash file can use FS Command to execute a piece of JavaScriptstatement in a web browser. &lt;/p&gt;&lt;p class="MsoNormal"&gt;Xcelsius provides an FS Command connection as oneof its standard data connection types. With FS Command, your visualization can &lt;strong&gt;invoke JavaScript code written in itscontainer&lt;/strong&gt;, either the Flash Player or a web browser. Note that this datacommunication is one-way &amp;ndash; you can only pass data from Xcelsius to itscontainer, but not the other way. This is just opposite to Flash Variables fromthis extent.&lt;/p&gt;&lt;p class="MsoNormal"&gt;If you are familiar with the Action Scriptlanguage, you may know the function &lt;em&gt;fscommand&lt;/em&gt;with 2 parameters of &lt;em&gt;command&lt;/em&gt; and &lt;em&gt;parameters&lt;/em&gt;. This data connectivity issimilar to the Action Script function &lt;em&gt;fscommand&lt;/em&gt;.You may refer to&lt;/p&gt;&lt;p class="BoxStandard"&gt;&lt;a class="jive-link-external-small" href="http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary372.html"&gt;http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary372.html&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;for more infoabout its usage.&lt;/p&gt;&lt;h3&gt;When to use&lt;/h3&gt;&lt;p class="MsoNormal"&gt;You may choose an FS Command connectivity when youwant to control the behavior of the visualization&amp;rsquo;s container (either the FlashPlayer or the host such as a web server, as mentioned in the section above),from inside the visualization. For example, you can maximum the browser window,or display an alert message using JavaScript when the user has done something,from within the dashboard . &lt;/p&gt;&lt;p class="MsoNormal"&gt;Another scenario when you might choose an FSCommand connectivity is when you want to pass data from your visualization toits container. For example, you can pass data of your dashboard, such as thecurrently selected value from a Combo box, to a piece of JavaScript code run onthe web server for further processing. This is faster than passing the data toa Web Service or XMLL Data connectivity running on a web application server. Onedisadvantage of it is that the JavaScript code may be interpreted differentlyby different web browsers of an Internet Browser or Netscape.&lt;/p&gt;&lt;h3&gt;Definition&lt;/h3&gt;&lt;p class="MsoNormal"&gt;The Property panel of an FS Command connectivity inData Manager is very simple, divided into 2 tabs. The Usage tab is common toother connection types, where you define when to trigger the connection. Herewe talk about the Definition tab, the properties of which are displayed inFigure 1 below.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55704-69060/fscommand1.jpg"&gt;&lt;img align="middle" alt="Definition of FS Command connection" height="252" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55704-69060/557-252/fscommand1.jpg" width="557"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Figure 1. Definition of FS Command connection&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="BulletList"&gt;&amp;sect;&amp;#160;&amp;#160;Name&lt;/p&gt;&lt;p class="MsoNormal"&gt;Same as that of any other Data Connectivitymentioned in sections above, you name theconnection here with a meaningful text instead of &amp;ldquo;Connection 1&amp;#8221; or &amp;ldquo;Connection2&amp;#8221;, to make it distinguishable when there&amp;rsquo;re several connections in the list tothe left. A typical name should indicate the purpose or functionality of thatconnectivity.&lt;/p&gt;&lt;p class="BulletList"&gt;&amp;sect;&amp;#160;&amp;#160;Command &amp;amp; Parameters&lt;/p&gt;&lt;p class="MsoNormal"&gt;In these 2 fields you specify what command toinvoke and the parameters along with it. If your dashboard is run in AdobeFlash Player, the command can only be one of the predefined some. However, ifit&amp;rsquo;s wrapped inside a HTML file and run in a web browser, you can use the nameof any JavaScript function here thus make it possible for your dashboard tocall any JavaScript function.&lt;/p&gt;&lt;p class="MsoNormal"&gt;For the latter case, at runtime, your dashboarddoesn&amp;rsquo;t call the command directly. Instead, in the HTML file with yourdashboard embedded, you write a &lt;em&gt;myMovie_DoFSCommand&lt;/em&gt;function usingJavaScript with 2parameters of &amp;ldquo;command&amp;#8221; and &amp;ldquo;properties&amp;#8221;, as below:&lt;/p&gt;&lt;p class="MsoNormal"&gt;function myMovieName_DoFSCommand(command, args)&lt;/p&gt;&lt;p class="MsoNormal"&gt;In this function, myMovieName isthe id of your dashboard as an embedded SWF object in the HTML, that&amp;rsquo;s, the&amp;#160;NAME&amp;#160;attributeof the&amp;#160;EMBED&amp;#160;tagor the ID property of the&amp;#160;OBJECT&amp;#160;tag in the HTML file. When the connectivityis triggered, command and parameters configured here will be passed to thisfunction as command and argsrespectively.&lt;/p&gt;&lt;p class="MsoNormal"&gt;OK, let&amp;rsquo;s return to how to specify values for these2 fields. In Command field, you specify the name of the JavaScript functionthat you want to call or invoke by either entering a text directly in the Inputfield, or clicking the Bind button to bind to a single cell in the embeddedspreadsheet. So it is with the Properties field. The accepted values of these 2fields are different when the dashboard is run in an Adobe Flash Player or in aweb browser, as explained below.&lt;/p&gt;&lt;p class="MsoNormal"&gt;If the container of your visualization is the FlashPlayer, you must enter the name of one of the predefined commands here, and correspondingly,ether the name of one of the supported parameters of that command, if any. Thesupported commands and their required parameters are listed below.&lt;/p&gt;&lt;p class="ListingStandard"&gt;&amp;#160;&amp;#160; &amp;#160; &lt;strong&gt;Quit&lt;/strong&gt;:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: underline;"&gt;Parameter&lt;/span&gt;: No parameter accepted&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: underline;"&gt;Purpose&lt;/span&gt;: Use this command if you want to close theAdobe Flash Player to terminate the presentation. You may provide a Togglebutton in your visualization labeled Close for the user to close the FlashPlayer. The user&amp;rsquo;s clicking the button will trigger the connectivity, thusclose the Flash Player.&lt;/p&gt;&lt;p class="ListingStandard" style="margin-top: 3pt; margin-right: -5.6pt; margin-bottom: 3pt; margin-left: 11pt;"&gt;&lt;strong&gt;Fullscreen&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Parameter&lt;/span&gt;: true of false&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Purpose&lt;/span&gt;: Use this command if you want to enable the user to set the Flash Player tofull-screen mode or return it to normal menu view. Specify parameter true forfull-screen mode or false for normal view.&lt;/p&gt;&lt;p class="ListingStandard" style="margin-top: 3pt; margin-right: -5.6pt; margin-bottom: 3pt; margin-left: 11pt;"&gt;&lt;strong&gt;Allowscale&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Parameter&lt;/span&gt;: true of false&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Purpose&lt;/span&gt;: Specifying false sets the Flash Player so that your visualization is alwaysdrawn at its original size and never scaled. Specifying true forces it to scaleto 100% of the player.&lt;/p&gt;&lt;p class="ListingStandard" style="margin-top: 3pt; margin-right: -5.6pt; margin-bottom: 3pt; margin-left: 11pt;"&gt;&lt;strong&gt;Showmenu&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Parameter&lt;/span&gt;: true of false&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Purpose&lt;/span&gt;: Specifying true enables the full set of context menu items in the Flash Player.If you want to restrict the user&amp;rsquo;s access to them, specify false to hide allthe context menu items except About Flash Player.&lt;/p&gt;&lt;p class="ListingStandard" style="margin-top: 3pt; margin-right: -5.6pt; margin-bottom: 3pt; margin-left: 11pt;"&gt;&lt;strong&gt;Exec&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Parameter&lt;/span&gt;: path to the application&lt;/p&gt;&lt;p class="ListingStandard" style="margin-top: 3pt; margin-right: -5.6pt; margin-bottom: 3pt; margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Purpose&lt;/span&gt;: Use this command if you want to execute an applicationfrom within the Flash Player. This&amp;#160;command runs in the subdirectory &lt;em&gt;fscommand&lt;/em&gt; only. In other words, if you use this command to call an application, the application mustreside in a subdirectory named &lt;em&gt;fscommand&lt;/em&gt;.&lt;/p&gt;&lt;p class="ListingStandard" style="margin-top: 3pt; margin-right: -5.6pt; margin-bottom: 3pt; margin-left: 11pt;"&gt;&lt;strong&gt;Trapallkeys&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Parameter&lt;/span&gt;: true of false&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 11pt;"&gt;&lt;span style="text-decoration: underline;"&gt;Purpose&lt;/span&gt;: Specifying true sends all key events, including accelerator keys, to theonClipEvent(keyDown/keyUp) handler in the Flash Player.&lt;/p&gt;&lt;p class="MsoNormal"&gt;On the other hand, if your dashboard is wrapped byan HTML file and run in a web browser, you can send any message in the 2parameters of &lt;em&gt;command&lt;/em&gt; and &lt;em&gt;parameters&lt;/em&gt;. The messages are sent to theJavaScript function with special name myMovieName_DoFSCommand &amp;#160;in the HTML file, as mentioned before. This function can then either display or process the messages, or call otherJavaScript functions based on what command is passed in. This makes it possiblefor your dashboard to call any JavaScript function from within it, with myMovieName_DoFSCommand as the proxy.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:3748c187-344c-4f7a-bf47-f9dbfcb99c1e] --&gt;</description>
      <pubDate>Thu, 18 Nov 2010 08:30:47 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/11/18/explaining-data-connection-of-xcelsius-2008--part-3-fs-command</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-11-18T08:30:47Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/explaining-data-connection-of-xcelsius-2008--part-3-fs-command</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=55704</wfw:commentRss>
    </item>
    <item>
      <title>Explaining Data Connection of Xcelsius 2008-Part 4: External Interface Connection</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/11/18/explaining-data-connection-of-xcelsius-2008-part-4-external-interface-connection</link>
      <description>&lt;!-- [DocumentBodyStart:ccb66152-849b-46b5-ae00-b7878b28e722] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p class="MsoNormal" style="margin-top: 0px; margin-right: 0px; margin-bottom: 6px; margin-left: 0px; padding: 0px;"&gt;This is the fourth part of my blog series about data connections provided by Xcelsius 2008. The previous parts are about XML Data, Flash Variable and FS Command.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Most content is from&amp;#160;&lt;a class="jive-link-external-small" href="http://www.sap-press.com/products/Creating-Dashboards-with-Xcelsius-%E2%80%94-Practical-Guide.html"&gt;my latest book about Xcelsius&lt;/a&gt;&amp;#160;co-written with Evan Delodder published by SAP Press which is also available on&amp;#160;&lt;a class="jive-link-external-small" href="http://www.amazon.com/Creating-Dashboards-Xcelsius-Practical-Guide/dp/1592293352"&gt;Amazon&lt;/a&gt;.&amp;#160;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Xcelsius is not an isolated island. Withthe help of External Interface Connection (EIC), data from the SWFfile can now be passed into or out of a specific cell range, using push/pull technology.Note that thecommunication is initialized by the container. In other word, it&amp;rsquo;s theJavaScript that invokes the External Interface exposed by your dashboard.&lt;/p&gt;&lt;p class="MsoNormal"&gt;ExternalInterface is very similar to a FS Command but is more flexible, in that you canpass as many arguments as you want to any JavaScript function on the HTML pageand receive a return value. It can work in the opposite way as well, fromJavaScript to Flash. In a word, data communication between Xcelsius and itscontainer (HTML file) is bi-directional.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;One powerfuluse of this connectivity is when you want to&lt;strong&gt; enable communication between 2 dashboard&lt;/strong&gt;s created by Xcelsius. Forexample, you have created 2 fancy dashboards one to display sales revenue foreach branch and the other to display some info of a branch such as its map andimages. You may want to take use of this connectivity to pass the selectedbranch between them. &lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;To enable data communication in or out ofyour dashboard, in the Property panel you need specify a cell range in theembedded spreadsheet as the source of the data sent out or the destination ofdata passed in, and specify whether it can be read, written, or both. Afterunderstanding this mechanism, you can know what to do with the Property panelof an External Interface Connection.&lt;/p&gt;&lt;p class="MsoNormal"&gt;In the Property panel, click the buttonwith a plus (+) sign to add a range, which will be used as the Source, theDestination or both. The properties are per range, as explained below.&lt;/p&gt;&lt;p class="BulletList"&gt;&amp;sect;&amp;#160;&amp;#160; Name&lt;/p&gt;&lt;p class="MsoNormal"&gt;You specify a name for the range by eitherentering a text directly in the Range Name field, or clicking the Bind buttonto bind it to a single cell in the embedded spreadsheet. This name is not justused to make the range meaningful and easy to understand &amp;ndash; it will be used inexternal JavaScript function later.&lt;/p&gt;&lt;p class="BulletList"&gt;&amp;sect;&amp;#160;&amp;#160; Range Type&lt;/p&gt;&lt;p class="MsoNormal"&gt;You then set the Range Type by selectingone from the drop-down list. If you want to pass a single value, select Celland later bind Range to a single cell in the spreadsheet. Similarly, chooseRow/Column if you want to pass data in a one-dimensional array, and chooseTable if the data is 2-dimensional, with multiple rows and columns.&lt;/p&gt;&lt;p class="BulletList"&gt;&amp;sect;&amp;#160;&amp;#160; Range&lt;/p&gt;&lt;p class="MsoNormal"&gt;Depending on what Range Type you haveselected, you specify Range by clicking the Bind button to bind to a cell, arow or column, or a table in the embedded spreadsheet. For inboundcommunication, external data will be inserted here. For outbound, data in thespecified cell range will be sent to external applications.&lt;/p&gt;&lt;p class="BulletList"&gt;&amp;sect;&amp;#160;&amp;#160; Access&lt;/p&gt;&lt;p class="MsoNormal"&gt;Here you specify the access type of thecell range, by selecting one among Read, Write and Read/Write. If the data ofthe cell range will be sent to external applications, choose Read. If the cellrange is used as the destination of data passed in from external, choose Write.If both might be used, choose Read/Write.&lt;/p&gt;&lt;p class="MsoNormal"&gt;You can add as many Ranges as you wish inone External Interface Connection, by clicking the button with a + sign. Todelete a range you defined before, simply click to select it and click thebutton with a&amp;#160; minus (-) sign.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Note that different from any other connectivity mentioned before, you cannot change the name of the connectivity &amp;ndash;you have to use the default name of &amp;ldquo;Connection 1&amp;#8221; or &amp;ldquo;Connection 2&amp;#8221; etc.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Figure 1 below shows a screenshot of theProperty page of an External Interface Connection:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55706-69062/eic1.jpg"&gt;&lt;img align="middle" alt="Definition of EIC" height="302" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55706-69062/623-302/eic1.jpg" width="623"/&gt;&lt;/a&gt;&amp;#160;Figure 1.&amp;#160;Definition of an External Interface Connection.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Also note that there&amp;rsquo;s no Usage tab here, whereyou might want to define when to trigger the connection. The reason is thatthis connectivity is not triggered by itself, but by JavaScript functions inits container HTML file.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:ccb66152-849b-46b5-ae00-b7878b28e722] --&gt;</description>
      <pubDate>Thu, 18 Nov 2010 08:29:51 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/11/18/explaining-data-connection-of-xcelsius-2008-part-4-external-interface-connection</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-11-18T08:29:51Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/explaining-data-connection-of-xcelsius-2008-part-4-external-interface-connection</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=55706</wfw:commentRss>
    </item>
    <item>
      <title>Explaining Data Connection of Xcelsius 2008 - Part 2: Flash Variables</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/11/16/explaining-data-connection-of-xcelsius-2008--part-2-flash-variables</link>
      <description>&lt;!-- [DocumentBodyStart:2c0799e9-193c-4c74-8e63-54f3be61a803] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p class="MsoNormal" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;This is the second part of my blog series about data connections provided by Xcelsius 2008. The first part about XML Data is available &lt;a class="jive-link-blog-small" data-containerId="19539" data-containerType="37" data-objectId="55693" data-objectType="38" href="http://scn.sap.com/people/ray.li3/blog/2010/11/16/explaining-data-connections-of-xcelsius-2008--part-1-xml-data"&gt;Explaining Data Connections of Xcelsius 2008 - Part 1: XML Data&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Most content is from &lt;!--[CodeBlockStart:f82aad0d-7474-4c6c-a7b3-47c5fe491c56]--&gt;&lt;span&gt;&lt;a class="jive-link-external-small" href="http://www.sap-press.com/products/Creating-Dashboards-with-Xcelsius-%E2%80%94-Practical-Guide.html"&gt;my latest book about Xcelsius&lt;/a&gt;&lt;/span&gt;&lt;!--[CodeBlockEnd:f82aad0d-7474-4c6c-a7b3-47c5fe491c56]--&gt; co-written with Evan Delodder published by SAP Press which is also available on &lt;!--[CodeBlockStart:a0923bd2-a233-4c41-89b1-ef8f82eba334]--&gt;&lt;span&gt;&lt;a class="jive-link-external-small" href="http://www.amazon.com/Creating-Dashboards-Xcelsius-Practical-Guide/dp/1592293352"&gt;Amazon&lt;/a&gt;&lt;/span&gt;&lt;!--[CodeBlockEnd:a0923bd2-a233-4c41-89b1-ef8f82eba334]--&gt;.&amp;#160;The name of the addedparameter is always &amp;#8222;FlashVars&amp;ldquo; and its value is a key-value pair. The format is &lt;strong&gt;variable_name=variable_value&lt;/strong&gt;.If there are multiple variables, they&amp;rsquo;ll be concatenated by &amp;amp; signs, suchas &lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class="BoxStandard"&gt;&lt;p&gt;variable_name1=variable_value1&amp;amp;variable_name2=variable_value2.&lt;/p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;p&gt;In ourexample, there&amp;rsquo;s only one parameter named COUNTRIES, and its value is anencoded XML string, as we have chosen XML as the Variable Format.&lt;/p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The other thing to add is the &lt;em&gt;FlashVars&lt;/em&gt; attribute in the &lt;em&gt;EMBED&lt;/em&gt; tag. The value of it should be thesame as that of the VALUE attribute mentioned before. These two changes must bemade simultaneously in order to make the Flash variable work on all browsers.&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;p&gt;You may also notice that the texts havebeen URL encoded,which is an encoding scheme to avoid non-ASCII characters in URLs. For thestring inside Flash variables, URL encoding is required, so special characterslike &amp;lt;, &amp;gt;&lt;/p&gt;&lt;/p&gt;&lt;p&gt;, &amp;amp;, =, and space, etc, will be escaped to something like &lt;em&gt;%3C&lt;/em&gt; and+ %20+.&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;p&gt;Now whenyou open this HTML document in your web browser, the SWF movie is loaded andthe values are assigned to the COUNTRIES Flash variable, the rangecorresponding to which will be updated. You can modify the values of the Flashvariable in the HTML document to change what you want to see on the dashboard andmoreover, more practically, you may automatically generate the HTML documentvia a web application.&lt;/p&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:2c0799e9-193c-4c74-8e63-54f3be61a803] --&gt;</description>
      <pubDate>Tue, 16 Nov 2010 08:41:44 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/11/16/explaining-data-connection-of-xcelsius-2008--part-2-flash-variables</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-11-16T08:41:44Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/explaining-data-connection-of-xcelsius-2008--part-2-flash-variables</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=55696</wfw:commentRss>
    </item>
    <item>
      <title>Explaining Data Connections of Xcelsius 2008 - Part 1: XML Data</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/11/16/explaining-data-connections-of-xcelsius-2008--part-1-xml-data</link>
      <description>&lt;!-- [DocumentBodyStart:3998696c-f3a2-4fed-ac28-4db3edd29e6c] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;span&gt;This is the first blog of the blog series about all data connection types of Xcelsius 2008, about what you can do with XML Data connection, when and how to use it.&amp;#160; Most content is from&amp;#160;{code:html}&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://www.sap-press.com/products/Creating-Dashboards-with-Xcelsius-%E2%80%94-Practical-Guide.html"&gt;my latest book about Xcelsius&lt;/a&gt;&lt;span&gt;{code}&amp;#160;co-written with Evan Delodder published by SAP Press which is also available on&amp;#160;{code:html}&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://www.amazon.com/Creating-Dashboards-Xcelsius-Practical-Guide/dp/1592293352"&gt;Amazon&lt;/a&gt;&lt;span&gt;{code}.The user&amp;rsquo;s default web browser may cachethe URL defined in the XML Data connectivity. That&amp;rsquo;s, if you request data withthe same URL (its parameter included) twice within a short period (before theweb browser considers the cached URL as expired), the web browser will not sendthe request to the web application server. Instead, it returns the cached pagecontent. To avoid this, you can simply disable your web browser from caching. Abetter way is to append a redundant parameter with Rand() as its value. As anexample, you can update the URL for the XML Data connectivity by concatenating &amp;ldquo;+&amp;amp;redundant_param=RAND()+&amp;#8221; to the realURL in the cell in the embedded spreadsheet.&amp;#160; h3. Property panel&amp;#160; The Property panel of an XML Dataconnection can be launched from Data Manager. h4. Definition tab&amp;#160; You can define the location and format ofthe XML Data connectivity in the Definition tab, as displayed in Figure 2:&lt;/span&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55693-69052/6.6.jpg"&gt;&lt;img alt="Definition tab" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55693-69052/581-400/6.6.jpg" width="581"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:3998696c-f3a2-4fed-ac28-4db3edd29e6c] --&gt;</description>
      <pubDate>Tue, 16 Nov 2010 08:41:16 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/11/16/explaining-data-connections-of-xcelsius-2008--part-1-xml-data</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-11-16T08:41:16Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>6</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/explaining-data-connections-of-xcelsius-2008--part-1-xml-data</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=55693</wfw:commentRss>
    </item>
    <item>
      <title>Dashboards about BO products sales and customers</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/10/15/dashboards-about-bo-products-sales-and-customers</link>
      <description>&lt;!-- [DocumentBodyStart:584471e3-6967-461b-aa9a-5ca57d1b2df6] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;SAP Community Network (SCN) China holds an Xcelsiusdashboard contest (&lt;a class="jive-link-external-small" href="http://www.sdn.sap.com/irj/scn/index?rid=/webcontent/uuid/e02cbf9d-bb34-2d10-4d81-f21abb447bc5"&gt;http://www.sdn.sap.com/irj/scn/index?rid=/webcontent/uuid/e02cbf9d-bb34-2d10-4d81-f21abb447bc5&lt;/a&gt;)&amp;#160;and invited me to join in. At first I hesitated forlacking of a good idea, but finally I decided to create one to show how BOproducts are sold in the dimensions of industry, time and product category, andhow the customers are using BO products &amp;ndash; for example, how many customersalready have established their Enterprise DataWarehouse (EDW) before choosingBO products and how many have not.&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;You can view my dashboard at &lt;a class="jive-link-external-small" href="http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/d06f369e-2ab1-2d10-9ca1-cd898e54b4d3"&gt;http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/d06f369e-2ab1-2d10-9ca1-cd898e54b4d3&lt;/a&gt;.It&amp;rsquo;s multi-lingual - by default it&amp;rsquo;s displayed in Chinese, while you can switchto English with a Combo box on the top right. If you could do me a favor - your writing a review for it ishighly appreciated!&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;Now&amp;#160;let&amp;rsquo;s talk about its content. It&amp;rsquo;s divided into 4 tabs, as illustrated&amp;#160;below.&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: -18pt; margin-left: 18pt;"&gt;1.&amp;#160;&amp;#160;&amp;#160;&amp;#160;Market&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;This tab shows theglobal (and especially Business Objects) BI market values since 2006, with BOmarket share displayed on the secondary Y axis of the Combination Chart, as displayed in Figure 1. Mostdata is cited from Gartner Research, such as &lt;a class="jive-link-external-small" href="http://www.gartner.com/it/page.jsp?id=700410"&gt;http://www.gartner.com/it/page.jsp?id=700410&lt;/a&gt;.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55297-68553/tab1-top.jpg"&gt;&lt;img align="middle" alt="Combination chart for global BI market and BO" height="304" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55297-68553/640-304/tab1-top.jpg" width="640"/&gt;&lt;/a&gt;&amp;#160;Figure 1. Global BI Market and that of SAP Business Objects&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;You can drill downto a certain year on clicking on any of the marker &amp;ndash; any of the vertical barsor circles. The Pie chart on the bottom left displays the market share of eachBI vendor in the selected year, such as SAS and IBM. When clicking on a vendor,more information about that vendor is displayed on the panel on the bottomright. Very simply put, in this dashboard the logo, rank, revenue and marketshare are displayed. Here you can see that SAP Business Objects holds the firstposition in market share, while that of Oracle keeps increasing each year.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;Figure 2 below showsthe components of this tab.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55297-68554/tab1-bottom.jpg"&gt;&lt;img align="middle" alt="BI Vendors market share in one year" height="226" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55297-68554/640-226/tab1-bottom.jpg" width="640"/&gt;&lt;/a&gt;&amp;#160;Figure 2. BI Vendors info in the selected year&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: -18pt; margin-left: 18pt;"&gt;2.&amp;#160;&amp;#160;&amp;#160;&amp;#160;Sales&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;This tab intends toshow the overall revenue of Business Objects, divided into industries andproducts. From the combination chart you can see the revenue since 2006 and thecorresponding increase (percentage), as displayed in Figure 3. You can concludefrom the chart that the growth rate decreases in 2007, but keeps high sincethen, when SAP acquired Business Objects.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55297-68555/tab2-chart.png"&gt;&lt;img align="middle" alt="BO Revenue and growth rate" height="189" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55297-68555/640-189/tab2-chart.png" width="640"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;Figure 3. BO Revenue and growth rate&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;There&amp;rsquo;s a Radiobutton group in the middle for you to select how to divide the revenue and customers, asdisplayed in Figure 4:&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55297-68556/tab2-radiospng.png"&gt;&lt;img align="middle" alt="Select a Distribution standard" height="24" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55297-68556/640-24/tab2-radiospng.png" width="640"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;Figure 4. Select a distribution standard&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;The default optionis Revenue Distribution, for you to see BO&amp;rsquo;s revenue from each industry in theselected year, as displayed in the Pie chart on the bottom right. On clickingon some industry, you can see the numeric value from the Gauge to its left.Figure 5 below shows such components.&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55297-68557/tab2-revenue.jpg"&gt;&lt;img align="middle" alt="Revenue distribution by industry" height="249" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55297-68557/589-249/tab2-revenue.jpg" width="589"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;Figure 5. Revenue Distribution by Industry&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;The 2&lt;sup&gt;nd&lt;/sup&gt;option is Customer Distribution, showing the number of customers in eachindustry for each product. You first select one of BO products from a radiobutton group (BOE, Xcelsius, DI/DQ etc), then you&amp;rsquo;ll see how many customershave purchased that product(s) in each industry from the Pie chart on thebottom right. Similarly, you can drill down to a certain industry by clickingon the Pie chart, more information (here the No. of customers) of which will bedisplayed in the Gauge to its left. Alert is not enabled for the Gauge, since Idon&amp;rsquo;t think it&amp;rsquo;s necessary to warn someone if there&amp;rsquo;re too few customers insome industry &amp;ndash; what do you think of it? Figure 6 below shows such components.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55297-68558/tab2-customer.jpg"&gt;&lt;img align="middle" alt="Customer distribution by industry" height="290" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55297-68558/640-290/tab2-customer.jpg" width="640"/&gt;&lt;/a&gt;&amp;#160;Figure 6. Customer count Distribution by Industry&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: -18pt; margin-left: 18pt;"&gt;3.&amp;#160;&amp;#160;&amp;#160;&amp;#160;Customers&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;This tab focuses onBO customers. The Combination chart shows the total number of customers with anexponential trend analysis displayed in the line.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;Customers in eachyear are then divided into categories by some standard such as Corporate Sizeor BI Investment (the company&amp;rsquo;s investment on BI). From the bottom left youfirst select a standard. If &amp;ldquo;Has EDW?&amp;#8221; is selected, a Pie chart is displayed toits right to show how many customers have established their Enterprise DataWarehouse before adopting BO products (eg. Reporting solutions) and how manyhave not, in the year selected from the Combination chart on the top. This isuseful for a new customer to decide whether to build an EDW system beforebuilding reporting systems or not.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;If another standardis selected, a Radar chart is displayed to show the number of customers in eachcategory. For example, when Corporate Size is selected, the Radar chart shows howmany customers with fewer than 100 employees have adopted BO products, and howmany with 100 &amp;ndash; 500, 500 &amp;ndash; 1000 employees etc, as displayed in Figure 7. &lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55297-68559/tab3.jpg"&gt;&lt;img align="middle" alt="Customer classification by Corporate Size" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55297-68559/525-400/tab3.jpg" width="525"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;Figure 7. Customer classification by Corporate size&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;This is helpful forthe customer to decide whether he&amp;rsquo;s suitable to purchase BO products. So it iswith Revenue and BI Investment.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;Well, a drawbackhere is the colors of the Radar chart is not clear enough&amp;#8230; forgive me J&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: -18pt; margin-left: 18pt;"&gt;4.&amp;#160;&amp;#160;&amp;#160;&amp;#160;Help&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;This tab is simpleenough, just for you to understand my purpose and how to use this dashboard, asdisplayed in Figure 8. The image is a blackboard in a classroom, with a chalk onit.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-55297-68560/tab4.jpg"&gt;&lt;img align="middle" alt="Help of this dashboard" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-55297-68560/556-400/tab4.jpg" width="556"/&gt;&lt;/a&gt;&amp;#160;Figure 8. Help of this dashboard.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;As to the design, the 4 tabs are in a Tab Set, the titles of whichare hidden by a Background. 4 Push buttons are places on the top left as aselector, controlling which tab is visible.&lt;/p&gt;&lt;p class="MsoNormal"&gt;TheCombo box on the top left is used for the user to select a language. By defaultit&amp;rsquo;s Chinese, and the user can switch to English from the dropdown list &amp;ndash; easy tosupport more languages.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Inthe first tab, clicking on any marker of any series will trigger drill down. However,the Destination of different series cannot point to the same cell(s) in theembedded Excel spreadsheet. This is achieved with the help of 3 Historycomponents &amp;ndash; different series drills down to different cell, which acts as the Dataof each History component, while the 3 History components share the same Destinationcell.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Backgroundsand Rectangles are heavily used in this dashboard. Backgrounds are used tohighlight a group of components. Rectangles are used as background images,which has been explained in my previous blog post at &lt;a class="jive-link-blog-small" data-containerId="19539" data-containerType="37" data-objectId="53674" data-objectType="38" href="http://scn.sap.com/people/ray.li3/blog/2010/06/02/use-rectangle-to-build-backgrounds-of-sap-crystal-dashboard-design-xcelsius"&gt;Use Rectangle to build backgrounds of SAP Crystal Dashboard Design (Xcelsius)&lt;/a&gt;.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Well,thank you for taking time in looking at my dashboard. Your feedback, either positive or negative, is warmly welcome and highly appreciated. Please kindly write a review for it, thanks!&amp;#160;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:584471e3-6967-461b-aa9a-5ca57d1b2df6] --&gt;</description>
      <pubDate>Fri, 15 Oct 2010 10:41:19 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/10/15/dashboards-about-bo-products-sales-and-customers</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-10-15T10:41:19Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/dashboards-about-bo-products-sales-and-customers</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=55297</wfw:commentRss>
    </item>
    <item>
      <title>Disable summary fields from drill down in Crystal Reports</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/08/04/disable-summary-fields-from-drill-down-in-crystal-reports</link>
      <description>&lt;!-- [DocumentBodyStart:5eda5ebe-9a9d-4bb8-87cc-38acae70c16a] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;span&gt;As you know, a summary field or the group name on a group header / footer of a crystal report appear as a hyperlink. When viewing the report from Crystal Reports Designer, Crystal Reports Viewer or InfoView using DHTML /Advanced DHTML viewer, the user can click on such fields to drill down to that group. However, sometimes the user may want to disable this functionality. In a large banking corporation, the business user doesn&amp;rsquo;t want to see a new window when clicking on a sub-total field on a group header in InfoView - He&amp;rsquo;s OK to use the drill-down functionality when clicking on the group name, but not the sub-total fields. For example, a crystal report showing customers&amp;rsquo; sales grouped by region and city in USA is displayed in Figure 1 below. The user wants to drill down to a region or city when clicking on its name, but wants nothing to happen when clicking the subtotal fields. &amp;#160;&lt;/span&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-54325-66792/cr1.jpg"&gt;&lt;img alt="drill down on a group name" height="213" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-54325-66792/553-213/cr1.jpg" width="553"/&gt;&lt;/a&gt;&lt;span&gt;Figure 1. You can drill down to the detail of a group by clicking on group name or summary fields.&amp;#160; There&amp;rsquo;s no such property to control this behavior directly. Finally, we found out two workarounds. One workaround is quite straight-forward,by placing the fields into a Text Object. That&amp;rsquo;s, you first insert a Text Object to the group header or footer and drag the subtotal field into it. The fields will appear correctly and when clicked, no drill down will happen. This applies to all viewer types in InfoView, either ActiveX or DHTML. Another way is to use CSS, by specifyingthe CSS Class Name of the subtotal field and adding such a css class to the css file which is used by DHTML/Advanced DHTML viewer. The new CSS Class is used to prevent the subtotal field acting as a hyperlink. After some search, the way out is to change the subtotal field&amp;rsquo;s hyper link (href property) in the generated HTML page. To do this, you first specify the CSS Class Name of a field in Crystal Reports Designer as displayed in Figure2: &amp;#160;&lt;/span&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-54325-66793/cr2.jpg"&gt;&lt;img alt="" height="365" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-54325-66793/436-365/cr2.jpg" width="436"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:5eda5ebe-9a9d-4bb8-87cc-38acae70c16a] --&gt;</description>
      <pubDate>Wed, 04 Aug 2010 16:34:12 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/08/04/disable-summary-fields-from-drill-down-in-crystal-reports</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-08-04T16:34:12Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>4</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/disable-summary-fields-from-drill-down-in-crystal-reports</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=54325</wfw:commentRss>
    </item>
    <item>
      <title>Clustering BO Edge with MSCS</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/06/28/clustering-bo-edge-with-mscs</link>
      <description>&lt;!-- [DocumentBodyStart:c154fca5-763d-4e2f-88da-6323a2db15e9] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p class="MsoNormal"&gt;Business Objects Edge doesn&amp;rsquo;t support distribute installation for cluster, which is different from Business Objects Enterprise. However, this doesn&amp;rsquo;t mean that the user cannot benefit from clustering ability with BO Edge. In this post I will share with you how to cluster BO Edge with Microsoft Configuring Service.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;One customer has purchased Business ObjectsEdge XI3.1 standard edition, and they want us to cluster it for High Availability (HA). That&amp;rsquo;s, when one machine crashes (to be more specific, whenthe WAS such as Tomcat or any server of BO Edge crashes, when the OS crashes orwhen the network is down), the other machine can be started to take the responsibility immediately and automatically.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Well, this is very easy to do if they were using BO Enterprise. As you know, Business Objects Enterprise has clustering ability with itself by installing BOE on multiple machines and pointing to the same CMS, either for High Availability or for Load Balance. However, it&amp;rsquo;s not the case with BO Edge, as you cannot install it on different machines while pointing to the same CMS.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;The solution is to install BO Edge on multiple machines separately, each has its own CMS name but pointing to the same database and FileStore, and then configuring them as a cluster using Microsoft Clustering Service (MSCS), a service of Microsoft Windows. &lt;/p&gt;&lt;p class="MsoNormal"&gt;From the end user&amp;rsquo;s perspective, they access InfoView or CMC through the cluster name. When using Designer or Web Intelligence Rich Client, they enter the cluster name as the CMS.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Aside from MSCS, you can also use some other ways to achieve the same goal. For example, you can use some hardware such as F5 (&lt;a class="jive-link-external-small" href="http://www.f5.com/"&gt;http://www.f5.com/&lt;/a&gt;) or software such as Apache for load balance, which provides a virtual IP and dispatches user requests to any node based on its performance. In our case, MSCS is chosen just because the customer has purchased Microsoft Windows 2008 Server with MSCS.&lt;/p&gt;&lt;p class="MsoNormal"&gt;So briefly, we need configure MSCS to make multiple machines a cluster, install BO Edge on each of the machine (node),pointing different installations to the same CMS / Audit databases and Input /Output FileRepository, and register BO services to the cluster so that MSCS can listen to and control those services.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;Steps&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;In the rest of this post, I&amp;rsquo;ll show youeach step we have went through in clustering BO Edge using MSCS. If you have the same requirement but run into some problem on any step, feel free to ask mefor more information.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;strong&gt;1.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/strong&gt;&lt;strong&gt;Configure cluster for the machines with the same hardware &amp;amp; software configuration using MSCS.&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;This step should be done by some Windows experts. After installation, you can check the nodes from Start - All Programs &amp;ndash;Administrative Tools &amp;ndash; Failover Cluster Management. For details about how to configure MSCS, refer to google or Microsoft website such as&amp;#160; &lt;a class="jive-link-external-small" href="http://msdn.microsoft.com/en-us/library/ms952401.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms952401.aspx&lt;/a&gt;.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;Briefly, the theory with MSCS is that, only the services on one node are running (active) at a time. All the other machines are also powered on but their services are stopped. When the currently active node encounters some problems and cannot serve, MSCS observers it (by listening to its &amp;ldquo;heart beat&amp;#8221;) and automatically switches to another node. The services on that nodeare then started automatically. As a result, there may be some delay between the time when some services on the active node are down and the time when all services on another node are up. The delay is the sum of the time required bythe MSCS to find out that the active node is down and to start up all the services on another node.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;In our case, the OS is Windows 2008 Server R2, 64-bit, with4 * 2.4G CPU and 32G Physical Memory. The delay is 1 minute or so.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;strong&gt;2.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/strong&gt;&lt;strong&gt;Install BO Edge on each machine one by one.&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;In our case, 2 machines are used to install BO Edge forfail over. Whether BO is installed on the primary or the secondary node first doesn't matter. Before installation, disable the other nodes first, through Start&amp;ndash; All Programs - Administrative Tools. It&amp;rsquo;s not required to shutdown that machine.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;During installation, the default SIA (Server Intelligence Agent) node name is the machine name (such as pedbbo01, pedbbo02) and you need change it to a general name so that it&amp;rsquo;s not specific to any node. For example, change it to &lt;em&gt;CompanyBOEdge&lt;/em&gt;, which is HFBOE in ourcase.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;In our case, the CMS and the Audit databases are on Oracle11 server. So during installation, choose &amp;ldquo;Advanced&amp;#8221; and select Oracle as your database. The properties for both the CMS and the Audit databases should be the same for BO Edge in both machines &amp;ndash; that&amp;rsquo;s, CMS on two machines share the same Oracle table space, with the same user id (for example, B3OLPADM for CMS andB3OLPADT for Audit).&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;After installation of one machine, don&amp;rsquo;t make any change through CMC or CCM. Go on to install BO Edge on each other node.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&lt;strong&gt;Do not &lt;/strong&gt;go on with the following steps until BO Edge has been successfully installed on all the nodes.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;strong&gt;3.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/strong&gt;&lt;strong&gt;Update FileStore.&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;For data consistency, both installations of BO Edge should share the same FileStore by pointing to the same folders for Input / OutputFile Repository Server. By the way, during installation, we have already configured the two installations of BO Edge to share the same table spaces for CMS and audit across both installations.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;To make the FileStores (both Input and Output) share the same path for the 2 machines, follow the steps below:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: -18pt;"&gt;a.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Copy folder FileStore of eithernode.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: -18pt;"&gt;b.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Paste it in a cluster disk (forexample, Z:/FileStore).&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: -18pt;"&gt;c.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Update the path info of theInput and the Output FileRepositoryServer through CMC.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;You can then logon to CMC of the other node. You will find that the paths of the Input / OutputFileRepositoryServer has been automatically updated to the folder in thecluster disk.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;strong&gt;4.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/strong&gt;&lt;strong&gt;Change startup type from Automaticto Manual for Tomcat and SIA in both machines.&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;BO Edge contains 2 windows services, Tomcat and SIA. We change their startup types to Manual because with clustering using MSCS, only one node is up at a time and so it is with the BO services. As a result, we don&amp;rsquo;t want BO services to start up automatically on each node.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;strong&gt;5.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/strong&gt;&lt;strong&gt;Register services of Tomcat and SIA to the cluster.&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;Much time is spent in this step. The steps are illustrated below.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: -18pt;"&gt;a.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Create a Service for SIA&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;First, right-click the cluster name in Failover Cluster Management and select &amp;ldquo;Configure a Service or Application&amp;#8221;, as displayed in Figure1:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65835/mscs_figure1.jpg"&gt;&lt;img align="middle" alt="" height="319" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65835/340-319/mscs_figure1.jpg" width="340"/&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;Figure 1. Create a Service for SIA&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;In the &amp;ldquo;Select Service or Application&amp;#8221; step, select &amp;ldquo;GenericService&amp;#8221; in the wizard and click Next, as displayed in Figure 2:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65836/mscs_figure2.jpg"&gt;&lt;img align="middle" alt="" height="324" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65836/460-324/mscs_figure2.jpg" width="460"/&gt;&lt;/a&gt;&amp;#160;Figure 2. Select Generic Service as Service type&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;Then you will see a list of Windows services of that machine, the same as you see when running &amp;ldquo;services.msc&amp;#8221; from the command line.In this step, select SIA in the &amp;ldquo;Select Service&amp;#8221; tab.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;In the &amp;ldquo;Client Access Point&amp;#8221; step, enter a name for theservice to something like &amp;ldquo;HFBOE&amp;#8221; and type a IP, which is an virtual IP addressfor the end user such as 10.70.1.113, as illustrated in Figure 3:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65837/mscs_figure3.jpg"&gt;&lt;img align="middle" alt="" height="297" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65837/558-297/mscs_figure3.jpg" width="558"/&gt;&lt;/a&gt;Figure 3. Enter a virtual IP for client access&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;In the &amp;ldquo;Select Storage&amp;#8221; step , select the cluster disk &amp;ldquo;Z:&amp;#8221;which has been configured in the first step.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: -18pt;"&gt;b.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Add Resources for Tomcat&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;In the previous steps we have configured SIA as a Service. In BO Edge, service Tomcat should depend on SIA so in this step, we are to add Tomcat as a resource for service SIA. To do this, select the service you have just created and click &amp;ldquo;Add a resource&amp;#8221; to the right, as demonstrated in Figure 4:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65838/mscs_figure4.jpg"&gt;&lt;img align="middle" alt="" height="320" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65838/557-320/mscs_figure4.jpg" width="557"/&gt;&lt;/a&gt;&amp;#160;Figure 4. Add a resource for Tomcat to SIA&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;And select &amp;ldquo;Generic Service&amp;#8221; in the context menu (forTomcat). No special configuration here.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: -18pt;"&gt;c.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Add Dependency&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;In this step we are to define the dependency order. That&amp;rsquo;s,what resource should be ready before another can be started. In our case, the dependency order should be : Service name -&amp;gt; IP -&amp;gt; Cluster Disk -&amp;gt; SIA-&amp;gt; Tomcat, meaning that the IP service and the Cluster Disk should be ready before SIA can be started, and then Tomcat.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;In the following paragraphs of this section, we will show you what we did in our case to configure the dependencies and some other properties of each resource or service.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;For the &lt;strong&gt;ApacheTomcat&lt;/strong&gt;, select the service HFBOE and then resource &amp;ldquo;Tomcat&amp;#8221;, right-click it and switch to the Dependencies tab to make it depend on SIA, as displayed inFigure 5:&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65839/mscs_figure5.jpg"&gt;&lt;img align="middle" alt="" height="315" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65839/558-315/mscs_figure5.jpg" width="558"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;Figure 5. Resource Tomcat should &amp;#160;depend on SIA&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;And its Policy tab should be similar to Figure 6 below:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65840/mscs_figure6.jpg"&gt;&lt;img align="absmiddle" alt="" height="350" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65840/558-350/mscs_figure6.jpg" width="558"/&gt;&lt;/a&gt;&amp;#160;Figure 6. Policy tab of resource Tomcat&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;For &lt;strong&gt;SIA&lt;/strong&gt;, right-click it and switch to the General tab. Remember to check &amp;ldquo;Use Network Name forcomputer name&amp;#8221;, as displayed in Figure 7:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65841/mscs_figure7.jpg"&gt;&lt;img align="middle" alt="" height="338" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65841/558-338/mscs_figure7.jpg" width="558"/&gt;&lt;/a&gt;&amp;#160;Figure 7. Select "Use Network name for computer name" for SIA&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160;You may google for the meaning of this option and why wecheck it here.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;In its Dependencies tab, make it depend on the service &amp;ldquo;HFBOE&amp;#8221;and Cluster Disk &amp;ldquo;Z:&amp;#8221;, as displayed in Figure 8:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&lt;a href="https://weblogs.sdn.sap.com/weblogs/images/251740809/mscs_figure8.jpg"&gt;&lt;img align="middle" alt="" height="378" src="https://weblogs.sdn.sap.com/weblogs/images/251740809/mscs_figure8.jpg" width="396"/&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;Figure 8. SIA should depend on the Cluster Disk and the service&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;For your information, its &amp;ldquo;Advanced Policies&amp;#8221; tab should be similar to what&amp;rsquo;s displayed in Figure 9 below:&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&lt;a href="https://weblogs.sdn.sap.com/weblogs/images/251740809/mscs_figure9.jpg"&gt;&lt;img align="middle" alt="" src="https://weblogs.sdn.sap.com/weblogs/images/251740809/mscs_figure9.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;Figure 9. Advanced policies for SIA&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;For the &lt;strong&gt;Cluster Disk&lt;/strong&gt;, similarly, open its Properties tab and make it depend on the &amp;ldquo;HFBOE&amp;#8221; service as displayed in Figure 10 below.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65842/mscs_figure10.jpg"&gt;&lt;img align="middle" alt="" height="198" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65842/407-198/mscs_figure10.jpg" width="407"/&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Figure 10. Cluster Disk should depend on the service.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;And in its &amp;ldquo;Policies&amp;#8221; tab, select &amp;ldquo;If resource fails, do not restart&amp;#8221; which means that on failure of this resource(Cluster Disk), switch to the other node without trying to restart it in thesame node. This is very important during the configuration. You can refer to Figure11 to have a look:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65843/mscs_figure11.jpg"&gt;&lt;img align="middle" alt="" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65843/365-400/mscs_figure11.jpg" width="365"/&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;Figure 11. Do not restart Cluster Disk if it fails&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;As to the &amp;ldquo;HFBOE&amp;#8221; &lt;strong&gt;service&lt;/strong&gt; itself, in its &amp;ldquo;Properties&amp;#8221; tab, make it depend on the IP Address which is also a resource, as displayed in Figure 12:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65844/mscs_figure12.jpg"&gt;&lt;img align="middle" alt="" height="196" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65844/402-196/mscs_figure12.jpg" width="402"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;Figure 12. The service itself depends on resource IP Address&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;Also please select both nodes as the Preferred Owners, as displayed in Figure 13:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&amp;#160;&lt;a href="https://weblogs.sdn.sap.com/weblogs/images/251740809/mscs_figure13.jpg"&gt;&lt;img align="middle" alt="" height="378" src="https://weblogs.sdn.sap.com/weblogs/images/251740809/mscs_figure13.jpg" width="556"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;Figure 13. Select both nodes as Preferred owners for the service&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;After this step, the end user should be able to access the BI portals of InfoView and CMC, or the CMS through some client tools such as Designer, Query as a Web Service or Web Intelligence Rich Client, with the cluster name or the virtual ip as the CMS name. MSCS will redirect the user to the active node, of which the user is unaware. What&amp;rsquo;s more, when one machine crashes due to a power off or network problem, MSCS will automatically activate the other node and consequently start up Server Intelligent Agent and Tomcat of it.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;strong&gt;6.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/strong&gt;&lt;strong&gt;Test HA&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;Before testing, validate the configuration through &amp;ldquo;Validate a Configuration&amp;#8230;&amp;#8221; command as displayed inFigure 14:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53735-65845/mscs_figure14.jpg"&gt;&lt;img align="middle" alt="" height="169" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53735-65845/294-169/mscs_figure14.jpg" width="294"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;Figure 14. Validate the configuration before testing it&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;When the validationpasses, there&amp;rsquo;re 3 ways to test HA:&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: -18pt;"&gt;a.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Move service to the other node.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;In this way you manually move the BO Edge services (Tomcatand SIA) from one node to the other, to test whether they can be stopped and started automatically by MSCS.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: -18pt;"&gt;b.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Disconnect public cable&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;This way is to simulate the scenario when a network problem has occurred to the currently active node. That&amp;rsquo;s, when the machine cannot be reached over the network. To test this, find the public cable of the active node and simply pull it out.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;If the configuration is OK, MSCS will detect this and switch to the other node automatically.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: -18pt;"&gt;c.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Power off&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;This way is to simulate the scenario when the currently active machine crashes or has been shutdown accidentally. To test this, shutdown the active node and see if BO services can be started automatically on another node.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;If the configuration is OK, MSCS will detect the power off accident and switch to the other node automatically.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 36pt; text-indent: 0cm;"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: 0cm;"&gt;&lt;span&gt;Still have problem with BO Edge cluster? Feel free to email me at &lt;/span&gt;&lt;a class="jive-link-email-small" href="mailto:ray.li@byinsight.com"&gt;ray.li@byinsight.com&lt;/a&gt;&lt;span&gt;.&amp;#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:c154fca5-763d-4e2f-88da-6323a2db15e9] --&gt;</description>
      <pubDate>Mon, 28 Jun 2010 13:03:28 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/06/28/clustering-bo-edge-with-mscs</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-06-28T13:03:28Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>8</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/clustering-bo-edge-with-mscs</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=53735</wfw:commentRss>
    </item>
    <item>
      <title>Use Rectangle to build backgrounds of SAP Crystal Dashboard Design (Xcelsius)</title>
      <link>http://scn.sap.com/people/ray.li3/blog/2010/06/02/use-rectangle-to-build-backgrounds-of-sap-crystal-dashboard-design-xcelsius</link>
      <description>&lt;!-- [DocumentBodyStart:24b5cfd6-623c-438f-9c16-01670b55127d] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Rectangle is an advanced UI component provided by SAP Crystal Dashboard Design (Xcelsius) in the category of &amp;ldquo;Arts and Backgrounds&amp;#8221;. Generally speaking, you can use it to define canvas layout such as dividing it into several parts and defining the canvas border, as displayed in Figure 1 below.&lt;/p&gt;&lt;p&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53674-65715/figure1.jpg"&gt;&lt;img alt="figure1" height="351" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53674-65715/640-351/figure1.jpg" width="640"/&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Figure 1. Use Rectangles to divide canvas and define borders.&lt;/p&gt;&lt;p&gt;As you can see from this figure, two Rectangle components are used to divide the canvas into 2 parts for a Label and a Pie chart, and another Rectangle is used to define the canvas size.&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;In this post I&amp;rsquo;d like to introduce another interesting usage of Rectangle, by configuring it as the background of your dashboard. In this way you can quickly make your design better-looking and more professional with the help of a simple Rectangle component, as illustrated below:&lt;/p&gt;&lt;p&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53674-65716/figure2.jpg"&gt;&lt;img alt="figure2" height="297" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53674-65716/640-297/figure2.jpg" width="640"/&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Figure 2. A simple background represented by a Rectangle component.&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;You may think that this can be easily achieved by using some Background component. However, you will soon find out that no&amp;#160;&lt;strong&gt;Background &lt;/strong&gt;component provided by&amp;#160;SAP Crystal Dashboard Design (Xcelsius)&amp;#160;itself can do the same thing. Traditionally, you may achieve this by first drawing such an image with some complex software such as PhotoShop, then placing an &lt;strong&gt;Image Component&lt;/strong&gt; onto the canvas and importing the image, and finally resizing it to make it look like the background of yourdashboard. Compared to this, using a Rectangle is much easier to do and to maintain.&amp;#160;&lt;/p&gt;&lt;p&gt;By the way, maybe you have noticed that Iam using &amp;ldquo;SAP Crystal Dashboard Design (Xcelsius)&amp;#8221; instead of &amp;ldquo;Xcelsius&amp;#8221;. The reasonis that SAP has just rebranded Xcelsius. This post applies to any Xcelsiusedition with Rectangle available, including SAP Crystal Presentation Design(for Xcelsius Present), SAP Crystal Dashboard Design, personal edition (forXcelsius Engage) and SAP BusinessObjects Dashboard Design (for XcelsiusEnterprise). In this post we will use SAP Crystal Dashboard Design (Xcelsius)to refer to the product.&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Briefly, the steps to use a rectangle as your dashboard background are as follows.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: -18pt;"&gt;1.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Drag a Rectangle component from &amp;ldquo;Art and Backgrounds&amp;#8221; category in Components view and drop it to the canvas. Resize it according to your needs so that it&amp;rsquo;s just large enough to hold all the UI components of your dashboard.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 18pt; text-indent: -18pt;"&gt;2.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Click to open the Property panel of the Rectangle component.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 42pt; text-indent: -21pt;"&gt;a) &amp;#160; &amp;#160;Uncheck &amp;ldquo;Enable Border&amp;#8221; so as not to display borders, as we will use it as the background.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 42pt; text-indent: -21pt;"&gt;b) &amp;#160; &amp;#160;The Fill type is &amp;ldquo;None&amp;#8221; by default. In our case, select &amp;ldquo;Linear(gradient)&amp;#8221; or &amp;ldquo;Radial(gradient)&amp;#8221; from thedrop-down list.&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; More property items become available. For example, if &amp;ldquo;Linear(gradient)&amp;#8221;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;is &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;selected, the Property panel is as displayed below:&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53674-65717/figure3.jpg"&gt;&lt;img alt="figure3" height="242" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53674-65717/369-242/figure3.jpg" width="369"/&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;Figure 3. Properties needed to use a Rectangle as a background.&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; c) &amp;#160; &amp;#160;Add more colors along &amp;ldquo;GradientPreview&amp;#8221; and adjust them. How to do this &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;will &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;be illustrated later.&amp;#160;&lt;/p&gt;&lt;p&gt;3.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Click &amp;ldquo;Fit Canvas to Components&amp;#8221;to trim off the extra unwanted spaces.&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Now let&amp;rsquo;s see what we can do in step 2 c). If &amp;ldquo;Linear(gradient)&amp;#8221; is selected, the color of each division of the rectangleis changing linearly between every 2 color points, from the left to the right. By default there&amp;rsquo;re 2 color points in &amp;ldquo;Gradient Preview&amp;#8221;, one at the leftmost and the other at therightmost, corresponding to the colors of the Rectangle component at the leftmost and the rightmost.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;To change the color&lt;/strong&gt; of a certain color point, click the buttonbelow the color bar in Gradient Preview to select it, and then click the color picker to choose a different color. For example, to make the rectangle change from white to black, click the first color point and change it to white, as illustrated in Figure 4 below:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53674-65718/figure4.jpg"&gt;&lt;img alt="figure4" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53674-65718/526-400/figure4.jpg" width="526"/&gt;&lt;/a&gt;&amp;#160;Figure 4. Steps to change the color of one color point.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;To move a color point&lt;/strong&gt;, click on the color point button and hold your mouse to drag it left or right to your desired position.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;To add more color points&lt;/strong&gt;, click on the color bar below &amp;ldquo;Gradient Preview&amp;#8221;, and specify its color through the color picker. For example, if you want the rectangle area to change linearly from white to black and then to white, from left to right, you can &lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 21pt; text-indent: -21pt;"&gt;&amp;#160;&amp;#160;i) &amp;#160; First, click on the color bar to add a point, and click the color picker to adjust its color. In our case, click the middle of the color bar and set it to black.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 21pt; text-indent: -21pt;"&gt;&amp;#160;&amp;#160;ii) &amp;#160;Second, click on the last color point on the color bar (on therightmost) and change its color to white.&lt;/p&gt;&lt;p class="MsoListParagraph" style="margin-left: 21pt; text-indent: -21pt;"&gt;&amp;#160;&amp;#160;iii) Third, click on the second color point and drag it to the center.&lt;/p&gt;&lt;p class="MsoNormal"&gt;The Rectangle and its Property panel is now as displayed in Figure 5:&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53674-65719/figure5.jpg"&gt;&lt;img alt="figure5" height="232" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53674-65719/640-232/figure5.jpg" width="640"/&gt;&lt;/a&gt;&amp;#160;Figure 5. Linear gradient with 3 color points.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Similarly, you can add as many color points as you wish and specify their colors. The rectangle is then divided by those points into several areas. The color of each area changes gradually and linearly from the color of the lefter color point to that of the righter one. For example, after adding two more color points to the rectangle and configure the colors, the rectangle now looks as displayed in Figure 6:&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53674-65720/figure6.jpg"&gt;&lt;img alt="figure6" height="204" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53674-65720/640-204/figure6.jpg" width="640"/&gt;&lt;/a&gt;&amp;#160;Figure 6. Linear gradient with 2 more color points added.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;In this figure, the first and the last points are black, the center point is white, and the other 2 are of a different color, somewhat blue.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;When adding more points to the rectangle, you&amp;rsquo;d better make them symmetrical for a consistent look and feel. As you can see from figure 6, the 2&lt;sup&gt;nd&lt;/sup&gt; and the 4&lt;sup&gt;th&lt;/sup&gt; points are of almost equal distance from the center.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;You may have tried but failed to find a way&amp;#160;&lt;strong&gt;to delete any existing color point&lt;/strong&gt;. Well, I don&amp;rsquo;t know why, but you can move one color point to be overlapped with another and change the color accordingly, which has the same effect as deletingit. That color point is not actually deleted &amp;ndash; you can still drag it out.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;You can also set rotation angle&lt;/strong&gt; through the Rotation spinner so that the coloris not changing horizontally, the rotation angle of which is 0 degree. This is also a very interesting and attractive feature and I like it very much. For example, when setting Rotation angle to 45 degrees (by entering 45 in thespinner component), the rectangle will be like as displayed in Figure 7. You can compare it with figure 6 to see the effect of Rotation angle.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53674-65721/figure7.jpg"&gt;&lt;img alt="figure7" height="206" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53674-65721/640-206/figure7.jpg" width="640"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Figure &amp;#160;7. Linear gradient with a rotation degree of 45.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;If you want to make the white space in the center to be larger, you can add 1 or more color points to each side of the center point and set their colors to be the same as that of the center point,which is white. For example, you can add 2 more color points surrounding the center point and make them all of color white, as displayed in Figure 8:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53674-65722/figure8.jpg"&gt;&lt;img alt="figure8" height="209" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53674-65722/640-209/figure8.jpg" width="640"/&gt;&lt;/a&gt;&amp;#160;Figure 8. Adding more color points of the same color to make some space larger.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;If you want &lt;strong&gt;to adjust the width of each color space&lt;/strong&gt;, you can move any of the color points under Gradient Preview to see the change.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;For each color point, you can &lt;strong&gt;adjust its Transparency&lt;/strong&gt; level to make its color lighter or deeper. You may want to do this for a smooth transition from one color to another.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;That&amp;rsquo;s all for Linear(gradient). On the other hand, if you choose Radial(gradient), the color is not changing linearly from left to right (with a rotation angle of 0 or more), but radially&lt;strong&gt; from the center to the borders&lt;/strong&gt;. Consequently, the color points you added to the color bar below Gradient Preview don&amp;rsquo;t map to the rectangle from left to the right, but from the center point to the border. That&amp;rsquo;s, the first color point, which is on the leftmost of the color bar, indicates the color not of the leftmost border of the rectangle but of its center. In addition, you may have already noticed that Rotation is not available for Radial(gradient).&lt;/p&gt;&lt;p class="MsoNormal"&gt;Figure 9 below shows an example ofRadial(gradient):&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-53674-65723/figure9.jpg"&gt;&lt;img alt="figure9" height="208" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-53674-65723/640-208/figure9.jpg" width="640"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Figure 9. Radial gradient with 4 color points.&lt;/p&gt;&lt;p class="MsoNormal"&gt;As you can see in the canvas, the center area is black defined by the first color point. It gradually changes to yellow radially from the center, which is defined by the second color point. Then it changes again from yellow to red radially, which is in turn defined by the third colorpoint. Finally, it changes from red to white, as defined by the last color point.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;In this short post we have seen what we can do with a Rectangle component and how. Hope it&amp;rsquo;s helpful during your dashboard development using SAP BusinessObjects/Crystal Dashboard Design.&amp;#160;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:24b5cfd6-623c-438f-9c16-01670b55127d] --&gt;</description>
      <pubDate>Wed, 02 Jun 2010 12:45:13 GMT</pubDate>
      <guid>http://scn.sap.com/people/ray.li3/blog/2010/06/02/use-rectangle-to-build-backgrounds-of-sap-crystal-dashboard-design-xcelsius</guid>
      <dc:creator>Ray Li</dc:creator>
      <dc:date>2010-06-02T12:45:13Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
      <clearspace:replyCount>5</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/people/ray.li3/blog/comment/use-rectangle-to-build-backgrounds-of-sap-crystal-dashboard-design-xcelsius</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/people/ray.li3/blog/feeds/comments?blogPost=53674</wfw:commentRss>
    </item>
  </channel>
</rss>

