

{"id":102,"date":"2009-11-29T11:44:46","date_gmt":"2009-11-29T10:44:46","guid":{"rendered":"http:\/\/www.hackingsap.com\/blog\/?p=102"},"modified":"2011-12-18T15:02:45","modified_gmt":"2011-12-18T13:02:45","slug":"powerpoint-xcelsius-and-twitter","status":"publish","type":"post","link":"https:\/\/www.hackingsap.com\/blog\/powerpoint-xcelsius-and-twitter","title":{"rendered":"Powerpoint, Xcelsius and Twitter DIY"},"content":{"rendered":"<p>A few weeks ago <a href=\"http:\/\/timoelliott.com\/blog\/\">Timo Elliot<\/a> (SAP BusinessObjects) launched his free PowerPoint Twitter Tools on his <a href=\"http:\/\/www.sapweb20.com\/blog\/powerpoint-twitter-tools\/\">SAP web 2.0 blog<\/a>. With these tools you are able to integrate Twitter in you presentations and use it i.e. to receive live feedback during your presentation.\u00a0Lots of updates and improvements have been published since then and the high number of positive comments (on Twitter) confirm what a great idea this is.<\/p>\n<p>A drawback of the tool is that you can\u2019t configure the layout yourself. Also there is a SAP logo on every slide plus the e-mail address of the author. I like SAP but I think it is a bad thing to stuff your slides with logo\u2019s. Also, why would your audience care?<\/p>\n<p>So, let\u2019s build a custom Twitter tool for PowerPoint ourselves, step-by-step.<\/p>\n<p>Requirements:<br \/>\n&#8211; A copy of Xcelsius Engage or Xcelsius Engage Server (get a free 30-day trial <a href=\"http:\/\/www.businessobjects.com\/campaigns\/forms\/downloads\/xcelsius\/engageserver\/default.asp\">here<\/a>);<br \/>\n&#8211; MS Excel;<br \/>\n&#8211; MS Powerpoint.<\/p>\n<p><!--more--><\/p>\n<p>We can use the <a href=\"http:\/\/apiwiki.twitter.com\/Twitter-Search-API-Method%3A-search \">Twitter search API<\/a> to find out how to import the tweets via XML maps. According to this page we need the following url to receive the 10 most recent tweets about Apple:<\/p>\n<p><em>http:\/\/search.twitter.com\/search.atom?q=Apple&amp;rpp=10<\/em><\/p>\n<p>Now we go to the spreadsheet area in Xcelsius to import this XML. Go to the Develop tab and choose Import. If you don\u2019t have a Developer tab, close Xcelsius and open Excel. Go to Excel Options and enable \u201cShow Developer tab in the Ribbon\u201d. Quit Excel and restart Xcelsius.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-90 alignnone\" title=\"twitter1\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter1.png\" alt=\"twitter1\" width=\"669\" height=\"194\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter1.png 825w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter1-300x86.png 300w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><\/p>\n<p>Past the above url and import the data in the spreadsheet. Make sure you do not put the data in the upper cells of the spreadsheet as we need them later on, so use i.e. cell A10. Your setup should now look something like this:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-91 alignnone\" title=\"twitter2\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter2.png\" alt=\"twitter2\" width=\"716\" height=\"335\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter2.png 1279w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter2-300x140.png 300w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter2-1024x479.png 1024w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/p>\n<p>Actually, for our Twitter tool we will only need the following fields\/columns:<br \/>\nns1: name (Name of the author)<br \/>\nns1: uri (Link to the author profile)<br \/>\nns1: title (Tweet)<br \/>\nhref (Link to the tweet and link to the profile image of the author)<\/p>\n<p>Next we have to add this connection in the Data Manager. Add an Excel XML map connection and you will see that Xcelsius already recognizes the connection we just made.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-92 alignnone\" title=\"twitter3\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter3.png\" alt=\"twitter3\" width=\"498\" height=\"396\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter3.png 830w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter3-300x238.png 300w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/p>\n<p>In the Usage tab, enable Refresh On Load and adjust Refresh Every to 1 minute. Bind the Trigger Cell to cell A2 and select &#8220;When Value Changes&#8221;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-93 alignnone\" title=\"twitter4\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter4.png\" alt=\"twitter4\" width=\"498\" height=\"396\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter4.png 830w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter4-300x238.png 300w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/p>\n<p>We want to be able to change the search term, so we need to make a variable of the XML Data URL in the Definition tab. Bind this field to cell A5.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-94 alignnone\" title=\"twitter5\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter5.png\" alt=\"twitter5\" width=\"532\" height=\"148\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter5.png 532w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter5-300x83.png 300w\" sizes=\"auto, (max-width: 532px) 100vw, 532px\" \/><\/p>\n<p>Go to the spreadsheet and put the following values in the cells:<br \/>\nA1: http:\/\/search.twitter.com\/search.atom?q=<br \/>\nA2: Apple<br \/>\nA3: &amp;rpp=10<br \/>\nA5: =CONCATENATE(A1,A2,A3)<\/p>\n<p>I like to highlight the cells with variables yellow and the cells with Excel formulas green, just for clarity.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-155\" title=\"twitter6\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter6.png\" alt=\"twitter6\" width=\"717\" height=\"346\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter6.png 717w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter6-300x144.png 300w\" sizes=\"auto, (max-width: 717px) 100vw, 717px\" \/><\/p>\n<p>As you can see in the spreadsheet area the data is presented in a somewhat hierarchical way, with lots of empty cells. But, when running the dashboard this actually is not the case and all cells will be filled with data. To demonstrate this you can use the Spreadsheet Table component. Bind the display data to the first 4 rows below the XML map field headers. Hit the Preview button and you\u2019ll see that the href-column gives us 2 links for each tweet, placed in 2 cells below each other. We should keep this in mind! Now delete the Spreadsheet Table component.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-96 alignnone\" title=\"twitter7\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter7.png\" alt=\"twitter7\" width=\"800\" height=\"75\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter7.png 800w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter7-300x28.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>Add an Input Text component to the canvas and bind this to cell A2. With this field the user can change the search term.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-97\" title=\"twitter9\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter9.png\" alt=\"twitter9\" width=\"682\" height=\"552\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter9.png 1420w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter9-300x242.png 300w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter9-1024x829.png 1024w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/p>\n<p>Next I use the Image component to add an image of a text balloon to the canvas. Paste a label component on the text balloon and bind it to cell O11 (text of the first Tweet). Next add an URL Button component to the canvas and also place it on top of the text balloon. Bind it to cell M11 (url of the tweet). Erase the label value in the Properties pane and in the Appearance tab deselect \u201cShow Button Background\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-98 alignnone\" title=\"twitter10\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter10.png\" alt=\"twitter10\" width=\"686\" height=\"513\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter10.png 1429w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter10-300x224.png 300w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter10-1023x765.png 1023w\" sizes=\"auto, (max-width: 686px) 100vw, 686px\" \/><\/p>\n<p>Finally we have to add the name and profile image of the tweet author. Add the Slide Show Component to the canvas and bind it to cell M12 (profile image location, always one cell below the url of the tweet, remember?).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-99 alignnone\" title=\"twitter11\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter11.png\" alt=\"twitter11\" width=\"686\" height=\"513\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter11.png 1429w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter11-300x224.png 300w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter11-1023x765.png 1023w\" sizes=\"auto, (max-width: 686px) 100vw, 686px\" \/><\/p>\n<p>Next add another Label Component and bind it to cell V11 (author name). Now we only have to add another URL Button component and past it over the profile image. Bind it to cell W11 (url of author profile).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-100 alignnone\" title=\"twitter12\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter12.png\" alt=\"twitter12\" width=\"686\" height=\"513\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter12.png 1429w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter12-300x224.png 300w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter12-1023x765.png 1023w\" sizes=\"auto, (max-width: 686px) 100vw, 686px\" \/><\/p>\n<p>Now it is time to test our dashboard! Hit Preview.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-101 alignnone\" title=\"twitter13\" src=\"http:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter13.png\" alt=\"twitter13\" width=\"686\" height=\"513\" srcset=\"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter13.png 1429w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter13-300x224.png 300w, https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter13-1023x765.png 1023w\" sizes=\"auto, (max-width: 686px) 100vw, 686px\" \/><\/p>\n<p>So that\u2019s how it works. You can embed the swf-file into Powerpoint or place it wherever you want.<br \/>\nDownload the source files <a href=\"http:\/\/www.paywithatweet.com\/pay\/?id=0e59947254e1fba061f0e770366c2c28\" target=\"_blank\">here<\/a> (via Pay with a Tweet). Have fun!<\/p>\n<p>[kml_flashembed movie=&#8221;http:\/\/hackingsap.com\/blog\/wp-content\/uploads\/twitter.swf&#8221; height=&#8221;450&#8243; width=&#8221;600&#8243; \/]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using Twitter in Xcelsius. How does it work?<\/p>\n","protected":false},"author":1,"featured_media":172,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[21,5,126,6],"tags":[287,19,20,17,105,80,286,285,18],"class_list":["post-102","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diy","category-featured","category-sapbusinessobjects-dashboards","category-xcelsius","tag-diy","tag-excel","tag-flash","tag-powerpoint","tag-sap-crystal-dashboard-design","tag-scdd","tag-twitter","tag-xcelsius","tag-xml"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.hackingsap.com\/blog\/wp-content\/uploads\/twitter_logo.jpg","jetpack_shortlink":"https:\/\/wp.me\/pKaa2-1E","jetpack-related-posts":[{"id":1127,"url":"https:\/\/www.hackingsap.com\/blog\/bi4-product-names-xcelsius-dashboards","url_meta":{"origin":102,"position":0},"title":"BI4 product names for Xcelsius","author":"Xavier Hacking","date":"March 21, 2011","format":false,"excerpt":"Overview of the new BI4 product naming for SAP BusinessObjects Dashboards (fka Xcelsius).","rel":"","context":"In &quot;SAP BusinessObjects Dashboards&quot;","block_context":{"text":"SAP BusinessObjects Dashboards","link":"https:\/\/www.hackingsap.com\/blog\/category\/sapbusinessobjects-dashboards"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":272,"url":"https:\/\/www.hackingsap.com\/blog\/thoughts-on-xcelsius-2008-sp3","url_meta":{"origin":102,"position":1},"title":"Thoughts on Xcelsius 2008 SP3","author":"Xavier Hacking","date":"December 16, 2009","format":false,"excerpt":"'New' features from SAP BusinessObjects.","rel":"","context":"In &quot;SAP BusinessObjects Dashboards&quot;","block_context":{"text":"SAP BusinessObjects Dashboards","link":"https:\/\/www.hackingsap.com\/blog\/category\/sapbusinessobjects-dashboards"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1370,"url":"https:\/\/www.hackingsap.com\/blog\/sap-businessobjects-dashboards-cookbook-tweetaway-giveaway-xcelsius","url_meta":{"origin":102,"position":2},"title":"SAP BO Dashboards cookbook Tweetaway","author":"Xavier Hacking","date":"July 6, 2011","format":false,"excerpt":"Okay guys, it is time to give some stuff away. On behalf of Packt Publishing we can give away two eBook copies of the SAP BusinessObjects Dashboards cookbook we released a few weeks ago. Joining this giveaway Tweetaway is easy: Just send out a tweet with a link to the\u2026","rel":"","context":"In &quot;Books&quot;","block_context":{"text":"Books","link":"https:\/\/www.hackingsap.com\/blog\/category\/books"},"img":{"alt_text":"Join the Tweetaway!","src":"https:\/\/i0.wp.com\/www.hackingsap.com\/blog\/wp-content\/uploads\/logo_twitter_withbird_1000_allblack-300x55.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":3219,"url":"https:\/\/www.hackingsap.com\/blog\/sap-bi-product-name-shake-up-the-2017-edition","url_meta":{"origin":102,"position":3},"title":"SAP BI product name shake-up: the 2017 edition","author":"Xavier Hacking","date":"May 26, 2017","format":false,"excerpt":"Another year, another set of product names for our beloved SAP BI tools. Seemingly out of nowhere a list of new names were presented last week at the SAPPHIRENOW event\u00a0in Orlando FL. Even after all the name changes we had in the past 10 years ('member Xcelsius?), this still came\u2026","rel":"","context":"In &quot;Featured&quot;","block_context":{"text":"Featured","link":"https:\/\/www.hackingsap.com\/blog\/category\/featured"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":877,"url":"https:\/\/www.hackingsap.com\/blog\/sap-insidetrack-videos-on-xcelsius-scdd-and-bo-explorer","url_meta":{"origin":102,"position":4},"title":"SAP InsideTrack videos on Xcelsius (SCDD) and BO Explorer","author":"Xavier Hacking","date":"October 22, 2010","format":false,"excerpt":"Watch these expert presentations on SAP Crystal Dashboard Design (Xcelsius) and the SAP BusinessObjects Explorer.","rel":"","context":"In &quot;SAP BusinessObjects Dashboards&quot;","block_context":{"text":"SAP BusinessObjects Dashboards","link":"https:\/\/www.hackingsap.com\/blog\/category\/sapbusinessobjects-dashboards"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.hackingsap.com\/blog\/wp-content\/uploads\/SITVANLogo.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.hackingsap.com\/blog\/wp-content\/uploads\/SITVANLogo.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.hackingsap.com\/blog\/wp-content\/uploads\/SITVANLogo.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.hackingsap.com\/blog\/wp-content\/uploads\/SITVANLogo.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":444,"url":"https:\/\/www.hackingsap.com\/blog\/more-htg-from-sap-setting-up-authorization-for-xcelsius-in-sap-bw","url_meta":{"origin":102,"position":5},"title":"More HTG from SAP: Setting up authorization for Xcelsius in SAP BW","author":"Xavier Hacking","date":"March 12, 2010","format":false,"excerpt":"SAP HTG on creating authorization objects\/roles in SAP BW for Xcelsius dashboards.","rel":"","context":"In &quot;Knowledge sharing&quot;","block_context":{"text":"Knowledge sharing","link":"https:\/\/www.hackingsap.com\/blog\/category\/knowledge-sharing"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/posts\/102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/comments?post=102"}],"version-history":[{"count":77,"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/posts\/102\/revisions"}],"predecessor-version":[{"id":1554,"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/posts\/102\/revisions\/1554"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/media\/172"}],"wp:attachment":[{"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/media?parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/categories?post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hackingsap.com\/blog\/wp-json\/wp\/v2\/tags?post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}