xcelsius best practises

download xcelsius best practises

of 16

Transcript of xcelsius best practises

  • 8/7/2019 xcelsius best practises

    1/16

    WHITE PAPER

    A: Matt Lloyd

    Cis: Ryan Goodman and Richard Reynolds (updated based on their Best Practices or theolder Crystal Xcelsius 4.5 products)

    IntroduCtIonThis white paper covers the general best practices or building visualizations withXcelsius 2008 rom Business Objects, an SAP company.

    W S ra tis Gi?

    Anyone who is creating visualizations with Xcelsius 2008 should read thesebest practices.

    About XCelSIuS 2008Xcelsius 2008 is a visualization tool or creating interactive visual models basedon highly aggregated data sets. It uses a point-and-click design time environmentthat can easily be used by business users. No programming skills are necessaryor creating Xcelsius 2008 visualizations.

    XCelSIuS 2008 GenerAl beSt PrACtICeS

    CONTENTS1 Introduction

    1 Who Should Read this Guide?1 About Xcelsius 2008

    2 The Role o Microsot Excel at

    Design Time2 The Role o Adobe Flash at Preview

    or Export Time3 Microsot Excel Best Practices

    3 Supported Microsot ExcelFunctions

    3 Microsot Excel Functions or SmallData Sets Only

    4 Use Colors, Labels, and Bordersto Identiy Data Types (Input andOutput)

    5 Organize Your Data in a LogicalFashion

    6 Place Frequently Used Data andLogic at the Top o the Sheet

    6 Use Multiple Tabs8 Designing and Creating Visualizations

    8 Design on Paper8 Start with an Empty Spreadsheet8 Try to Keep the Data and Logic to a

    Minimum or Hard-Code Values8 Add Components8 Add Some Dummy Data to Test

    Charts and Interactivity8 Add Dynamic Visibility Logic8 Remove Your Dummy Data8 Export and Test Your Visualization8 Embedding Your Visualization into

    a Web Page11 Flash Player Security

    11 Running a SWF rom YourDesktop Make the SWF Trusted

    12 Running a SWF Hosted on a WebServer Use a Cross-DomainPolicy File

    13 Further Reading14 About Business Objects,

    an SAP company

  • 8/7/2019 xcelsius best practises

    2/16

    the role of MICroSoft eXCel At deSIGn tIMeWe oten are asked what benets we get rom using Microsot Excel and why dowe continue to use Microsot Excel?

    Apart rom Microsot Excel having a wide reach among business users and being

    easy to use, there are three key benets that Microsot Excel provides whenembedded inside Xcelsius 2008:

    1. A Data Model. You can enter highly aggregated data directly into thespreadsheet and visualize it, so there is no need or a database. You can alsopull in highly aggregated data rom external sources, including Web services,XML, and databases.

    2. A Calculation Engine. In addition to Microsot Excel having a very amiliar andfexible ormula language, it also provides a calculation engine.

    3. An Eventing Model. When a cell changes, we get a data change event. This isa very simple model, but we leverage it or more than just calculations.

    You can either start with a blank spreadsheet inside Xcelsius 2008 or you can importan existing spreadsheet.

    I you want to export the Microsot Excel spreadsheet out o Xcelsius 2008, on thedaa menu, click exp.

    the role of Adobe flASh At PrevIeW or eXPort tIMeWhen you preview or export your visualization, all o the data, logic, and ormattingrom the embedded Microsot Excel spreadsheet is compiled as Adobe Flash toproduce a Shockwave Flash (SWF) le

    So when you distribute your Xcelsius visualization as a SWF, all the end users needin order to view the SWF is the Adobe Flash player (version 9 or later).

    Note: Microsot Excel is only required at design time when building Xcelsiusvisualizations.

    bsiss ocs. Xcelsius 2008 Best Practices

  • 8/7/2019 xcelsius best practises

    3/16

    SuPPorted MICroSoft eXCel funCtIonSXcelsius 2008 supports a lot o the Microsot Excel unctions. Make sure that yourExcel spreadsheet uses only the Excel unctions that are supported by Xcelsius2008 otherwise, during preview time, your visualization may not behave as

    expected.To see the list o Microsot Excel unctions that Xcelsius 2008 supports:

    1. From the Xcelsius 2008 hp menu, select Xcsis hp. This opens theXcelsius 2008 help topics.

    2. In the Xcelsius 2008 help topics Contents tab, nd and expand Sppexc fcis.

    3. To see the list o Excel unctions that are supported by Xcelsius 2008, selectSpp exc fcis.

    MICroSoft eXCel funCtIonS for SMAll dAtA SetS onlyAll o the Microsot Excel unctions (logic) are compiled into Adobe Flash at previewor export time.

    Certain Microsot Excel unctions perorm better on smaller data sets (tens o rows)when compiled as Adobe Flash, so wherever possible avoid using the ollowingunctions on larger data sets. I you must access larger data sets, have the serveror database perorm the aggregation on the server side.

    Here is a list o the Microsot Excel unctions that you should try to avoid usingunless your data is set small (tens o rows):

    SUMIF

    COUNTIF

    HLOOKUP VLOOKUP

    MICroSoft eXCelbeSt PrACtICeS

    bsiss ocs. Xcelsius 2008 Best Practices

  • 8/7/2019 xcelsius best practises

    4/16

    uSe ColorS, lAbelS, And borderS to IdentIfy dAtA tyPeS

    (InPut And outPut)To make it easier or you or other members o your organization to maintainXcelsius 2008 models, it is a good idea to use colors, labels, and borders to

    identiy cells or ranges o cells in the spreadsheet and to hint at their use.

    It is oten a good idea to create a legend in your spreadsheet to say what thedierent colors represent (input rom Xcelsius, calculations in the spreadsheet,lookups, and dynamic data) that way, you can decide on a color scheme thatmakes sense or your organization or team.

    For example, see Table 1.

    Table 1: Sample Legend

    Figure 1: Colors and Labels Used to Indicate Spreadsheet Inputs and Outputs

    Color

    Bright Yellow

    Light Green

    Dynamic Visibility

    Description

    Input value from Xcelsius 2008

    Microsoft Excel logic (function or calculation), read-onlyvalue in Xcelsius

    Dynamic visibility allows you to dynamic show or hidecomponents; typically 1 means show the component andany other value means hide the component

    bsiss ocs. Xcelsius 2008 Best Practices

  • 8/7/2019 xcelsius best practises

    5/16

    orGAnIze your dAtA In A loGICAl fAShIonTo make your spreadsheet easier to understand, it is a good idea to lay out your datain a logical ashion. For example, group related items together again using colors,labels, and borders. See Figure 1.

    One o the new eatures o Xcelsius 2008 is the embedded Microsot Excelspreadsheet at design time. The embedded spreadsheet means you can insert orremove rows or columns, and the components track the ranges they are bound to. Itis still a good practice to leave room below or to the right o your data so it can growover time without having to add/remove rows or columns. See Figure 2.

    n: I you insert or remove rows in an external spreadsheet and import it, thecomponents cannot track range changes.

    Figure 2: Organized Data with Lookup Row Above the Data so the Data Can GrowDownwards Over Time

    bsiss ocs. Xcelsius 2008 Best Practices

  • 8/7/2019 xcelsius best practises

    6/16

    PlACe frequently uSed dAtA And loGIC

    At the toP of the SheetOten you bind data rom your spreadsheet into Xcelsius 2008 components, tomake it easier to select the data you want and to minimize the amount o scrolling

    you have to do. It is a good idea to place requently used or common logic or dataat the top-let o the tab in your spreadsheet. See Figure 3.

    Figure 3: Place Common Data and Logic at the Top of the Spreadsheet

    bsiss ocs. Xcelsius 2008 Best Practices

  • 8/7/2019 xcelsius best practises

    7/16

    uSe MultIPle tAbSI you nd that you have to keep scrolling your spreadsheet tab to see your logicor data, you may want to consider using multiple tabs (or worksheets) instead.See Figure 4.

    Figure 4: Using Multiple Tabs in the Spreadsheet

    bsiss ocs. Xcelsius 2008 Best Practices

  • 8/7/2019 xcelsius best practises

    8/16

    The ollowing are the best practices when designing and creating Xcelsius

    2008 visualizations.

    deSIGn on PAPer

    Remove yoursel rom the data you want to visualize. Create a rough drawing onpaper away rom your computer. This can be useul to get a general idea or thevisualization you want to create and also to use to sign o the basic design oyour visualization.

    StArt WIth An eMPty SPreAdSheetXcelsius 2008 does not support using spreadsheets that have links to otherspreadsheets or have macros in them. So it is a good idea to start with theempty spreadsheet that is embedded within Xcelsius 2008.

    Using the empty spreadsheet will also reduce the risk that you use MicrosotExcel unctions or plug-ins that Xcelsius 2008 does not support.

    try to KeeP the dAtA And loGIC to A MInIMuM or

    hArd-Code vAlueSThe more data or logic you put into your spreadsheet, the larger your generatedSWF will be and the longer it will take to open.

    Also, the more logic (and nested unctions and cell reerences) you put in yourspreadsheet, the longer it can take when the data changes, so the cell values(and related cells values) have to be recalculated.

    I you have any data or logic that is not used within your visualization, get rid o itrom your spreadsheet.

    I you have unctions or values that do not change (so are not dynamic or used

    by what-i scenarios), then to make sure your visualization is more ecient,convert the data to xed (hard-coded) values using Cp and Pas Spcia(as vas) in the spreadsheet.

    Add CoMPonentSUsing the design you created on paper earlier, mock up your visualization usingXcelsius 2008 components. At this point, there is no need to add data to yourspreadsheet; you are just creating the basic visual layout or your visualization.However, it is a good idea to share your design at this point as a second stageo eedback beore you start adding more complexity.

    deSIGnInG AndCreAtInG vISuAlIzAtIonS

    bsiss ocs. Xcelsius 2008 Best Practices

  • 8/7/2019 xcelsius best practises

    9/16

    Add SoMe duMMy dAtA to teSt ChArtS And InterACtIvItyAdd in some dummy data to your spreadsheet just enough so that you can testyour charts and interactivity. Again, share your design to get eedback beore you addmore complexity.

    n: You can also copy and paste data rom Microsot Excel into the Xcelsius 2008embedded spreadsheet.

    Add dynAMIC vISIbIlIty loGICOten you want to re-use the real estate within your Xcelsius visualization byhiding and showing Xcelsius 2008 components based on user interactions ordata changes.

    To control when components are visible, use dynamic visibility. For example, whencell A1 has the value 1, then this component is visible; otherwise, it is hidden.

    Add the dynamic visibility to your visualization so you can test the interactivityo hiding and showing components, and again, share your design to gather eedback.

    reMove your duMMy dAtANow it is time to replace your dummy data with actual data or data to be ed romoutside o your Xcelsius model.

    I the data in your Xcelsius 2008 visualization is o a secure nature, it is a goodidea to remove the dummy data rom your spreadsheet (but leave the cells and cellcoloring as they were). Thus, beore the data is retrieved and displayed, there is nodata to see until the end user has successully authenticated.

    eXPort And teSt your vISuAlIzAtIonMake sure you test your SWF in preview mode and also wherever you will deployyour visualization.

    It is important to do this because when running outside o the Xcelsius 2008designer, Adobe Flash has certain security restrictions see the section FlashPlayer Security or more inormation.

    eMbeddInG your vISuAlIzAtIon Into A Web PAGeTo embed your Xcelsius visualization SWF into an HTML Web page, you need touse the OBJECT and EMBED tags. The easiest way to generate the HTML orthe Web page is to exp htMl rom within Xcelsius (which also exports theassociated SWF).

    bsiss ocs. Xcelsius 2008 Best Practices

  • 8/7/2019 xcelsius best practises

    10/16

    There are two optional advanced topics when you export your SWF into aWeb page:

    1. Pass values into your Xcelsius 2008 SWF as it loads using Flash Variables:

    Use the Flash Variable connection in Xcelsius 2008 to dene the Flash Variablenames and where to store them in the spreadsheet when they are passed inat runtime.

    When you export your SWF as HTML, the current values or the Flash Variablesrom the spreadsheet are also generated in the OBJECT and EMBED tag.

    For more inormation on passing Flash Variables into a SWF, seehttp://www.permadi.com/tutorial/fashVars/.

    n: Flash Variables are passed into Xcelsius as the SWF loads, so Flash Variablevalues do not trigger a data change in the spreadsheet. I you want an XMLor Web service data connection, run and use those values with the rs la option or each connection (by the time Reresh on Load is called,the Flash Variable values have already been stored in the spreadsheet).

    2. Pass values rom Xcelsius 2008 out to JavaScript:

    FSCommand is a standard Flash call that Xcelsius 2008 makes available viathe FSCommand connection.

    For more inormation on using FSCommand with JavaScript, seehttp://www.moock.org/webdesign/fash/scommand/index.html.

    There are certain restrictions to Adobe Flash when you want to call out toJavaScript; see the section Flash Player Security or more inormation.

    bsiss ocs. Xcelsius 2008 Best Practices 10

  • 8/7/2019 xcelsius best practises

    11/16

    Depending on how you distribute or run your SWF, the Adobe Flash player placescertain security restrictions on a SWF that is running. Because Xcelsius 2008 is anapplication, we choose not to apply the security restrictions so you can query datarom wherever you need to at design time or preview time in Xcelsius 2008.

    I you export your Xcelsius visualization to Adobe Acrobat, then that also does notapply any security restrictions on your SWF.

    I you export your SWF in any other way, read on or some other restrictions. Becauseo the security restrictions, you may see runtime errors when you runyour SWF. Reer to the list o Adobe runtime errors athttp://livedocs.adobe.com/fex/2/langre/runtimeErrors.html .

    runnInG A SWf froM your deSKtoP MAKe the SWf truStedI you export to Microsot PowerPoint, Microsot Word, HTML, or to your desktopto run the SWF, you may nd the SWF does not work i you try to retrieve data ortry to navigate to a Web page because o the Adobe Flash security restrictions.

    To run this SWF on your desktop, you need to make it trusted, so it can accessWeb sites or local data.

    n: You can make a SWF trusted using the Global Settings Manager (i you haveInternet access) or with a FlashPlayerTrust conguration le.

    To make a SWF trusted using the Global Settings Manager:

    1. Run the SWF.

    2. Right-click on the SWF to see a context menu and select Sigs...

    3. Select the Piac tab.

    4. Click Aac... (opens in a new window).

    5. Select Ga Sci Sigs Pa (in the Table o Contents).

    6. Add this SWF as trusted location.

    7. Close the browser and reload the SWF.

    flASh PlAyer SeCurIty

    bsiss ocs. Xcelsius 2008 Best Practices 11

  • 8/7/2019 xcelsius best practises

    12/16

    runnInG A SWf hoSted on A Web Server

    uSe A CroSS-doMAIn PolICy fIleI you host your SWF on a Web server, make sure that any Web server you need toconnect to or live data has a cross-domain policy le in the Web server root (the

    location o the root older diers or each Web server). I you do not, then you maynot be able to connect to the Web server to get data when you run the SWF hostedon your Web server.

    The cross-domain policy le controls which SWFs running in which domains canaccess your Web server.

    Figure 5 presents an example o a cross-domain policy le that lets any SWF runningon any domain access your Web server. This le needs to be placed on the root oyour Web server.

    Figure 5: Sample Cross-Domain Policy File

    n: The line in Figure 5 is anew cross-domain policy requirement or Flash Player 9 onwards.

    bsiss ocs. Xcelsius 2008 Best Practices 1

  • 8/7/2019 xcelsius best practises

    13/16

    For more inormation on Xcelsius 2008, including best practices, orums, and whitepapers, reer to the ollowing Web sites.

    Xcelsius 2008http://www.businessobjects.com/product/catalog/xcelsius/

    Xcelsius 2008 on Diamondhttps://boc.sdn.sap.com/xcelsius

    Xcelsius 2008 Component SDK on Diamondhttps://boc.sdn.sap.com/xcelsius/sdk

    Other useul sources o inormation or Xcelsius 2008 on the Web:

    Interactive Data Visualization blog by Ryan Goodmanhttp://ryangoodman.net/blog/

    The Xcelsius Journalhttp://www.xcelsiusjournal.com/

    DataPig Technologies Xcelsius Tips and Tricks (Crystal Xcelsius 4.5)

    http://www.datapigtechnologies.com/XcelsiusMain.htm

    further reAdInG

    bsiss ocs. Xcelsius 2008 Best Practices 1

  • 8/7/2019 xcelsius best practises

    14/16

    As an independent business unit within SAP, Business Objects transorms the waythe world works by connecting people, inormation, and businesses. Together withone o the industrys strongest and most diverse partner networks, the companydelivers business perormance optimization to customers worldwide across all

    major industries, including nancial services, retail, consumer-packaged goods,healthcare, and public sector. With open, heterogeneous applications in the areaso governance, risk, and compliance; enterprise perormance management; andbusiness intelligence; and through global consulting and education services,Business Objects enables organizations o all sizes around the globe to close theloop between business strategy and execution.

    Business Objects has dual headquarters in San Jose, Cali., and Paris, France.The companys stock is traded on both the Nasdaq (BOBJ) and Euronext Paris(ISIN: FR0004026250 - BOB) stock exchanges. More inormation about BusinessObjects can be ound at www.businessobjects.com.

    About buSIneSS objeCtS,An SAP CoMPAny

    bsiss ocs.bsiss ocs. Xcelsius 2008 Best Practices 1

  • 8/7/2019 xcelsius best practises

    15/16

    Notes

    bsiss ocs. Xcelsius 2008 Best Practices 1

  • 8/7/2019 xcelsius best practises

    16/16

    businessobjects.com

    2008 Business Objects. All rights reserved. Business Objects owns the ollowing U.S. patents, which may cover products that are oered and licensed by Business Objects: 5,555,403; 5,857,205;6,289,352; 6,247,008; 6,490,593; 6,578,027; 6,831,668; 6,768,986; 6,772,409; 6,882,998; 7,139,766; 7,299,419; 7,194,465; 7,222,130; 7,181,440 and 7,181,435. Business Objects and the BusinessObjects logo, BusinessObjects, Business Objects Crystal Vision, Business Process On Demand, BusinessQuery, Crystal Analysis, Crystal Applications, Crystal Decisions, Crystal Enterprise, Crystal Insider,Crystal Reports, Desktop Intelligence, Inxight, the Inxight Logo, LinguistX, Star Tree, Table Lens, ThingFinder, Timewall, Let there be light, Metiy, NSite, Rapid Marts, RapidMarts, the Spectrum Design, WebIntelligence, Workmail and Xcelsius are trademarks or registered trademarks in the United States and/or other countries o Business Objects and/or aliated companies. All other names mentioned hereinmay be trademarks o their respective owners June 2008 WP3140 A