<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>InfoSol Blog &#187; QaaWS</title>
	<atom:link href="http://infosolblog.com/tag/qaaws/feed/" rel="self" type="application/rss+xml" />
	<link>http://infosolblog.com</link>
	<description>We&#039;re Passionate About Business Intelligence</description>
	<lastBuildDate>Wed, 04 Aug 2010 17:57:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to Implement &#8220;BOUSER&#8221; Row-Level Security in Xcelsius QAAWS and Live Office Connections</title>
		<link>http://infosolblog.com/how-to-implement-bouser-row-level-security-in-xcelsius-qaaws-and-live-office-connections/</link>
		<comments>http://infosolblog.com/how-to-implement-bouser-row-level-security-in-xcelsius-qaaws-and-live-office-connections/#comments</comments>
		<pubDate>Sat, 01 May 2010 05:02:27 +0000</pubDate>
		<dc:creator>InfoSol</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[Xcelsius End User]]></category>
		<category><![CDATA[BO XI 3.1]]></category>
		<category><![CDATA[BOUSER]]></category>
		<category><![CDATA[Business Objects InfoView]]></category>
		<category><![CDATA[CELogonToken]]></category>
		<category><![CDATA[QaaWS]]></category>
		<category><![CDATA[Query as a Web Service]]></category>
		<category><![CDATA[SAP Business Objects]]></category>
		<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[Xcelsius Connectivity]]></category>

		<guid isPermaLink="false">http://infosolblog.com/?p=590</guid>
		<description><![CDATA[Question: How can I get user-specific data results for Xcelsius dashboards viewed through BusinessObjects InfoView?
Answer: There are a few application variables that BusinessObjects provides for use when a user logs into InfoView, one of which is BOUSER.  BOUser is the variable for the userId that is logged in and can be used when Xcelsius is [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Question:</strong> How can I get user-specific data results for Xcelsius dashboards viewed through BusinessObjects InfoView?</p>
<p><strong>Answer:</strong> There are a few application variables that BusinessObjects provides for use when a user logs into InfoView, one of which is BOUSER.  BOUser is the variable for the userId that is logged in and can be used when Xcelsius is aware of the user session.  The user session is passed to Xcelsius via a flash variable that has been made available in XI for this purpose.  It is called, CELogonToken.</p>
<p>BOUSER contains the value of the userId of the user logged in.  It can be used to provide user-specific row-level security through the universe design by adding a self join to a field containing the userIds in your data.  With XI3.1 Designer, this can be applied at the class level (across all objects in a class), or through the traditional method of being applied just when objects from that specific table are used in the query.</p>
<p>Here is an example of how this variable is applied:<br />
Note that the self join is applied against the Manager field.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-11.jpg"><img class="aligncenter size-full wp-image-633" title="x_tt14-1" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-11.jpg" alt="" width="600" height="310" /></a></p>
<p>The Manager field for eFashion contains usernames like “Queen” and “Tuttle”.  For this example, we have added these as users into our CMC.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-21.jpg"><img class="aligncenter size-full wp-image-634" title="x_tt14-2" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-21.jpg" alt="" width="337" height="284" /></a></p>
<p>In QAAWS, I have created a web service to return Manager and their corresponding Store.  This query automatically prompts for the BOUSER since the SQL contains the @Variable(‘BOUSER’) restriction.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-3.jpg"><img class="aligncenter size-full wp-image-635" title="x_tt14-3" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-3.jpg" alt="" width="673" height="452" /></a></p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-4.jpg"><img class="aligncenter size-full wp-image-636" title="x_tt14-4" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-4.jpg" alt="" width="582" height="288" /></a></p>
<p>In Xcelsius, I have referenced this QAAWS with the appropriate connection defined and entering Name of Manager and Store name results into cells that are viewable through a spreadsheet component.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-5.jpg"><img class="aligncenter size-full wp-image-638" title="x_tt14-5" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-5.jpg" alt="" width="620" height="485" /></a></p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-6.jpg"><img class="aligncenter size-full wp-image-639" title="x_tt14-6" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-6.jpg" alt="" width="620" height="264" /></a></p>
<p><strong>IMPORTANT:</strong> QAAWS will return a promptValue invalid error message if a valid value is not declared as a default for bouser.  Make sure you point bouser to a cell in the Excel spreadsheet of your Xcelsius design and input a valid userId as a default.</p>
<p>In order for Xcelsius to know the BOUSER userId of the user logged into BO, Xcelsius needs to be aware of the session.  If you enter a login and password to the QAAWS connection, that username will be used all the time.  Instead, these entries should be left blank.</p>
<p>If they are left blank, then the users will be prompted to log into QAAWS when they attempt to refresh the QAAWS query from the dashboard. </p>
<p>For both performance and ease of use, it is usually desired that the users continue using their existing session for a single-sign on method.  To do this, a flash variable connection should be added which includes the range name CELogonToken.  This hands the existing session token over to Xcelsius seamlessly.</p>
<p>The BOUSER or userId is not viewable in the token value as displayed.  The token, however, makes this application variable available for use as the Login value passed to the QAAWS connector upon refresh.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-7.jpg"><img class="aligncenter size-full wp-image-640" title="x_tt14-7" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-7.jpg" alt="" width="620" height="484" /></a></p>
<p>In the end, my excel spreadsheet design looks like this:</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-8.jpg"><img class="aligncenter size-full wp-image-641" title="x_tt14-8" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-8.jpg" alt="" width="620" height="578" /></a></p>
<p>I export the Xcelsius dashboard to the SAP BusinessObjects Platform (note that an Enterprise license is required for this functionality).</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-9.jpg"><img class="aligncenter size-full wp-image-642" title="x_tt14-9" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-9.jpg" alt="" width="487" height="519" /></a></p>
<p>Then, I log into InfoView as Tuttle and view the dashboard. When I click the refresh button, the Manager Tuttle and his/her store gets returned.</p>
<p>Incidentally, the default value of Queen is never used.  The default is only to allow the bouser variable to load with the QAAWS definition, but only the actual user logged in ever gets passed to the query.</p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-10.jpg"><img class="aligncenter size-full wp-image-643" title="x_tt14-10" src="http://infosolblog.com/wp-content/uploads/2010/07/x_tt14-10.jpg" alt="" width="620" height="308" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://infosolblog.com/how-to-implement-bouser-row-level-security-in-xcelsius-qaaws-and-live-office-connections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xcelsius Dashboards &#8211; Best Practices &#8211; Data Layout</title>
		<link>http://infosolblog.com/xcelsius-dashboards-best-practices-data-layout/</link>
		<comments>http://infosolblog.com/xcelsius-dashboards-best-practices-data-layout/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 00:36:14 +0000</pubDate>
		<dc:creator>Roxanne</dc:creator>
				<category><![CDATA[InfoBurst-XDS]]></category>
		<category><![CDATA[XDM]]></category>
		<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[InfoBurst]]></category>
		<category><![CDATA[QaaWS]]></category>
		<category><![CDATA[Xcelsius Connectivity]]></category>
		<category><![CDATA[XDS]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://infosolblog.com/?p=432</guid>
		<description><![CDATA[In addition to the Xcelsius Dashboard Maintenance – Best Practices – Using Labels in Excel I wanted to share other important aspects of making Xcelsius dashboards easy to maintain and for other developers to understand.  One such practice is having some kind of conformity in your approach to how you lay out the data for your Xcelsius [...]]]></description>
			<content:encoded><![CDATA[<p>In addition to the <a rel="bookmark" href="http://infosolblog.com/xcelsius-best-practices-using-labels/">Xcelsius Dashboard Maintenance – Best Practices – Using Labels in Excel</a> I wanted to share other important aspects of making Xcelsius dashboards easy to maintain and for other developers to understand.  One such practice is having some kind of conformity in your approach to how you lay out the data for your Xcelsius project. </p>
<p>In this blog I will discuss 2 methods, both of which are valid and are useful ways to organize dashboard data.  Deciding as an organization which approach you adopt can help with the process of taking up someone else’s project. </p>
<p> Some Xcelsius developers like to use a method of having all the data that is being used in the dashboard on one (or more) tab/s of the Excel spreadsheet, and then as you need to use data for display, using a series of vlookups or match &amp; index functions for displaying data on charts, which they layout on other tabs of the spreadsheet.</p>
<p>My preferred method is to spread the layout in such a way that the names of the Excel tabs generally correspond to the functional area on the Xcelsius dashboard, perhaps even the same name of the Xcelsius  tab (Either the Tab Set Container or the Label based menu, is what I&#8217;m thinking of), so that all the data being expressed on that &#8220;page&#8221; of the dashboard is on one tab in the Excel spreadsheet behind the scenes. </p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/04/xcelsius-data-layout1.jpg"><img class="alignleft size-full wp-image-439" title="xcelsius - data layout1" src="http://infosolblog.com/wp-content/uploads/2010/04/xcelsius-data-layout1.jpg" alt="" width="620" height="101" /></a></p>
<p>  <a href="http://infosolblog.com/wp-content/uploads/2010/04/xcelsius-data-layout1b.jpg"><img class="alignleft size-full wp-image-443" title="xcelsius - data layout1b" src="http://infosolblog.com/wp-content/uploads/2010/04/xcelsius-data-layout1b.jpg" alt="" width="620" height="50" /></a></p>
<p>I like to have the data insert &amp; any manipulations I have to do for expressing that data nearby the loaded data, so that it is all in one place &amp; I can find it easily.  The only difficulty with this is when you have many components on one &#8220;page&#8221; or you have to create several aggregate levels to display.  Spreading it out &amp; spacing it can become an issue, and this is where again, labeling the spreadsheet is so important.  (But aren&#8217;t we glad that if we move data around on the spreadsheet that the links follow, for those of you who have been using Xcelsius since the 4.5 days!). </p>
<p><a href="http://infosolblog.com/wp-content/uploads/2010/04/xcelsius-data-layout2.jpg"><img class="alignleft size-full wp-image-434" title="xcelsius - data layout2" src="http://infosolblog.com/wp-content/uploads/2010/04/xcelsius-data-layout2.jpg" alt="" width="620" height="248" /></a></p>
<p>This approach, of course, assumes you have the aggregated data to work with!  Which leads back to my previous blog regarding <a href="http://infosolblog.com/comparing-xcelsius-connectivity-choices/">data connectivity options</a>.   If I have to use QaaWS, I end up having to do a lot of manipulation in the universe to get the data to look or be ordered the way I want to use it in Xcelsius.  I usually have to end up making many of what I call, &#8220;dimensionalized measures&#8221; when I want to end up with a crosstab result.  So I have a measure for Jan Sales, Feb Sales, etc.  Very tedious.  Sorting is another  issue that is often easier addressed in the universe, but also can be labor intensive.  </p>
<p>Live Office gives me the option to create crosstabs and sort the data in any way I wish and I can also have multiple tabs to aggregate the data at different levels (YTD, MTD,  past 30 days, etc).  The problem that I so often bump into with this approach is the amount of data when we get down to the detail level.  We have all experienced poor performance any time we go over the 512 row default and horrible performance when we approach 1000 rows. </p>
<p>All of these are reasons why I enjoy using the InfoBurst XDS or <a href="http://infoburst2009.com/about-xdm" target="_blank">XDM</a> option, as it addresses all these issues, plus gives me many more options.  The <em>Intelligent Cache</em> syntax of this tool is by far the most exciting feature, in my opinion.  Using their syntax, I can pass parameters to the XML url call and only return the rows of data I wish to display.  For example, within my xml url call, I can add syntax that returns …. YEAR=2009;DIVISION=HPD;DEPT=23.  This ability to extract just the rows of data I want to display helps keep my dashboards very responsive, since I am not loading it down with too much data.  It also gives me the ability to go to a much more detailed level than I would have been able to with QaaWS or LiveOffice.</p>
<p>XDS or <a href="http://infoburst2009.com/about-xdm" target="_blank">XDM</a> also has syntax to return unique values of a particular column from an xml data set which I can use for  my selector.  My selector will always have accurate values, as it is loaded from the current xml cache, rather than from a hard-coded list in my Excel spreadsheet which may not be up-to-date.</p>
<p>And, I have the flexibility to create these large XML data sets from a Web Intelligence document or by writing a query, directly to the database, or even from an Excel spreadsheet, and any combination of all three!</p>
]]></content:encoded>
			<wfw:commentRss>http://infosolblog.com/xcelsius-dashboards-best-practices-data-layout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparing Xcelsius Connectivity Choices</title>
		<link>http://infosolblog.com/comparing-xcelsius-connectivity-choices/</link>
		<comments>http://infosolblog.com/comparing-xcelsius-connectivity-choices/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 00:00:00 +0000</pubDate>
		<dc:creator>Roxanne</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[InfoBurst]]></category>
		<category><![CDATA[InfoBurst-XDS]]></category>
		<category><![CDATA[XDM]]></category>
		<category><![CDATA[Xcelsius]]></category>
		<category><![CDATA[Business Objects]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[Live Office]]></category>
		<category><![CDATA[QaaWS]]></category>
		<category><![CDATA[Query as a Web Service]]></category>
		<category><![CDATA[Xcelsius Connectivity]]></category>
		<category><![CDATA[XDS]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://infosolblog.com/?p=174</guid>
		<description><![CDATA[As more people deploy Xcelsius dashboard solutions, Xcelsius connectivity options has become a hot topic and I am often asked to compare the most popular methods used by BusinessObjects customers which are Query as a Web Service (QaaWS), Live Office and InfoBurst-XDS (or XDM for non-BOE deployments).]]></description>
			<content:encoded><![CDATA[<p>As more people deploy Xcelsius dashboard solutions, Xcelsius connectivity options has become a hot topic and I am often asked to compare the most popular methods used by BusinessObjects customers which are Query as a Web Service (QaaWS), Live Office and InfoBurst-XDS (or <a href="http://infoburst2009.com/about-xdm" target="_blank">XDM</a> for non-BOE deployments).</p>
<p>This is a brief summary of the differences between these 3 options which may be helpful.</p>
<p>QaaWS is a BusinessObjects web service that access BusinessObjects universes (and <em>only</em> universes) to pull back data.  Each time a dashboard is opened and selections are made, a real-time query is launched against production data, which, depending on the amount of data requested, can take many long seconds or minutes.  I have not found it to be very effective, and the few companies that do use it, have highly summarized tables in their data warehouse to use for this purpose (i.e. lots of preparation work).  The only upside I see to this method is that security is already in place based on BO user ids, and, real-time data retrieval (if that is the requirement). Large amounts of data (i.e., more than 500 rows of data) returned by the web service will significantly slow down the performance of the dashboard.  </p>
<p>With Live Office you can access Web Intelligence or Crystal reports as your data source and use the functionality of these reporting tools to summarize, crosstab and format your data.  The advantage is that you can schedule these reports to refresh in BO (InfoView) and then use the latest instance of that report for your Xcelsius data source, without waiting for it to refresh.  The disadvantage is that it requires users to log into BusinessObjects every time they access the dashboard.  (Supposedly you can use single-sign-on with this, but I have not seen it working anywhere).  Obviously, if you want to deploy this solution outside of BusinessObjects, like hosting the SWF file on SharePoint or an Intranet, most companies do not like having to sign on again.  Also, it would not work if you want to deploy outside the network (outside a firewall).  There have been many posts on the forums about the “flakiness” of LiveOffice, often losing connections and unable to refresh reports.  Since Live Office has to hold the data in the Xcelsius spreadsheet, the amount of data returned will have a negative impact on dashboard performance.  This last item has been the biggest barrier to our customers, who often wish to show granular data in their dashboards, or a significant amount of historical data.</p>
<p>InfoBurst XDS and <a href="http://infoburst2009.com/about-xdm" target="_blank">XDM</a> were designed to overcome these obstacles.  XDS can use Web Intelligence or Desktop Intelligence reports as data sources for pulling data, which it can refresh overnight (based on a schedule) and convert this data to xml.  XML is the fastest way to load data into Xcelsius.  XDS does not require a BusinessObjects login.  XDS also has the option of accessing a database directly (any database that can be accessed via an ODBC connection) through SQL queries, which can also be scheduled and converted to XML.  XDS also provides options for distributing the dashboard (putting on a network share, an intranet site, or as an email attachment or embedded in an in-line html email).  The biggest advantage, though, is the Intelligent Cache feature which allows dashboard developers to “cache” a very large set of data (I am currently working on a data set of over 18,000 rows of data), and then pass parameters through the xml code, based on selections the user makes on the dashboard, which then returns the small data set needed for that particular chart.  (On the above example I am passing parameters, based on drop-down menus, for Division, Plant, Department, Day and Shift, which returns the 6 rows of data I need to display – shift hours per day per Department.)  Since the dashboard is only loading these 6 rows of data, obviously the performance is very fast.    We recently converted a QaaWS dashboard where the data loading time when changing customers went from 2 minutes or so to less than 10 seconds, using Intelligent Cache filtering.</p>
]]></content:encoded>
			<wfw:commentRss>http://infosolblog.com/comparing-xcelsius-connectivity-choices/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
