<?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>Wagger Designs</title>
	<atom:link href="http://www.waggerdesigns.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.waggerdesigns.com</link>
	<description>Northern Virginia Web Application Design and Development</description>
	<lastBuildDate>Mon, 13 Feb 2012 02:49:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>The Art of Keyword Categorization</title>
		<link>http://www.waggerdesigns.com/blog/2012/01/16/the-art-of-keyword-categorization/</link>
		<comments>http://www.waggerdesigns.com/blog/2012/01/16/the-art-of-keyword-categorization/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 03:49:34 +0000</pubDate>
		<dc:creator>Colleen Clark</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Internet Marketing]]></category>
		<category><![CDATA[Keywords]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/?p=604</guid>
		<description><![CDATA[Most analytics reports for ecommerce sites include general metrics such as traffic, orders and revenue to provide a bird’s eye view of traffic and associated key performance indicators. That’s great, for an executive.  But what about gaining deeper insight to provide a more informing strategy for mid-level managers?  Which products and their categories drive the greatest AOV and Revenue per ...]]></description>
			<content:encoded><![CDATA[<p>Most analytics reports for ecommerce sites include general metrics such as traffic, orders and revenue to provide a bird’s eye view of traffic and associated key performance indicators. That’s great, for an executive.<span>  </span>But what about gaining deeper insight to provide a more informing strategy for mid-level managers?<span>  </span>Which products and their categories drive the greatest AOV and Revenue per Visit?<span>  </span>These are some of the most important <span> </span>when making an informed SEO strategy for the future.<span>  </span>The answer, of course to all of this, lies in keyword -or in most ecommerce, product-categorization.</p>
<h2>Mapping Out Your Categories</h2>
<p>Although most categorization are customized according to the types of products within your offering, there are 3 major overarching categories applicable for all ecommerce categorization:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/keyword-categories.png" title="Keyword Categories"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2012/01/keyword-categories.png&#038;w=550&#038;h=133&#038;zc=1&#038;q=100" title="Keyword Categories" alt="Keyword Categories" width="550" height="133" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:550px;" class="image_shadow"></span></div><h3>Brand Breakdown &amp; Credit</h3>
<p class="MsoNormal"> Odds are your site is already optimized to rank #1 for general branded keywords.<span>  </span>But perhaps multiple affiliate sites or third party retailers are optimized to rank well for keywords related to your brand’s product.<span>  </span>A great way to illustrate your SEO program is working to the fullest is to create a “Brand Secondary” category.<span>  </span>All product based keywords associated with your brand should be placed under the “secondary” category.<span>  </span>This will ensure you’re receiving credit for optimizing all product related keywords.</p>
<p class="MsoNormal">The example below illustrates the Brand vs. Brand Secondary breakdown:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/brand-and-brand-secondary-category-breakdown.png" title="Brand vs. Brand Secondary breakdown"><img class="framed" src="http://www.waggerdesigns.com/wp-content/uploads/2012/01/brand-and-brand-secondary-category-breakdown.png" title="Brand vs. Brand Secondary breakdown" alt="Brand vs. Brand Secondary breakdown" width="536" height="319" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:536px;" class="image_shadow"></span></div><h3>Unbranded Breakdown:</h3>
<p>A great starting point when determining unbranded ecommerce categorization is to analyze your website’s primary and sub-navigation.<span>  </span>Let’s take a look at Zappos.com’s use of unbranded categorization within its navigation:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/zappos-unbranded-keyword-breakdown.png" title="Zappos Unbranded Keyword Breakdown"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2012/01/zappos-unbranded-keyword-breakdown.png&#038;w=550&#038;h=218&#038;zc=1&#038;q=100" title="Zappos Unbranded Keyword Breakdown" alt="Zappos Unbranded Keyword Breakdown" width="550" height="218" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:550px;" class="image_shadow"></span></div><p class="MsoNormal"> Here, the major product category we’re analyzing is Shoes <span> </span>which is highlighted in light blue portion of the navigation.<span>  </span>The segments -or secondary categories- are “men’s” “women’s” “girls’” and “boys.”</p>
<p class="MsoNormal">Although your site’s main navigation and sub-navigation may help you organize your keyword clutter, there is always more than one way to customize hierarchy.<span>  </span>It is always important to ask yourself questions like: “Is it more important to breakdown first by gender and age or instead by product type?”<span>  </span><strong>When in doubt, let your keyword volume and/or your paid search program dictate the primary category.</strong></p>
<p class="MsoNormal">In the Zappos example, the category hierarchy can be sorted in multiple ways:</p>
<p class="MsoNormal">
<span class="shadow_frame alignleft"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/keyword-category-heirarchy.png" title="Zappos Keyword Category Heirarchy"><img class="framed" src="http://www.waggerdesigns.com/wp-content/uploads/2012/01/keyword-category-heirarchy.png" title="Zappos Keyword Category Heirarchy" alt="" width="740" height="232" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:740px;" class="image_shadow"></span></p>
<p class="MsoNormal">Upon analyzing the navigation on Zappos.com, the determined Product Category is Shoes and the segments are broken down by age/gender:</p>
<p class="MsoNormal">
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/product-category-segments.png" title="Zappos Product Keyword Category Segments"><img class="framed" src="http://www.waggerdesigns.com/wp-content/uploads/2012/01/product-category-segments.png" title="Zappos Product Keyword Category Segments" alt="Zappos Product Keyword Category Segments" width="798" height="433" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:798px;" class="image_shadow"></span></div></p>
<h3>The Unidentified Bucket</h3>
<p class="MsoNormal"> The unidentified bucket is all of the junk we can’t clearly determine its net worth.<span>  </span>It could have been a branded query, but it could have also been an unbranded query.<span>  </span>Typically, major typos/misspellings, foreign characters and the famous “Keyword Unavailable” all fall into this bucket.</p>
<h3>Using Paid Search for Categorization</h3>
<p class="MsoNormal"> Paid search tends to break down keywords in a much similar fashion through the use of Campaigns and Ad Groups.<span>  </span>In order to maintain campaign congruency, it is ideal to align your categories with your company’s Paid Search structure (or vice versa).<span>  </span><span> </span>This provides your ecommerce search program to easily make an apples-to-apples comparison when sharing insights and strategies.</p>
<h3>Key Metrics</h3>
<p class="MsoNormal"> So you’ve finally found a home for all of your keywords.<span>  </span>What next?<span>   </span>It’s important to evaluate your keywords on a monthly, quarterly and yearly basis.<span>  </span>Ask yourself the important questions to inform future keyword strategy and advertising campaigns such as:</p>
<ul>
<li>What product categories are driving me the greatest Average Order Value and Revenue per Visit?</li>
<li>Which keywords aren’t converting in these categories and how can I get them to convert?</li>
<li>Which categories encounter a seasonal trend while others remain unchanged all year?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2012/01/16/the-art-of-keyword-categorization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOPA and PROTECT IP</title>
		<link>http://www.waggerdesigns.com/blog/2012/01/12/sopa-and-protect-ip/</link>
		<comments>http://www.waggerdesigns.com/blog/2012/01/12/sopa-and-protect-ip/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 02:06:54 +0000</pubDate>
		<dc:creator>Jake Vose</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Freelance]]></category>
		<category><![CDATA[Graphics Design]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Website Design]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[Internet Freedom]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/?p=594</guid>
		<description><![CDATA[While we try to stay out of politics, there have been a couple of bills threatening the free and open exchange of information on the World Wide Web that, in our minds, should be a topic that all citizens are aware of.  The enforcement of both proposed laws is without due process and occurs outside of the public eye, preventing ...]]></description>
			<content:encoded><![CDATA[<p>While we try to stay out of politics, there have been a couple of bills threatening the free and open exchange of information on the World Wide Web that, in our minds, should be a topic that all citizens are aware of.  The enforcement of both proposed laws is without due process and occurs outside of the public eye, preventing the oversight required by the American people to ensure that rights granted and protected by the US Constitution are not infringed upon.<span id="more-594"></span></p>
<p>The most concerning aspect of both of these bills is that our country&#8217;s decision makers stand behind SOPA and PROTECT IP as written to champion American interests and intellectual property ad, in turn, protect the American entrepreneurial spirit, our jobs, and our financial security.</p>
<p>In fact, both bills will ultimately fail to accomplish the intended goals and are, in the process, set to squash many of the freedoms we take for granted from a free-flowing Internet.</p>
<h2 dir="ltr">Stop Online Piracy Act (SOPA)</h2>
<p>“To promote prosperity, creativity, entrepreneurship, and innovation by combating the theft of U.S. property, and for other purposes.” – <a title="H.R.3261 - Stop Online Piracy Act" href="http://www.opencongress.org/bill/112-h3261/show" target="_blank">H.R.3261</a></p>
<h3 dir="ltr">What It Does:</h3>
<p>This  bill would allow copyright holders and the Department of Justice to seek legal action against websites accused of facilitating copyright infringement, and to force service providers to block offending sites; this would prevent gateway services, such as Google Checkout or Paypal, from doing business with such sites and would even bar search engines from simply linking to an offending website.   For streaming content, such as YouTube, Vimeo, or a self-published video blog, unauthorized streaming of any copyrighted materials would be a crime backed by up to 5 years in prison after 10 incidents of streaming copyrighted music or video within a six month period.</p>
<h2 dir="ltr">PROTECT IP Act</h2>
<p>“Preventing Real Online Threats to Economic Creativity and Theft of Intellectual Property Act of 2011” – <a title="S.968 - PROTECT IP Act of 2011" href="http://www.opencongress.org/bill/112-s968/show" target="_blank">S.968</a></p>
<h3 dir="ltr">What It Does:</h3>
<p>As the bill states:  “An service provider of an information location tool shall take technically feasible and reasonable measures, as expeditiously as possible, to&#8211; (i) remove or disable access to the Internet site associated with the domain name set forth in the order; or (ii) not serve a hypertext link to such Internet site.”   Additionally, the information location tool, which is largely refers to Search Engines but can refer to any site, must delete all hyperlinks to the offending “Internet site.”  The net effect is that, without an up front burden of proof, Internet sites can be censored until such time as their names are cleared, no matter how long that takes, and without remedy if falsely accused and later proven innocent.</p>
<h2 dir="ltr">What Does All This Mean?</h2>
<div class='video_frame'><iframe id='vimeo_video_1' class='vimeo_video' style='height:340px;width:560px' src='http://player.vimeo.com/video/31100268?title=1&amp;byline=1&amp;portrait=1&amp;autoplay=0&amp;loop=0&amp;js_api=1&amp;js_swf_id=vimeo_video_1' width='560' height='340' frameborder='0'></iframe></div>
<p>The summation of both of these bills is an attempt to control the flow of information on the Internet under the guise of protecting the American Dream from “rogue websites,” plagiarizers, and other intellectual property thieves.  As an organization that both uses the Internet to share materials that our are own intellectual property and that also helps other organizations share their own intellectual property, we agree with the masses that taking anything that doesn’t belong to you without any attribution or retribution is reprehensible behavior.</p>
<p>The language of both of these laws, however, invites other consequences.  Consider for a moment that if either of these laws had been in effect a decade ago, the landscape of today’s Internet would be very different indeed.  For starters, we would not have YouTube, Facebook, Flickr, Etsy, Ebay, Dropbox, Twitter, Twillio, Vimeo, Tumbler, Pinterest, Can.vas, or a good number of <a title="IT WORLD - Piracy bill could waylay FLOSS projects" href="http://www.itworld.com/security/223845/piracy-bill-could-waylay-floss-projects" target="_blank">open source software</a> projects.</p>
<h2 dir="ltr">What Can I Do?</h2>
<p>That’s a fantastic question!  Tell the House and Senate that you are exercising your right as an American citizen and say:</p>
<ul>
<li>You do not support restrictions upon the entrepreneurial spirit this country has been built on</li>
<li>Enforcement of laws in this country should always require due process</li>
<li>The United States of America is not China, and you do not support a <a title="Harvard Business Review - The Great Firewall of America" href="http://blogs.hbr.org/cs/2011/10/e-parasite_threatens_internet.html" target="_blank">Great Firewall of America</a></li>
<li>That <a title="Electronic Frontier Foundation - Internet Blacklist Legislation" href="https://www.eff.org/issues/coica-internet-censorship-and-copyright-bill" target="_blank">Internet Blacklist Legislation</a> would drive jobs away from this country and will not be tolerated here</li>
</ul>
<h3 dir="ltr">Tell Them Now!</h3>
<p>Say NO! to SOPA by contacting your House Representative: <a href="http://www.house.gov/" target="_blank">http://www.house.gov/</a></p>
<p>Say NO! to PROTECT IP by contacting your Senate Representative: <a href="http://www.senate.gov/general/contact_information/senators_cfm.cfm" target="_blank">http://www.senate.gov/general/contact_information/senators_cfm.cfm</a></p>
<p>Contact SOPA Supporters directly: <a title="Gizmodo - All the Companies Supporting SOPA, the Awful Internet Censorship Law—and How to Contact Them" href="http://gizmodo.com/5870241/presented-without-comment-every-single-company-supporting-sopa-the-awful-internet-censorship-law" target="_blank">http://gizmodo.com/5870241/presented-without-comment-every-single-company-supporting-sopa-the-awful-internet-censorship-law</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2012/01/12/sopa-and-protect-ip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removing Duplicate Rows in Interactive Reporting</title>
		<link>http://www.waggerdesigns.com/blog/2012/01/03/removing-duplicate-rows-in-interactive-reporting/</link>
		<comments>http://www.waggerdesigns.com/blog/2012/01/03/removing-duplicate-rows-in-interactive-reporting/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 03:42:19 +0000</pubDate>
		<dc:creator>Emily Vose</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Hyperion EPM Suite]]></category>
		<category><![CDATA[Interactive Reporting]]></category>
		<category><![CDATA[IR Tutorial]]></category>
		<category><![CDATA[Brio]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hyperion Interactive Reporting]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/?p=501</guid>
		<description><![CDATA[With that said, sometimes the level of data being compared is not the same across the tables and duplicate records cannot be avoided.  Without opening the Pandora&#8217;s box of whether or not properly organized data warehouses should ever result in a situation where duplicate records can be queried, let&#8217;s talk about what to do when it does happen.  There are ...]]></description>
			<content:encoded><![CDATA[<div class="two_third">When asked how to deal with duplicate rows in an Interactive Reporting Results section, my response always includes questions about why duplicate records are being returned and how the data tables are related; this information is helpful to validate that the join condition is appropriate for the data relationship between the two tables.  The majority of times, the relationship is improperly defined or assumptions have been made about the data in the offending tables and the issue resolves itself with a rework of the Query section.</p>
</div>
<div class="one_third last">
<div class="titled_box">
<h6 class="titled_box_title"><span>Download Materials</span></h6>
<div class="titled_box_content">
<center>Get the solution BQY for this article:<br />
<a href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/removing-duplicate-rows-interactive-reporting.zip" class="download_link orange_sprite orange_text">Click to Download</a></center></div>
</div>
</div>
<div class="clearboth"></div>
<p>With that said, sometimes the level of data being compared is not the same across the tables and duplicate records cannot be avoided.  Without opening the Pandora&#8217;s box of whether or not properly organized data warehouses should ever result in a situation where duplicate records can be queried, let&#8217;s talk about what to do when it does happen.  There are two ways to address this: the Easy, Not-Complicated way and the Not-Easy, Complicated way.  Unfortunately, the Easy, Not-Complicated solution usually doesn&#8217;t do the trick unless there are actually duplicate records in the source system. Even-though this is rarely the case, let&#8217;s cover that one first — just in case.</p>
<h2><span id="more-501"></span></h2>
<h2>The Easy, Not-Complicated Solution</h2>
<p>In the Query section, the right-click menu for the Request line offers the Properties menu item as shown below:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-1.png" title="Request Line Right-Click Menu"><img class="framed" src="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-1.png" title="Request Line Right-Click Menu" alt="Request Line Right-Click Menu" width="376" height="285" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:376px;" class="image_shadow"></span></div><p>Once opened, the Properties dialog allows report authors to apply query governance limits or further modify the properties of the query using the interface shown below:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/deduplication-interactive-reporting-tutorial-2.png" title="Query Properties Dialog Box"><img class="framed" src="http://www.waggerdesigns.com/wp-content/uploads/2011/12/deduplication-interactive-reporting-tutorial-2.png" title="Query Properties Dialog Box" alt="Query Properties Dialog Box" width="323" height="191" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:323px;" class="image_shadow"></span></div><p>As seen in the screenshot, the &#8220;Return Unique Rows&#8221; option has already been checked, because checking this box is The Easy, Non-Complicated way of tackling this problem.  When this box is checked, the SQL statement sent to the source system is modified from a Select statement to a Select Distinct statement.  The addition of the Distinct ensures that only one row of each unique combination is presented in the Results section.</p>
<p>This solution is so easy that it&#8217;s a serious shame when people go down the Not-Easy, Complicated path when this could have worked.  I always try this first&#8230; even when I know it won&#8217;t work, just because it&#8217;s so quick.</p>
<h2> The Not-Easy, Complicated Solution</h2>
<p>If you have vetted your query, you will likely have to walk through down this path.  For clarity&#8217;s sake, the solution itself is not specifically hard, it is just that there are a lot of little things that can be easily forgotten which would make this solution fail.</p>
<p>To follow along with this tutorial, use the sample.oce connection that is automatically installed with the Interactive Reporting Studio Client.</p>
<p>For starters, we need to create a situation where duplicate records are occurring that cannot be resolved with a Select Distinct statement.  This usually happens when two level-zero tables are joined on a level-zero key and higher-level items are requested from both tables where multiple sets of matched records exist but no facts, which could be summed, are queried.  Since the sample database has keys that are laid out well, we&#8217;ll artificially create this situation by joining the Wine and Wine Sales tables using a simple equal join on Vintage from Wine and Year from Wine Sales, instead of joining on Wine Id.  Add Winery, Vintage, and Grape from the Wine table and Region from the Wine Sales table to the Request line as shown below:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/deduplication-interactive-reporting-tutorial-3.png" title="Sample Query for Duplicate Results"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2011/12/deduplication-interactive-reporting-tutorial-3.png&#038;w=588&#038;h=317&#038;zc=1&#038;q=100" title="Sample Query for Duplicate Results" alt="Sample Query for Duplicate Results" width="588" height="317" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:588px;" class="image_shadow"></span></div><p>When processed, the Results section will display duplicate rows for each item.  As seen in the below screenshot, I&#8217;ve set the number masking on Vintage to display without the comma for presentation purposes, but there is no requirement that this needs to be done.</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/deduplication-interactive-reporting-tutorial-4.png" title="Sample Duplicated Results Section"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2011/12/deduplication-interactive-reporting-tutorial-4.png&#038;w=588&#038;h=317&#038;zc=1&#038;q=100" title="Sample Duplicated Results Section" alt="Sample Duplicated Results Section" width="588" height="317" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:588px;" class="image_shadow"></span></div><p>With duplicate rows in place in the Results section, lets get on with it.  The Not-Easy, Complicated solution requires the following components which will be discussed in-depth as we go:</p>
<ul>
<li>Results Section Sort</li>
<li>Computed Item Key</li>
<li>Computed Item Using Next or Prior</li>
<li>Local Filter on the New Table Section</li>
</ul>
<h3>The Results Section Sort</h3>
<p>The Next and Prior functions assess the row before and the row after the current row which means the rows need to be properly sorted so that all duplicate rows are grouped together.  In the context of our example, the sorts required to group our duplicate rows together are ascending sorts on Vintage, Winery, Region, and Grape.  Drag the columns from the Results section to the Sort line to apply the required sort as shown in the screenshot below:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/deduplication-interactive-reporting-tutorial-5.png" title="Sample Duplicated Sorts"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2011/12/deduplication-interactive-reporting-tutorial-5.png&#038;w=588&#038;h=425&#038;zc=1&#038;q=100" title="Sample Duplicated Sorts" alt="Sample Duplicated Sorts" width="588" height="425" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:588px;" class="image_shadow"></span></div><h3>Computed Item Key</h3>
<p>To prepare for the use of the Next or Prior function, an item key needs to be created using the same logic as a hash key (for you database people) so that we can be certain that we are assessing a truly unique row.   Sometimes this key is a simple as concatenating two columns in the same row; other times, such as in our example, it is really better to combine several columns to ensure a truly unique identifier for each row group.  To be super-duper certain, lets create a Computed Item key that is a concatenation of all of the items in the sort, in the order they appear. Add a Computed Item to the Results section by selecting &#8220;Add Computed Item&#8221; from the right-click menu as shown in the screenshot below:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-6.png" title="Add a Computed Item to the Results section"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-6.png&#038;w=588&#038;h=237&#038;zc=1&#038;q=100" title="Add a Computed Item to the Results section" alt="Add a Computed Item to the Results section" width="588" height="237" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:588px;" class="image_shadow"></span></div><p>With the dialog for the Computed Item opened, update the Name property to &#8220;Row Key&#8221; and add the following code to the Computed Item Script Editor to concatenate the required columns into a single key:</p>
<pre class="fancy_code_box">Vintage + Winery + Region + Grape</pre>
<p>When the code as been added, click OK to close the Computed Item dialog box and add the key as a column in the Results section.  With the addition of your newly created Row Key, the Results section should resemble the below screenshot:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-7.png" title="Updated Results Section with Row Key"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-7.png&#038;w=588&#038;h=317&#038;zc=1&#038;q=100" title="Updated Results Section with Row Key" alt="Updated Results Section with Row Key" width="588" height="317" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:588px;" class="image_shadow"></span></div><h3>Computed Item Using Next or Prior</h3>
<p>The Next and Prior functions actually do what one might guess they would based on their names:  Next assesses the value in the next row for a defined column, Prior assesses the column&#8217;s value in the prior row.  To remove duplicate rows,  either of the Next or Prior functions can be used, depending on if you are a glass-half-full or glass-half-empty kind of person.   As an optimistic, forward thinker, I like the Next function.  However, since I am also a realist, I&#8217;ll show you the code for both and you can pick your own favorite, as the difference between the two is really the location of the flag for your unique row.   With the Next function, the last row of a group will be marked unique; conversely, with the Prior function, the first row of a group will be marked unique. This will make more sense if you try it both ways and see for yourself.</p>
<p>For both options, the process is the same, with only minor differences in the code.  To start, add another Computed Item to the screen and call it &#8220;Duplicate Flag.&#8221;  Using either Next or Prior, we will populate a value of 1 in all duplicate rows and unique rows will be unpopulated at null.   In a future step, we are going to use this flag to filter out any row that is equal to 1.</p>
<p>Using the Next function requires the following code to be entered in the Script Editor of the Computed Item:</p>
<pre class="fancy_code_box">if (Next ( Row_Key ) == Row_Key) {1}</pre>
<p>This code is asking Interactive Reporting to perform the business logic equivalent of &#8220;If the value in the Row_Key column in the next row is equal to the value of the Row_Key column in this row, the value to display in the Duplicate Flag column is 1.&#8221;  When the Next function is applied on this results set, the first 16 rows have a value of 1 in the Duplicate Flag column before a unique row is flagged in the 17th row as shown in the following screenshot:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-8.png" title="Adding a Duplicate Flag using the Next Function"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-8.png&#038;w=588&#038;h=317&#038;zc=1&#038;q=100" title="Adding a Duplicate Flag using the Next Function" alt="Adding a Duplicate Flag using the Next Function" width="588" height="317" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:588px;" class="image_shadow"></span></div><p>Using the Prior function instead requires the following code to be entered in the Script Editor of the Computed Item:</p>
<pre class="fancy_code_box">if (Prior ( Row_Key ) == Row_Key) {1}</pre>
<p>This code is asking Interactive Reporting to perform the business logic equivalent of &#8220;If the value in the Row_Key column in the prior row is equal to the value of the Row_Key column in this row, the value to display in the Duplicate Flag column is 1.&#8221;  When the Prior function is employed on this results set, the first row in the Duplicate Flag column is flagged as a unique row as shown in the following screenshot:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-9.png" title="Adding a Duplicate Flag using the Prior Function"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-9.png&#038;w=588&#038;h=317&#038;zc=1&#038;q=100" title="Adding a Duplicate Flag using the Prior Function" alt="Adding a Duplicate Flag using the Prior Function" width="588" height="317" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:588px;" class="image_shadow"></span></div><p>Did you see how those paths are so similar that I copied and pasted the Prior solution with only minor modifications?  Now you know how to use both. Moving forward, pick whichever you&#8217;d like, because the remainder of the solution continues on to be the same for both.</p>
<h3>Local Filter on the New Table Section</h3>
<p>Something that frustrated me early on that made perfect sense once explained was the fact that the Next and Prior functions are members of an elite group of functions that — when used in a Computed Item — prevent that Computed Item from being sorted or filtered.  Because of this elitist attitude, we need to add another Table Section so that the data can be limited by filtering on the Duplicate Flag Computed Item column.  Add a new Table section using the Insert menu on the Menu Bar as shown below:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-10.png" title="Add a new Table section"><img class="framed" src="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-10.png" title="Add a new Table section" alt="Add a new Table section" width="294" height="214" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:294px;" class="image_shadow"></span></div><p>Add the Vintage, Winery, Region, and Grapes columns to the newly added Table section so the data is displayed.  Drag the Duplicate Flag column from the Elements Pane to the Filter line to open the Filter dialog.  When properly configured, the filter should look like the below screenshot:</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-11.png" title="Filter rows with the value 1 in Duplicate Flag"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-11.png&#038;w=588&#038;h=399&#038;zc=1&#038;q=100" title="Filter rows with the value 1 in Duplicate Flag" alt="Filter rows with the value 1 in Duplicate Flag" width="588" height="399" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:588px;" class="image_shadow"></span></div><p>The business logic for the above filter translates to &#8220;If the value in Duplicate Flag is not equal to 1, include that row in this table even if the value is Null.&#8221;  This ensures only unique rows (which now have a Null value in the Duplicate Flag column) are shown in this table.  Click OK to close the Filter dialog and apply the filter.</p>
<p>Ta-Da! We did it!</p>
<div class="aligncenter"><span class="shadow_frame"><a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-12.png" title="Table section with no duplicate rows"><img class="framed" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://www.waggerdesigns.com/wp-content/uploads/2012/01/deduplication-interactive-reporting-tutorial-12.png&#038;w=588&#038;h=399&#038;zc=1&#038;q=100" title="Table section with no duplicate rows" alt="Table section with no duplicate rows" width="588" height="399" /></a><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/image_shadow.png" style="width:588px;" class="image_shadow"></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2012/01/03/removing-duplicate-rows-in-interactive-reporting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expert Hyperion Interactive Reporting Guide</title>
		<link>http://www.waggerdesigns.com/blog/2011/12/29/expert-hyperion-interactive-reporting-guide/</link>
		<comments>http://www.waggerdesigns.com/blog/2011/12/29/expert-hyperion-interactive-reporting-guide/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 04:30:59 +0000</pubDate>
		<dc:creator>Jake Vose</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Hyperion EPM Suite]]></category>
		<category><![CDATA[Interactive Reporting]]></category>
		<category><![CDATA[IR Tutorial]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Brio]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hyperion Interactive Reporting]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/?p=409</guid>
		<description><![CDATA[Wagger Designs is delighted to announce the release of the first expert-level guide to Oracle Hyperion Interactive Reporting to hit the market.  Wagger&#8217;s owner, Emily M. Vose, partnering with another industry leader, Edward J. Cody, and with the support of Packt Publishing, together bring this expert guide within reach of the Oracle Hyperion Interactive Reporting user base worldwide. This guide is unique ...]]></description>
			<content:encoded><![CDATA[<p>Wagger Designs is delighted to announce the release of the first expert-level guide to Oracle Hyperion Interactive Reporting to hit the market.  Wagger&#8217;s owner, Emily M. Vose, partnering with another industry leader, Edward J. Cody, and with the support of Packt Publishing, together bring this expert guide within reach of the Oracle Hyperion Interactive Reporting user base worldwide.</p>
<p><span id="more-409"></span></p>
<p>This guide is unique in that it is the first openly available resource that walks the reader through the steps required to grow a simple dashboard into a complex, enterprise-level Business Intelligence solution.   Users already versed in Oracle Hyperion Interactive Reporting and armed with basic JavaScript knowledge will learn how Interactive Reporting&#8217;s uniquely powerful report-centric model can be structured to scale away from the maintenance nightmares traditionally emerging from complex enterprise-level environments by implementation of the Cascading Code Repository (CCR).  The concept of the CCR allows JavaScript, which traditionally is embedded in the Interactive Reporting document, to be be extracted and stored externally so that developers can maintain scripts across the enterprise without managing the individual documents.</p>
<blockquote cite="Emily Vose"><p>I’m very excited about the new life a guide like this can introduce to the loyal Interactive Reporting community. I hope that the ideas Ed and I have laid out in this guide inspire experimentation with this incredible Business Intelligence tool and encourage current users to rethink BI and the role Interactive Reporting plays in it.</p></blockquote>
<p>If you are not sure if this guide is right for you, <a href="http://www.packtpub.com/sites/default/files/3142EN-Chapter-03-Creating-a-Simple-Dashboard.pdf">Chapter 3</a>, which discusses creating a code-free custom Dashboard section in Interactive Reporting, is available free-of-charge and is the starting point for several additional chapters which build, each upon the last, to present layers of customization depth for Dashboard Graphics and Controls.</p>
<p>This guide is offered in eBook format form <a href="http://www.packtpub.com/oracle-hyperion-interactive-reporting-11-expert-guide/book">Packt Publishing</a>, Kindle format from <a href="http://www.amazon.com/Oracle-Hyperion-Interactive-Reporting-Expert/dp/184968314X">Amazon.com</a>, and in print from both Packt and Amazon.  At $18.14US, the Amazon Kindle version is a steal — making it a must-have for anyone working with Oracle Hyperion Interactive Reporting.  For those of you starting out or who otherwise do not have the IR Studio client installed, check out Emily&#8217;s entry on <a title="How to Install Interactive Reporting 11" href="http://www.waggerdesigns.com/blog/2011/08/19/how-to-install-interactive-reporting-11/">how to install the Interactive Reporting Studio</a> client and follow along with the book.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2011/12/29/expert-hyperion-interactive-reporting-guide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Cautionary Tale from #OceanMarketing</title>
		<link>http://www.waggerdesigns.com/blog/2011/12/29/a-cautionary-tale-from-ocean-marketing/</link>
		<comments>http://www.waggerdesigns.com/blog/2011/12/29/a-cautionary-tale-from-ocean-marketing/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 11:03:07 +0000</pubDate>
		<dc:creator>Emily Vose</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Freelance]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Internet Marketing]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/?p=400</guid>
		<description><![CDATA[Paul Christoforo from Ocean Marketing is drumming up quite a stir on the internet for his exceptionally poor customer service (if you can even call it that) and the subsequent back-pedaling which has gone viral in a quick-everyone-get-a-pitchfork sort of way. With all that has gone down since Penny Arcade got involved earlier this week, what I find so amazing is ...]]></description>
			<content:encoded><![CDATA[<p>Paul Christoforo from <a href="http://oceanmarketinginc.com/" target="_blank">Ocean Marketing</a> is drumming up quite a stir on the internet for his exceptionally poor customer service (if you can even call it that) and the subsequent back-pedaling which has gone viral in a quick-everyone-get-a-pitchfork sort of way. With all that has gone down since <a href="http://penny-arcade.com/resources/just-wow1.html" target="_blank">Penny Arcade</a> got involved earlier this week, what I find so amazing is that this guy has become the poster child for negative press by proving the old mantra of &#8220;there is no such thing as negative press&#8221; to be completely false.</p>
<p>Every once and a while, someone comes along and does something, like deleting internet postings, that reminds the world of the internet&#8217;s golden rule: All posts are final.  Today that someone is <a href="http://oceanmarketing.cheezburger.com/" target="_blank">PR Paul</a>.  While Paul and his associates are in full &#8220;damage control mode&#8221; — hopping twitter accounts and scrubbing tweets, site content, and other social sites — the documentation of these actions through #OceanMarketing on <a href="https://twitter.com/#!/search?q=%23OceanMarketing" target="_blank">Twitter</a>, <a href="http://penny-arcade.com/resources/real-talk.html" target="_blank">Penny Arcade</a>, <a href="http://www.examiner.com/video-game-industry-in-national/ocean-marketing-gaming-pr-rep-to-avoid-at-all-cost" target="_blank">The Examiner</a>, and <a href="http://www.forbes.com/sites/danielnyegriffiths/2011/12/29/from-control-to-ko-paul-christoforo-interviewed/" target="_blank">Forbes</a> are proving to be Paul&#8217;s ultimate folly.  One thing Paul has done well is to remind folks that once something is on the Net, it has made an imprint that extends far beyond any single person&#8217;s reach.</p>
<p>As he and his buddies hop around social sites trying to fix a situation that will probably fad itself out over a the next few weeks, I think PR Paul could benefit from a few good books that have come across my desk in the last few years:</p>
<ul>
<li><a title="I Love You More Than My Dog" href="http://www.amazon.com/Love-You-More-Than-Dog/dp/1591842956" target="_blank">I Love You More Than My Dog</a></li>
<li><a href="http://www.amazon.com/Referral-Engine-Teaching-Business-Market/dp/1591843111/" target="_blank">The Referral Engine: Teaching Your Business to Market Itself</a></li>
<li><a href="http://www.amazon.com/Likeable-Social-Media-Customers-Irresistible/dp/0071762345" target="_blank">Likeable Social Media: How to Delight Your Customers, Create an Irresistible Brand, and Be Generally Amazing on Facebook (And Other Social Networks)</a></li>
</ul>
<p>For everyone else, including us at Wagger, this is a cautionary tale about the importance of researching any company representing you. Ask for references and ask to see the work they&#8217;ve done.  If they are a little green, or just starting out, they should admit it outright.  And, as a point of advice, be very suspicious if another organization wants full control of your business email, Twitter, and other public-facing elements without your oversight — especially if the owner comes off as a <a href="http://www.lazygamer.net/general-news/how-to-destroy-your-business-in-8-hoursocean-marketing/#ixzz1hxZNvueV" target="_blank">street thug masquerading as a self-proclaimed &#8220;Marketing Professional&#8221;</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2011/12/29/a-cautionary-tale-from-ocean-marketing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things to Love About Chrome Developer Tools</title>
		<link>http://www.waggerdesigns.com/blog/2011/11/15/things-to-love-about-chrome-developer-tools/</link>
		<comments>http://www.waggerdesigns.com/blog/2011/11/15/things-to-love-about-chrome-developer-tools/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 03:21:57 +0000</pubDate>
		<dc:creator>Jake Vose</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Graphics Design]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Website Design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Product Review]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/?p=386</guid>
		<description><![CDATA[After reading recently that IE is finally wearing out its welcome (except in government and huge companies), it occurred to me that I couldn&#8217;t remember precisely when I had started using Chrome as my primary frontend debugger, but that it is measured in months. Why would someone use Chrome over IE or Firebug? Well, here are the things that I like: Always ...]]></description>
			<content:encoded><![CDATA[<a rel="prettyPhoto" href="http://lh6.ggpht.com/-TTZ5OhpPNOs/TaM83_mTXAI/AAAAAAAAH3E/HhB7AXAVBDQ/s640/chrome-a_512.png" title="Google Chrome"><img class="framed alignright" src="http://www.waggerdesigns.com/wp-content/themes/echelon/lib/scripts/timthumb/thumb.php?src=http://lh6.ggpht.com/-TTZ5OhpPNOs/TaM83_mTXAI/AAAAAAAAH3E/HhB7AXAVBDQ/s640/chrome-a_512.png&#038;w=220&#038;h=220&#038;zc=1&#038;q=100" title="Google Chrome" alt="Google Chrome" width="220" height="220" /></a><p>After reading recently that <a href="http://www.cnn.com/2011/11/03/tech/web/internet-explorer-traffic-share-mashable/index.html?hpt=hp_bn6">IE is finally wearing out its welcome</a> (except in government and huge companies), it occurred to me that I couldn&#8217;t remember precisely when I had started using Chrome as my primary frontend debugger, but that it is measured in months.</p>
<p>Why would someone use Chrome over IE or Firebug? Well, here are the things that I like:</p>
<p><span id="more-386"></span></p>
<h3>Always Feels Light and Fast</h3>
<p>I can&#8217;t quite put my finger on it, but Chrome doesn&#8217;t seem to suffer from the same bog-down bloat that Firefox does over the course of a debugging session.  New tabs and windows spring open, and script debugging is snappy.   I have to close a crashed tab occasionally, but I&#8217;d rather have that happen than experience debugger lag any day of the week.</p>
<h3>Editing is Intuitive</h3>
<p>Altering the DOM or CSS in-place just feels natural.  Tab orders make sense and do what I expect; adding or changing properties, styles, or elements is a breeze.</p>
<h3>Help is Just a ? Away</h3>
<p>Typing a question mark anywhere in the debugger presents a modal dialog with common key commands for each section.  It&#8217;s not a killer feature, but it&#8217;s more convenient than having to drill into a Help menu to remember how to increment a value by 100.</p>
<h3>Live Tutorials in the Documentation</h3>
<p>The <a href="http://code.google.com/chrome/devtools/docs/overview.html" target="_blank">documentation for Chrome Developer Tools</a> is specifically designed for you to pop open your debugger and walk through the functionality.  This is a great way to learn-by-doing, which helps retention several times over.</p>
<h3>Revision History!</h3>
<p>This is, by far, my favorite new(ish) feature.  After making changes to JS or CSS in the Elements tab, switch over to the Resources tab and drill down to the file.  Expand the arrow, and you&#8217;re presented with a list of revisions for the entire session that you&#8217;ve been fiddling.  You can see what has changed in each version highlighted, and ultimately, opt to save off changes or revert if something goes awry.</p>
<h3>Drag-and-Drop DOM</h3>
<p>Ok, I&#8217;ll admit this is more of an oddity than anything else, especially since the revision history doesn&#8217;t extend to the HTML markup of a page.  But maybe it&#8217;s useful for rapid prototyping?  In the Elements tab you can literally drag elements around on in the DOM where you see fit.  Want to see what would happen if you switched the positions of two divs?  You can do that now!</p>
<h3>But Wait, There&#8217;s More!</h3>
<p>Not enough? There&#8217;s also remote debugging and the ability to pretty print minified scripts, with more features added regularly.  Check out <a title="A Re-introduction to the Chrome Developer Tools" href="http://paulirish.com/2011/a-re-introduction-to-the-chrome-developer-tools/" target="_blank">this presentation earlier in the year</a> from gurus Paul Irish and Pavel Feldman, and happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2011/11/15/things-to-love-about-chrome-developer-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3 Mobile Application Analytics You Need to Know</title>
		<link>http://www.waggerdesigns.com/blog/2011/10/10/three-mobile-app-analytics-you-need-to-know/</link>
		<comments>http://www.waggerdesigns.com/blog/2011/10/10/three-mobile-app-analytics-you-need-to-know/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 13:51:29 +0000</pubDate>
		<dc:creator>Colleen Clark</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Product Review]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/blog/?p=240</guid>
		<description><![CDATA[Flurry&#8217;s Edge on Competition: Flurry provides mobile application usage statistics across iOS, Android, BB, WP and J2ME platforms.  The analytics platform reports the number of new and active users, sessions, average time spent on the mobile app, frequency of use, page views, and retention.  All data metrics can be segmented through Flurry including by app version and time intervals.  Since ...]]></description>
			<content:encoded><![CDATA[<a rel="prettyPhoto" href="http://www.flurry.com/img/logo.png" title="Flurry Mobile App Analytics"><img class="framed aligncenter" src="http://www.flurry.com/img/logo.png" title="Flurry Mobile App Analytics" alt="Flurry Mobile App Analytics" width="185" height="46" /></a><h3>Flurry&#8217;s Edge on Competition:</h3>
<p>Flurry provides mobile application usage statistics across iOS, Android, BB, WP and J2ME platforms.  The analytics platform reports the number of new and active users, sessions, average time spent on the mobile app, frequency of use, page views, and retention.  All data metrics can be segmented through Flurry including by app version and time intervals.  Since Flurry is a leader in mobile research, users can compare metrics to the industry average.  Conversion is easy with event and parameter tracking. Each click can be tracked and tied to specific product and services.</p>
<p>The mobile app analytics service also provides information on user demographic, geographic and interest information.  Best of all, it is free to use.</p>
<h3>Room for Improvement:</h3>
<p>Unlike enterprise level analytics such as Webtrends or Omniture, Flurry is unable to offer full site side analytics.  Flurry has had ruffles in the past with Apple’s review process due to privacy concern.  However, Flurry has not been reported to have violated iPhone policy in recent times.</p>
<h3>Cost of Flurry:</h3>
<p>Free.</p>
<a rel="prettyPhoto" href="http://mixpanel.com/site_media/images/homepage/logo.png" title="Mixpanel Mobile Analytics Logo"><img class="framed aligncenter" src="http://mixpanel.com/site_media/images/homepage/logo.png" title="Mixpanel Mobile Analytics Logo" alt="Mixpanel Mobile Analytics Logo" width="143" height="47" /></a><h2></h2>
<h3>Mixpanel&#8217;s Edge on Competition:</h3>
<p>Mixpanel provides real-time analytics tracking for mobile applications.  Instantly track who is roaming around your site, where they’re going and how long they stay.  Mixpanel can also be tied to other platforms such as your website and Facebook.  Because the mobile application analytics is cross-platform friendly, it’s much easier to link up mobile user data to other platforms.</p>
<p>Mixpanel also uses what they call “data points” which is also referred as event tracking.  Mixpanel users can control and manipulate what gets tracked and create their own naming convention.</p>
<p>Once data points are set up, you can then identify which ones play a crucial part in the conversion process.  A funnel is then created in order to track both conversions and drop off rates of users.</p>
<h3>Room for Improvement:</h3>
<p>This mobile app analytics service is recommended specifically for e-commerce mobile applications.  It’s not nearly as beneficial for high volume, low conversion sites as pricing is calculated by each event.</p>
<h3>Cost of Mixpanel:</h3>
<p>Free until 25,000 data points (events) are used up.  Monthly packages are available based on traffic volume.</p>
<a rel="prettyPhoto" href="http://www.waggerdesigns.com/wp-content/uploads/2012/01/Localytics-Mobile-Application-Analytics.png" title="Localytics Mobile App Analytics"><img class="framed aligncenter" src="http://www.waggerdesigns.com/wp-content/uploads/2012/01/Localytics-Mobile-Application-Analytics.png" title="Localytics Mobile App Analytics" alt="Localytics Mobile App Analytics" width="190" height="54" /></a><h3>Localytics&#8217; Edge on Competition:</h3>
<p>Localytics can track traffic on mobile applications and tablets.  Although they do not provide cross-platform tracking, the company grants full access to the non-aggregated data so it can easily integrated wtih other analytics platforms tracking websites, CRM, advertising and other business intelligence systems.</p>
<p>Reporting is made simple with real-time analytics, exporting features and hourly drill downs.</p>
<h3>Room for Improvement:</h3>
<p>It’s possible to miss out on crucial data if a business is unable to integrate the Localytics’ API into their web analytics platform.  It’s always important to ensure an analytics platform can integrate with this API before signing up.</p>
<h3>Cost of Localytics:</h3>
<p>Localytics offers three pricing tiers for its clients.  The free version offers basic tracking, event attributes, and a world heat map.  The premium version ($95 a month per app) offers additional analysis including one funnel tracking, retention analysis and screen flow analysis.  The enterprise edition ($895 a month) gives clients unlimited tracking for all apps in addition to multiple features including 50 funnels analyses and full support.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2011/10/10/three-mobile-app-analytics-you-need-to-know/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formatting Dates in IR Using JavaScript</title>
		<link>http://www.waggerdesigns.com/blog/2011/10/05/formatting-dates-in-interactive-reporting-using-javascript/</link>
		<comments>http://www.waggerdesigns.com/blog/2011/10/05/formatting-dates-in-interactive-reporting-using-javascript/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 01:32:52 +0000</pubDate>
		<dc:creator>Emily Vose</dc:creator>
				<category><![CDATA[Interactive Reporting]]></category>
		<category><![CDATA[IR Tutorial]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Brio]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hyperion Interactive Reporting]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/blog/?p=159</guid>
		<description><![CDATA[By using a little bit of JavaScript to extract the components of a date, any date displayed to an end-user can be consistently formatted to display in the month/day/year format.   JavaScript contains a library of methods that are unique to date-type data that allow access to the different components of a date.  Three of these methods, getMonth(), getDate(), and getFullYear(), ...]]></description>
			<content:encoded><![CDATA[<p>By using a little bit of JavaScript to extract the components of a date, any date displayed to an end-user can be consistently formatted to display in the month/day/year format.   JavaScript contains a library of methods that are unique to date-type data that allow access to the different components of a date.  Three of these methods, <span class="codeEmbed">getMonth()</span>,<span class="codeEmbed"> getDate()</span>, and <span class="codeEmbed">getFullYear()</span>, allow access to the parts of the date needed to convert a date variable to a consistently formatted string variable.  Each of these methods extracts the value suggested by the method call. For example, getMonth() returns the date&#8217;s month and getFullYear() returns the full four digit year value.</p>
<p>It is very, very important to note that the getMonth() method returns a value between 0 and 11, not 1 and 12. This means that 0 represents January and 11 represents December. When using the getMonth method, the output number must be incremented by 1 to actualize the expected calendar month value.</p>
<p>With the assumption that inputDate represents the date to be formatted, the JavaScript code required for translating a date or timestamp to a formatted string is as follows: <code class="codeBlock">
<pre class="fancy_code_box">var dateString=(inputDate.getMonth()+1)
+"/"+ inputDate.getDate()
+"/"+inputDate.getFullYear();</pre>
<p></code><code></code>To explain further, envision that the value of inputDate is 5/31/2008 11:57:00. If the new value of inputDate is passed through the above script, the output would be 5/31/2008 because, once defined, the following statements are true:</p>
<ul>
<li>inputDate.getMonth() is 4 and the addition of 1 makes it 5</li>
<li>inputDate.getDate() is 31</li>
<li>inputDate.getFullYear() is 2008</li>
</ul>
<p>Since JavaScript is a dynamically typed language, each of these outputs is actually a numeric value.  The addition of quotes will make the numbers strings.  This is represented by the “/” in the original statement.  Since the “/” will be combined, or concatenated, with the date, the method output results in a formatted date, and the data type of the resulting value will be a string. <span id="more-159"></span></p>
<h2>Step-by-step Demonstration in IR</h2>
<p>To demonstrate how the above concept can be practiced within Hyperion Interactive Reporting, create a new blank BQY document. On the default dashboard section, add a Text Label graphic and a Command Button control to the Dashboard section.</p>
<p style="text-align: left;">
<div class="aligncenter"><span class="transparent_frame"><img src="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-1.png" title="Dashboard view of the Text Label and Command Button" alt="Dashboard view of the Text Label and Command Button" width="625" height="360" /><a href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-1.png" rel="prettyPhoto"><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/transparent.gif" style="height:350px;width:615px;" class="transparent_border"></a></span></div></p>
<p>When this demonstration is complete, the Text Label will display the current date in mm/dd/yyyy format when the Command Button is clicked.</p>
<p>The first step of this exercise is to add some basic code using the new Date() JavaScript method and the Text property of the Text Label to print the current date to the Text Label when the Command Button is pressed.</p>
<p>Select the Command Button and open the <span class="keyword">Script Editor</span> by choosing the <span class="appNav">Scripts</span> option from the right-click menu.</p>
<div class="aligncenter"><span class="transparent_frame"><img src="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-2.png" title="Right-Click Menu access to the Script Editor" alt="Right-Click Menu access to the Script Editor" width="622" height="360" /><a href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-2.png" rel="prettyPhoto"><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/transparent.gif" style="height:350px;width:612px;" class="transparent_border"></a></span></div><p style="text-align: center;">
<p>With the Script Editor open, add the following JavaScript to the code pane: 
<pre class="fancy_code_box">var dateInput = new Date();
TextLabel.Text = dateInput;</pre>
<p> The first line leverages the new Date() JavaScript method to determine the current date and time to define dateInput.  The second line defines the Text property of the TextLabel graphic to be equal to the dateInput variable.</p>
<div class="aligncenter"><span class="transparent_frame"><img src="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-3.png" title="Script Editor with JavaScript to display today&#039;s date entered" alt="Script Editor with JavaScript to display today&#039;s date entered" width="621" height="290" /><a href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-3.png" rel="prettyPhoto"><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/transparent.gif" style="height:280px;width:611px;" class="transparent_border"></a></span></div><p>When the script is added, press <span class="appNav">OK</span> to close the Script Editor and save the code.  Switch the dashboard from Design mode to Run mode using either the <em>CTRL+D</em> hot-key combination, the <span class="appNav keyword">Design Mode</span> icon in the Section Toolbar, or the <span class="appNav">Design Mode</span> option of the <span class="appNav">Dashboard</span> menu item as shown below:</p>
<div class="aligncenter"><span class="transparent_frame"><img src="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-4.png" title="Toggeling Design Mode from the Dashboard Menu" alt="Toggeling Design Mode from the Dashboard Menu" width="402" height="280" /><a href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-4.png" rel="prettyPhoto"><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/transparent.gif" style="height:270px;width:392px;" class="transparent_border"></a></span></div><p style="text-align: center;">
<p>Once the dashboard has been switched to <span class="keyword">Run Mode</span>, click the Command Button to run the script.  The resulting update to the Text Label is shown below:</p>
<div class="aligncenter"><span class="transparent_frame"><img src="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-5.png" title="Dashboard view of the Text Label displaying the long date" alt="Dashboard view of the Text Label displaying the long date" width="619" height="358" /><a href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-5.png" rel="prettyPhoto"><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/transparent.gif" style="height:348px;width:609px;" class="transparent_border"></a></span></div><p style="text-align: center;">
<p>The output of displayed on the Text Label makes it clear how important formatting the date can be.  By leveraging the JavaScript date methods, the date can be formatted to a more traditional date format of mm/dd/yyyy before it is output to the Text Label.</p>
<p>To format the date, return the dashboard to Design mode, select the Command Button, and open the Script Editor as explained above.  With the Script Editor open, the code can be added.   Add the following code between the two statements already in the Script Editor: <code>
<pre class="fancy_code_box"></code><code></code>dateInput = (dateInput.getMonth()+1)
+"/"+ dateInput.getDate()
+"/"+dateInput.getFullYear();<code></pre>
<p> </code>Do not forget that the +1 on the getMonth method is required to return the current month. If +1 is not included, the numeric value returned will represent the prior month.</p>
<p>Once the code is added, the Script Editor should look like the below image:</p>
<div class="aligncenter"><span class="transparent_frame"><img src="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-6.png" title="Script Editor with JavaScript to format date entered" alt="Script Editor with JavaScript to format date entered" width="621" height="290" /><a href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-6.png" rel="prettyPhoto"><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/transparent.gif" style="height:280px;width:611px;" class="transparent_border"></a></span></div><p>Press <span class="appNav">OK</span> to close the Script Editor, switch the dashboard to Run Mode and click the Command Button to see the updated Text Label as shown below:</p>
<div class="aligncenter"><span class="transparent_frame"><img src="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-7.png" title="Dashboard view of the Text Label displaying the formatted date" alt="Dashboard view of the Text Label displaying the formatted date" width="619" height="358" /><a href="http://www.waggerdesigns.com/wp-content/uploads/2011/12/Interactive-Reporting-Date-Format-Tutorial-7.png" rel="prettyPhoto"><img alt="" src="http://www.waggerdesigns.com/wp-content/themes/echelon/images/shortcodes/transparent.gif" style="height:348px;width:609px;" class="transparent_border"></a></span></div><p style="text-align: center;">
<p>Ta-da! The date is now formatted in the mm/dd/yyyy format.</p>
<h2>Advanced Users</h2>
<p>For advanced users leveraging either framework introduced in the <a title="Expert Hyperion Interactive Reporting Guide" href="http://www.waggerdesigns.com/blog/2011/12/29/expert-hyperion-interactive-reporting-guide/"><em>Oracle Hyperion Interactive Reporting 11 Expert Guide</em></a>, the next two sections outline the code structure to be used in either the Local Dashboard Framework or the Central Code Repository (CCR) Framework.</p>
<p>The benefit to adding this script to the framework is that the code can be defined as a global function that can be called any time a date needs to be formatted before being output.  This can be used by any section in the document which will allow dates to be formatted anywhere – not just Dashboard sections.  For example, dates in chart tiles, pivot column titles, report sections, and custom computed objects could also make use of this function.</p>
<h3>Leveraging the Local Dashboard Framework</h3>
<p>If you are using the Local Dashboard Framework discussed in Chapter 5 of <em>Oracle Hyperion Interactive Reporting 11 Expert Guide</em>, create a new Text Label on the Globals Dashboard to contain the new global function which will convert a date to the mm/dd/yyyy format, consistent with the steps outlined in the chapter.   By adding it to the next available gs#, the document start-up process will include this new function when the  document library is declared.</p>
<p class="codeBlock">The script for the function, as shown below, accepts the dateInput value and returns a formatted string version of the date. Add the below code to the Text Label shape representing this function on the Globals Dashboard section: <code>
<pre class="fancy_code_box"></code>// --------------- Format Date Global Function ---------------
function formatDate(dateInput)
{
return((dateInput.getMonth()+1)
+"/"+dateInput.getDate()
+"/"+dateInput.getFullYear());
};
gfFormatDate = formatDate;<code></pre>
<p></code>When dateInput is passed to the formatDate function, a formatted date will be returned.</p>
<h3>Leveraging the Central Code Repository</h3>
<p class="codeBlock">If you are using the CCR methodology presented in Chapter 10 of Interactive Reporting Advanced Developers Guide, insert a new row in the CCR Table to house the script for this function.  The following script represents the above function without carriage returns or comments that can be copy and pasted to the CCR Table column that represents the script execution field: <code>
<pre class="fancy_code_box"></code>function formatDate(dateInput){
return((dateInput.getMonth()+1)
+"/"+dateInput.getDate()
+"/"+dateInput.getFullYear());
}; gfFormatDate = formatDate;<code></pre>
<p></code>When the eval statement is run during the start-up processing of a document connected to the CCR, the formatDate function will return the value represented by dateInput in mm/dd/yyyy format.</p>
<h3>Accessing the Function Globally</h3>
<p>The gfFormatDate function is accessed in a manner similar to other global functions. When called, the date to be formatted is supplied as an input parameter to the function. The below example demonstrates calling the function to format a date, represented as unformattedDate, and saving the resulting formatted date as the variable formattedDate: <code>
<pre class="fancy_code_box"></code>var formattedDate = gfFormatDate(unformattedDate);<code></pre>
<p></code>If a customized date variable has been derived from another source, such as a result section or custom calculation, the date to be formatted would be passed to the function and the function would return a string that represents the formatted version of the date.</p>
<p class="codeBlock">Continuing with the above example using the Command Button, the code to be executed by the Command Button when it is clicked is simply the statement below: <code>
<pre class="fancy_code_box"></code>TextLabel.Text = gfFormatDate(new Date());<code></pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2011/10/05/formatting-dates-in-interactive-reporting-using-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle’s Hyperion Certification</title>
		<link>http://www.waggerdesigns.com/blog/2011/09/19/oracle-hyperion-certifications/</link>
		<comments>http://www.waggerdesigns.com/blog/2011/09/19/oracle-hyperion-certifications/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 14:04:30 +0000</pubDate>
		<dc:creator>Emily Vose</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Hyperion EPM Suite]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Analytics]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/blog/?p=226</guid>
		<description><![CDATA[Today, several of the Hyperion certifications are still based on the System 9 architecture.  As the Hyperion 11 architecture — known back in the day at Hyperion as 9.5 — is not drastically different from the 9.3 version,  achieving the version 9.3 certifications with version 11 training will be time well-spent by any Hyperion professional.  However, while the apps and tools may differ ...]]></description>
			<content:encoded><![CDATA[<p>Today, several of the Hyperion certifications are still based on the System 9 architecture.  As the Hyperion 11 architecture — known back in the day at Hyperion as 9.5 — is not drastically different from the 9.3 version,  achieving the version 9.3 certifications with version 11 training will be time well-spent by any Hyperion professional.  However, while the apps and tools may differ only slightly between versions, it is very important to note that there will be differences and, in some cases — especially with configuration and installation process — disagreements between the two versions of the software.  I would recommend asking Oracle what the future holds for the Hyperion certifications – especially those that have not yet been upgraded to version 11 &#8211; prior to starting a certification path to ensure that you are seeking the most up-to-date version of the certification. <span id="more-226"></span></p>
<h2>Essbase Certifications</h2>
<p>Certification in Essbase is obviously a good idea for any professional specializing in Essbase, but it is also a good path for Planning, Hyperion Financial Reporting (HFM), and Interactive Reporting professionals.</p>
<h3><a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=412&amp;p_org_id=1001&amp;lang=US">Oracle Essbase 11 Certified Implementation Specialist</a></h3>
<p>This level of Essbase certification is the lowest level of certification offered by Oracle (Specialist) and represents individuals who have a general understanding of Oracle Essbase 11.  The exam required to achieve this level of certification, <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_org_id=&amp;lang=&amp;p_exam_id=1Z0_531">Oracle Essbase 11 Essentials</a>, should ideally follow an in-person attendance to the <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D70048GC10">Oracle Essbase 11.1.1 Bootcamp</a>. However, individuals with prior Essbase development experience may feel prepared with the self study materials or may even have enough experiences to pass the examination without preparation through Oracle Training.</p>
<p><strong>Costs: </strong>Exam &#8211; $195<strong>; </strong>Essbase Boot Camp $1,650 (Self Study) &#8211; $4,000 (5 day class)</p>
<h3><a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=204">Hyperion Essbase 9.3 Developer Certified Expert</a></h3>
<p>This level of Essbase certification is an Expert level of certification used to represent individuals who have a strong grasp of the development activities required within an Essbase implementation.  The exam required to achieve this level of certification, <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_exam_id=1Z0_264">Hyperion Essbase 9.3 Developer</a>, should be taken after an in-person attendance to the <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D70048GC10">Oracle Essbase 11.1.1 Bootcamp</a>. Individuals with prior Essbase development experience may be able to pass the examination with a content refresher from the Bootcamp self study materials.  Candidates should have experience with Essbase beyond the Bootcamp class.</p>
<p><strong>Costs: </strong>Exam &#8211; $195<strong>; </strong>Essbase Boot Camp $1,650 (Self Study) &#8211; $4,000 (5 day class)</p>
<h2>Planning Certifications</h2>
<p>As the foundation of Planning is Essbase, individuals seeking Planning certifications should also consider achieving Essbase certifications or, at a minimum, attending the Essbase Bootcamp class.</p>
<h3><a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=416">Oracle Hyperion Planning 11 Certified Implementation Specialist</a></h3>
<p>This level of Planning certification is the lowest level of certification offered by Oracle (Specialist) and represents individuals who have a general understanding of the Planning 11 application.  The preparation path for this exam, <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_exam_id=1Z0_533">Oracle Planning 11 Essentials</a>, is not defined by Oracle; however, the <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getlppage?page_id=213&amp;path=HPLP&amp;columnNumber=1">Planning Business User Learning Path</a> for Oracle PartnerNetworks would likely provide the foundation required to take the exam for most users.</p>
<p><strong>Costs: </strong>Exam &#8211; $195</p>
<h3><a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=201">Hyperion Planning 9.3 Administrator Certified Expert</a></h3>
<p>This level of Planning certification is an Expert level of certification used to represent individuals who have a strong grasp of the administrative and development activities required within a Planning implementation.  Professionals with this level of certification must be proficient in the steps required to create and manage Planning applications and understand the basics of the Hyperion Financial Reporting tool. The exam required to achieve this level of certification, <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_exam_id=1Z0_272">Hyperion Planning 9.3 Administrator I &amp; II</a>, should be taken after an in-person attendance to <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D63792GC10">Oracle Hyperion Planning 11.1.2: Create &amp; Manage Applications</a> and <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D70054GC10">Oracle Hyperion Financial Reporting 11.1.1 for Essbase &amp; Planning</a>.  Professionals with previous experience with Hyperion Financial Reporting may feel comfortable with the self study course option.</p>
<p><strong>Costs: </strong>Exam &#8211; $195<strong>; </strong><em>Oracle Hyperion Planning 11.1.2: Create &amp; Manage Applications</em> $4,000 (5 day class); <em>Oracle Hyperion Financial Reporting 11.1.1 for Essbase &amp; Planning</em> $600 (Self Study) &#8211; $1,600 (2 Day class)</p>
<h2>Hyperion Financial Management Certifications</h2>
<p>As the back-end technology for Hyperion Financial Management (HFM) is either Essbase directly or Essbase through Planning, individuals seeking HFM certifications should also consider achieving Essbase certifications or, at the very least, attending the Essbase Bootcamp training session.</p>
<h3><a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=417">Oracle Hyperion Financial Management 11 Certified Implementation Specialist</a></h3>
<p>This level of HFM certification is the lowest level of certification offered by Oracle (Specialist) and represents individuals who have a general understanding of the installation, implementation, and management options of HFM 11.  The preparation path for this exam, <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_exam_id=1Z0_532">Oracle Hyperion Financial Management 11 Essentials</a>, has one of two optional paths:  Oracle PartnerNetwork participants may choose the <a href="http://www.oracle.com/partners/en/most-popular-resources/044396.html">Oracle Hyperion Financial Management Implementation Boot Camp</a>; those who are not member of the Oracle PartnerNetwork are encouraged to take <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D63786GC10">Oracle Hyperion Financial Management 11.1.2: Create &amp; Manage Applications</a>,  <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D58895GC10">Oracle Hyperion Financial Mgmt 11.1.1 Installation &amp; Configuration</a>, and <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D55801GC10">Oracle Hyperion Financial Mgmt 11.1.1: Create Rules Using Calc Mgr</a> to provide the foundation required to take the exam.</p>
<p><strong>Costs: </strong>Exam &#8211; $195; <em>Hyperion Financial Management 9.3.1: Create &amp; Manage Applications </em>$4,000 (5 day class); <em>Oracle Hyperion Financial Mgmt 11.1.1 Installation &amp; Configuration </em>$2,400 (3 Day class); Oracle<em> Hyperion Financial Mgmt 11.1.1: Create Rules Using Calc Mgr </em>$3,200 (4 Day Class)<strong></strong></p>
<h3><a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=203">Hyperion Financial Management Administrator Certified Expert</a></h3>
<p>This level of HFM certification is an Expert level of certification used to represent individuals who have a strong grasp of the administrative activities required within an HFM implementation.  Professionals with this level of certification must be proficient in all steps required to create, deploy and maintain HFM implementations. The exam required to achieve this level of certification, <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_exam_id=1Z0_271">Hyperion Financial Management 9.3 Administrator I &amp; II</a>, should be taken after an in-person attendance to <a href="http://education.oracle.com/pls/web_prod-plq-dad/show_desc.redirect?dc=D52595GC10">Hyperion Financial Management 9.3.1: Create &amp; Manage Applications</a> and <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D72599GC10">Oracle Hyperion Financial Reporting 11.1.2 for Financial Management</a>. While not explicitly mentioned by Oracle’s materials, candidates for this level of certification would benefit from the additional training classes required by the HFM Specialist certification as well.</p>
<p><strong>Costs: </strong>Exam &#8211; $195<strong>; </strong><em>Hyperion Financial Management 9.3.1: Create &amp; Manage Applications </em>$4,000 (5 day class); <em>Oracle Hyperion Financial Reporting 11.1.2 for Financial Management </em>$1,600 (2 Day class)</p>
<h2>Other Certifications</h2>
<p>The Hyperion certification structure obviously favors the Essbase tools and the applications end of the Hyperion suite. While plans had been made to include certifications for the relational toolsets, only one certification pertaining to the implementation and administration of the Hyperion services was completed prior to the acquisition by Oracle.</p>
<p>While there are currently no direct certification paths for Interactive Reporting professionals, Oracle offers several well-organized and well-presented training classes for all levels of Interactive Reporting specialist that guide students through specific topics of interest within IR.</p>
<h3><a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=205">Hyperion BI+ Certified Expert</a></h3>
<p>While Oracle still recognizes and offers this certification, it is expected that this certification will become obsolete as the Hyperion suite and other Oracle toolsets are fully integrated into OBIEE  and customers migrate to those solutions.   This certification represents professionals with a strong knowledge of Hyperion BI+ infrastructure administration and installation processes.  The exam required, <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&amp;p_exam_id=1Z0_265">Hyperion System 9 BI+ 9.3 Administrator</a>, can be prepared for by attending <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D63977GC10">Hyperion Reporting &amp; Analysis 11.1.2 Administration</a>. However, it is important to note that the BI+ platform that is covered in the exam no longer exists, so it is unlikely that all examination topics will covered in the course.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2011/09/19/oracle-hyperion-certifications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>We Heart Harvest!</title>
		<link>http://www.waggerdesigns.com/blog/2011/09/08/tracking-time-worked/</link>
		<comments>http://www.waggerdesigns.com/blog/2011/09/08/tracking-time-worked/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 03:18:37 +0000</pubDate>
		<dc:creator>Emily Vose</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Freelance]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[freelance]]></category>

		<guid isPermaLink="false">http://www.waggerdesigns.com/blog/?p=47</guid>
		<description><![CDATA[Tracking time worked can be challenging for a small service-oriented business that is juggling multiple clients, projects, contractors, and employees.  Initially, our approach at Wagger Designs relied on spreadsheets and a shared calendar.   As we began to grow, we tried out several other vendor solutions before settling on an incredible web-based application called Harvest. On our journey from hodgepodge to ...]]></description>
			<content:encoded><![CDATA[<p>Tracking time worked can be challenging for a small service-oriented business that is juggling multiple clients, projects, contractors, and employees.  Initially, our approach at Wagger Designs relied on spreadsheets and a shared calendar.   As we began to grow, we tried out several other vendor solutions before settling on an incredible web-based application called <a href="http://getharvest.com">Harvest</a>. On our journey from hodgepodge to Harvest, we evaluated a variety of solutions that were all poor fits for the day-to-day realities of Wagger&#8217;s service-oriented business – some were time-consuming to use, others were hard to learn, and still others were prohibitively expensive.</p>
<p>I could go on and on about how much Harvest has become an integral part of our business process or how drastically it has cut overhead costs, but I&#8217;d rather you spend time reading about Harvest directly on their site.  Any small business owner who doesn&#8217;t see why Harvest is such a gem after spending a couple of minutes <a title="Harvest" href="http://www.getharvest.com/" target="_blank">on their website</a> is crazy!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.waggerdesigns.com/blog/2011/09/08/tracking-time-worked/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

