Information Design Tool User Guide.pdf

March 27, 2018 | Author: Brian Cleveland | Category: Metadata, Information Science, Data Management, Information Retrieval, Technology


Comments



Description

Information Design Tool User Guide ■ SAP BusinessObjects 4.0 Support Package 01 2011-02-21 Copyright © 2011 SAP AG. All rights reserved.SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects S.A. in the United States and in other countries. Business Objects is an SAP company.All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. 2011-02-21 Contents Chapter 1 Getting to know the information design tool.........................................................................13 Introduction to the information design tool..............................................................................13 What is the information design tool?......................................................................................13 Who uses the information design tool?...................................................................................14 Introduction to resources and workflows................................................................................14 What design resources are available in the information design tool?.......................................14 How do you create a universe with the information design tool?.............................................16 Setting user preferences for the information design tool........................................................19 Resetting the user interface display........................................................................................19 Working with projects...........................................................................................................21 About local projects...............................................................................................................21 Creating a local project..........................................................................................................22 Resource names....................................................................................................................22 Saving resources as reports..................................................................................................22 About shared projects............................................................................................................23 Creating a shared project from a local project........................................................................24 Renaming a shared project.....................................................................................................24 Deleting a shared project.......................................................................................................25 About project synchronization................................................................................................25 Opening the Project Synchronization View.............................................................................28 Synchronizing a project..........................................................................................................29 Locking a resource.................................................................................................................30 Unlocking a resource.............................................................................................................31 Merging changes to shared resources...................................................................................31 About resource dependencies................................................................................................32 Showing local dependencies..................................................................................................33 Showing repository dependencies..........................................................................................33 Retrieving a published universe..............................................................................................34 Converting .unv universes....................................................................................................35 About .unv and .unx universes................................................................................................35 1.1 1.1.1 1.1.2 1.2 1.2.1 1.2.2 1.2.3 1.2.4 Chapter 2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 2.2.3 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.4 2.4.1 2.4.2 2.5 Chapter 3 3.1 3 2011-02-21 Contents 3.2 3.3 3.4 3.5 3.6 Chapter 4 About converting .unv universes ...........................................................................................35 Features supported when converting .unv universes..............................................................37 Tips for resolving check integrity errors after converting .unv universes.................................42 Converting a .unv universe in a repository..............................................................................43 Converting a locally-stored .unv universe...............................................................................44 Working with connections....................................................................................................47 What is a connection?............................................................................................................47 About local connections.........................................................................................................48 About secured connections....................................................................................................48 About connection shortcuts...................................................................................................49 About SAP NetWeaver BW connections...............................................................................50 Creating a relational connection.............................................................................................50 Name a connection................................................................................................................51 Set data source parameters...................................................................................................52 Select a middleware driver.....................................................................................................60 Creating an OLAP connection................................................................................................60 Select a OLAP middleware driver...........................................................................................61 Set login parameters for OLAP data sources.........................................................................61 Select an OLAP cube.............................................................................................................65 Creating a connection shortcut..............................................................................................65 About editing connections and connection shortcuts..............................................................65 Working with data foundations.............................................................................................67 What is a data foundation?.....................................................................................................67 About data foundation types..................................................................................................67 About the Data Foundation Editor..........................................................................................68 How to build a data foundation...............................................................................................69 About single-source data foundations.....................................................................................70 About multisource-enabled data foundations..........................................................................71 Data foundations with multiple connections............................................................................72 SQL expressions in multisource-enabled data foundations.....................................................72 Data foundations with NetWeaver BW connections...............................................................73 About connections in the data foundation...............................................................................74 Adding connections to a data foundation................................................................................74 Changing a connection in a data foundation...........................................................................75 About data foundation tables..................................................................................................75 Inserting tables into the data foundation.................................................................................76 Editing data foundation tables.................................................................................................77 Showing and profiling values in a table...................................................................................78 4.1 4.1.1 4.1.2 4.1.3 4.1.4 4.2 4.2.1 4.2.2 4.2.3 4.3 4.3.1 4.3.2 4.3.3 4.4 4.5 Chapter 5 5.1 5.1.1 5.2 5.3 5.4 5.5 5.5.1 5.5.2 5.5.3 5.6 5.6.1 5.6.2 5.7 5.7.1 5.7.2 5.8 4 2011-02-21 Contents 5.9 5.10 5.11 5.12 5.13 5.13.1 5.14 5.15 5.16 5.17 5.18 5.19 5.20 5.21 5.22 5.23 5.24 5.25 5.26 5.27 5.28 Chapter 6 About table keys....................................................................................................................78 About table row counts..........................................................................................................79 About column filters ..............................................................................................................80 About calculated columns......................................................................................................81 About joins.............................................................................................................................82 About join detection...............................................................................................................83 About cardinality....................................................................................................................84 About derived tables..............................................................................................................85 About merging tables.............................................................................................................86 About alias tables...................................................................................................................87 About contexts.......................................................................................................................88 Resolving loops......................................................................................................................89 About input columns..............................................................................................................89 About parameters and lists of values in the data foundation...................................................90 About data foundation properties...........................................................................................90 Showing local dependencies..................................................................................................91 About refreshing a data foundation.........................................................................................92 About custom data foundation views......................................................................................92 About table families................................................................................................................93 Inserting comments in the data foundation view.....................................................................93 Searching for tables and columns in the data foundation........................................................94 Working with business layers...............................................................................................95 What is a business layer?.......................................................................................................95 Creating a business layer.......................................................................................................95 Using the new business layer wizard......................................................................................96 About the Business Layer Editor............................................................................................99 About business layer properties...........................................................................................100 OLAP data source properties...............................................................................................101 Editing business layer properties..........................................................................................102 Changing the data source of a business layer......................................................................103 Working with business layer objects....................................................................................103 About business layer objects...............................................................................................103 Inserting an object into the business layer............................................................................115 Inserting an object directly from the data foundation.............................................................115 Editing business layer objects..............................................................................................116 Searching for business layer objects....................................................................................116 Changing display options of the business layer tree view.....................................................117 Defining keys for an object...................................................................................................117 About business layer views..................................................................................................118 Creating and editing a business layer view...........................................................................118 6.1 6.2 6.2.1 6.3 6.4 6.4.1 6.4.2 6.4.3 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.5.5 6.5.6 6.5.7 6.6 6.6.1 5 2011-02-21 ......................133 About the Query Panel.............133 About the Result Objects pane .............................................................................151 Reviewing check integrity problems............................10 6..........................................................................................................146 Working with prompts........................................................................137 About queries.....2.......144 About query properties...................135 About the Query Filters pane.....127 About navigation paths for objects.......1 Chapter 7 Filtering by business layer view...................................................................................................1 7...................10...................................................12.....Contents 6...................................1 7....................13 6................................5 8..........................................1..3 Chapter 8 8...............................1 6....152 Setting background integrity check...................................................................4 6..........................................9............................6.2...................1....................................................................................................................................................................................................4 8..................................................................................1 6.............................................................................127 Inserting a navigation path object into a business layer........................8 6......1...8..........2 7................................................................2 7...................151 Running check integrity..................................1................................................4 7......................................................130 Refreshing a business layer based on an OLAP cube ..........1.....................1 7.........................119 About query objects in a business layer.....................1 6....................................................................................................131 Using the Query Panel..................................................151 About check integrity.....................................9.......................1 6......1 8..............149 Checking integrity............119 Adding a query object to a business layer.......136 About the Member Selector.....................13..............................153 Check integrity rules for the data foundation .......................................................................................................124 Associating a list of values to a business object.............123 Inserting or editing a list of values ......................................................12 6........2 8.........................7 6.......................................................................122 List of values query options .......................................................120 About parameters ........5...............2 6.....................................................................121 About lists of values .............................5 6...154 7.......................................2..............................................................................131 Computing statistics for a multisource universe..............................................................11............2 6 2011-02-21 ....9....................144 About the different types of queries that you can create...133 Description of the Query Panel..............153 Check integrity rules for multisource universes.....................................9........1 6...............11 6...............3 8..........9..............................................120 Inserting and editing a parameter.....................3 6..............................135 About the Data Preview pane ......................3 7.........................2 7..................................5............................................128 About aggregate awareness............122 List of values column properties............................1 8..............................................9 6...................................................................................................................130 About computing statistics for optimized query execution ..........................5 7...................................................1 6....................................................................................7...................129 About refreshing a business layer.................2 6.............................................................................152 About check integrity rules........................126 Associating a list of values to a prompt defined in the business layer....129 Setting aggregate awareness.................................... ..................................................................158 Check integrity rules for MDX objects in OLAP universes..........................................................2 10....................................3 11.........3 11............................................................................................7 Chapter 9 Check integrity rules for Lists of Values (LOV)..................................................................................5.......2 9.......................................2.................Contents 8...............................3.........................5..5..................................................1..................187 Aggregation of Controls settings..............170 Opening a session...................3 Chapter 11 11...................173 Overview of universe security.................................................................4 11.......................184 Business Security Profile Filters settings.173 Introduction to security in the information design tool.....................166 Selecting a repository folder........161 Publishing resources.......................2 11.............................................................................................................5...................2................................................188 Aggregation of Rows settings.......2 10.......................................................................4........................................................................................1 9...........3 Chapter 10 10...................................172 Managing security.......................4.......1....178 Data Security Profile Controls settings...................................................................................169 About managing repository resources.......................................................177 Data Security Profile Connections settings..............182 Business Security Profile Create Query settings..................................................................................................................................................186 Aggregation of Connections settings.......................................................5 11.............................................................158 Check integrity rules for OLAP universes .............175 Data Security Profiles...................3 11............................................................155 Check integrity rules for parameters ............................................................2 11.....................................................1 11.....................................3 11..........5 8...........................2 9.............165 Publishing a universe..................181 Data Security Profile Tables setting..2.4 7 2011-02-21 ...................................................................1 11..................5............................................2..........3.............173 Overview of securing resources in the information design tool............................................................................................189 9..........157 Check integrity rules for Data Access Security Profiles...................167 Working with repository resources......1 11................................183 Business Security Profile Display Data settings....................2 11...167 Publishing a local connection to the repository.............................................................................169 About session management..............172 Running a query on a universe published in a repository........165 About publishing resources.........................187 Aggregation of SQL settings.....................3 8.......................1 9................................2...............1 11.........................2...........................1.......2.....................................................................4 8..........2....185 Security profile aggregation.................................1 10..................171 Closing a session.............4.............................................................................................................................................181 Business Security Profiles.4 11.................................................................................174 CMC rights for information design tool users...........................2.............2 11..............................4..................................................................................................................................3 11............................167 Selecting a local folder..............6 8.........................179 Data Security Profile SQL settings.............3........180 Data Security Profile Rows settings..............1 11..................1 10.............2 11.... .................................................................................................................................17 13............................18 13...............................................................211 JOIN_BY_SQL ............194 Opening the Security Editor.........................................................216 UNICODE_STRINGS..............................................16 13..........8 11.................195 Inserting and editing a security profile.............................................2..................10 13.......................................................................2...............................................212 REPLACE_COMMA_BY_CONCAT ....................................................................................................................................2..............203 About SQL Generation Parameters..................................4..213 SHORTCUT_BEHAVIOR..................215 THOROUGH_PARSE ............2..........216 13............................6 13.......................4.............6 Chapter 12 Aggregation of Tables settings.................................................................190 Aggregation of Create Query settings.................................................195 Changing Data Security Profile priority..............197 @Function reference.....................................2......................................................................................5.....................................................................2 11.......1 13.............5......................................................207 CUMULATIVE_OBJECT_WHERE ...2...........................................196 Assigning Security Profiles to users.........................5 11...........................................190 Aggregation of Display Data settings...............11 13...2.......................................................................................4 11..................2....19 13.....................5................193 Using the Security Editor..................................14 13...................................................................2.......................214 SMART_AGGREGATE ...13 13.......................................203 ANSI92..........................................................................................Contents 11................5 11..................................................2..........203 AUTO_UPDATE_QUERY ..........199 Chapter 13 SQL generation parameters reference.........211 INNERJOIN_IN_WHERE ............................................2.................................196 Displaying profiles assigned to a user and previewing net profiles.....5 11...2.....................................................................205 BOUNDARY_WEIGHT_TABLE ..............................192 Aggregation of Filters settings.......................................................................2................................................................2.....................................................................204 BLOB_COMPARISON..........9 13.......213 SELFJOINS_IN_WHERE ........................................................................................2.......22 8 2011-02-21 .....12 13.................215 TRUST_CARDINALITIES .........2.................................................4..........................................................2.......................................1 13................................................................................196 Changing security profile aggregation options............................................6 11...2........2...................4...........................................................................209 END_SQL ....3 11.2 13........................................................2............................................................................5...................................................................................................15 13..............212 MAX_INLIST_VALUES ........................2.................5 13..............................7 11..........204 BEGIN_SQL.........................................................................................................................................3 13.............5.....................1 11............4 13.....................2 13......................21 13......20 13....209 EVAL_WITHOUT_PARENTHESIS ...........................................8 13.............2.....7 13...............203 SQL generation parameters reference................5...208 DISTINCT_VALUES ...............................................................................207 DISABLE_ARRAY_FETCH_SIZE_OPTIMIZATION ....206 COLUMNS_SORT ........................................................................210 FORCE_SORTED_LOV ....... ........231 dayNameL......225 floor..........219 COUNT...........................................4 14.......3...............220 MIN..............................................18 14...................................................................................16 14.........................................................228 sign............................2..............2.............................3 14..........223 atan..........................................................229 sin.......233 dayOfWeek.................2.............................................................223 atan2.........................................................3.......222 abs................2 14.............................................................................................................2 14...............................2..............................1..................................................................................12 14.......................................................3...............226 mod..............221 SUM........223 ceiling....6 14..................................................................................2....................2......................................................................2......................................................24 14.224 degrees................................................1.........................3...............................232 dayOfMonth..................................................................................................14 14...................................................................................13 14.............................................................................................................................................................................222 Numeric functions..................20 14.............................21 14...............................3 14..........................231 dayName....227 power........................................................2................................2.................7 14.................................224 cos...................................2...............................220 MAX..........2.........................................230 trunc...............................................................................6 14............................................................1........1.2....................................................7 9 2011-02-21 .2...................................1 14.........................................................................................................9 14...............................2................225 log.........................................1............................................................2..........................................231 curtime..................2...................................233 14....2.....................3 14...........226 pi...8 14..................................................................................22 14.17 14..............................................................2.......227 rand...............................................227 radians.........................................10 14................................................................................................................................................................224 cot..................................................................................................................................................2.....................................................................................................................................................................................................................................................................................................................230 Date/Time functions.....................................................................................................................233 dayOfWeekL................................2............229 sqrt..............3 14................................2............229 tan...226 log10.......................................................................................................................................................................................................219 Aggregate functions...............................................................2.......................................................................228 round.....................3................................1 14................................23 14..................................3...........15 14...............................................223 asin.........................................................................................219 AVG.................................................19 14............................................................................................1 14.........................................................................4 14..............................................................11 14..5 14.......................231 curdate............................................3..........5 14.........5 14........................222 acos...............2 14....225 exp.................2 14........................................................................4 14..............................................................................................................................................................................................................1 14............2................................Contents Chapter 14 SQL function reference...............................................................................................................................2......................................................................................... ................................................................................................................................................................244 insert..................................................238 quarter..246 len...............................................13 14.....................................................241 year......................................6 14..........................................................................242 ascii.....................................................4..............9 14.....3..................................242 String functions.............................................................245 left..................................................................4................254 space.........3.................................................3.......................................16 14................................4..................235 hour...........................4......................................................1 14.......13 14................24 14.....................................243 concat............................4.............243 containsOnlyDigits..............................................................................................................................................4.................................3...............................................................................................3 14.....................................................11 14..................................................7 14.....................9 14..................................................................................250 repeat....23 14...........................................4.....................253 rPos...........4..........................10 14..3.......................................12 14...................................20 14...............248 pos....................................................4...............12 14.......................3.................................................................................3...........22 14..............................................4............................................253 rPad..........................4....................................11 14......................................................................4.....................................................................................................................................................................................................................247 permute......................................247 lTrim.....................Contents 14.............................................238 timestampadd...........................................255 10 2011-02-21 ..................................255 subString..........252 rightStr....................................................................................................10 14..................................................4.............................3.............4...................................................................................3......................237 now................239 timestampdiff.........................................8 14............................14 14......252 right............4............................................................................................21 14.............251 replaceStringExp......................................16 14.......................................239 trunc..........................................3....................................................3......4 14.3..................................................................................................241 weekL......................236 monthNameL.........................4.........................19 14............................247 lPad..........................3....5 14.4...14 14...2 14.............................................20 14...........................................................4.............................................................................................................................244 isLike........................................................................................................................................................................................23 dayOfYear......17 14....3.4...............17 14.................3..............................................................................................................4 14............22 14.......................................................................................................................................................15 14...4...................236 month.............................................................................................................................................................................................................251 replace......................246 leftStr........4.......18 14...............................................................................................235 incrementDays......................................................................................19 14........15 14.........................236 monthName.............................253 rTrim..........................234 decrementDays...............................................................................................3...........3.....................................................................................................................................................................................238 second.......................................21 14......8 14..................................................18 14..............................................................................................................4.......240 week.........................................................................................................................4...................................235 minute................243 char.. ...........275 val.........257 database..............................................................26 14..........................7 14.................257 nvl.......................................................................................................12 14...........................................................8 14.....................................269 toString.........................9 14.274 toTimestamp.261 intToHexa.................6..............................................................................................................................................................................................256 trim........18 14..............................................................................................6....6...............5 14................................6........................................................................5.......25 14........................................5.................6...14 14..6.....................................................................................................................................................................................258 user...............................................Contents 14.........................265 toDouble......................................................................................................20 14...........263 toDecimal.......................................................................276 Locale codes for functions in multisource-enabled data foundations......................................3 14..................273 toTimeL..................................257 ifElse......................................................7 Appendix A Index toLower............270 toStringL......................266 toInteger................4 14............................5.............279 281 11 2011-02-21 ..................................10 14.............16 14.....4..........................................................259 cast....................................6..................................................................................................................6...............................................268 toNull..5...................................................................17 14........6.............................6................................6...................................................271 toTime...........................................................................................................................6...............2 14..............................................6..........................................................................277 More Information...4 14.....................256 System functions..............6...................11 14............................................6 14............................................................................24 14..4.....................264 toDecimalL..262 toDate......................................................................................................................................15 14..............................19 14..............................................................................................................1 14.....260 convert................................................................................................................1 14................261 toBoolean.......................................6......................3 14...................................................................................................................................13 14....................................................................................2 14..........266 toDoubleL.......................................................................................................6..................6..6 14.................................................................256 toUpper...................................................260 hexaToInt.....................................................259 Conversion functions...............................................267 toIntegerL..................................6...................6...................................................................................................................................4..................5 14...............................................................................................................6....................262 toBooleanL.................................. Contents 12 2011-02-21 . The metadata object layer.1 Introduction to the information design tool 1. called the business layer. The SQL and MDX expressions within objects can be validated and queries run against the target databases to test the business layer. is built on a relational database schema or an OLAP cube. hierarchies. the information design tool provides the resources necessary to: • • • • Create connections to data sources. Extract a complete OLAP cube schema.1. A universe is an organized collection of metadata objects that enable business users to analyze and report on corporate data in a non-technical language.Getting to know the information design tool Getting to know the information design tool 1.1 What is the information design tool? The information design tool is an SAP BusinessObjects metadata design environment that enables a designer to extract. A universe includes connections identifying the data sources so queries can be run on the data. 13 2011-02-21 . Extract tables and joins to build a relational schema called a data foundation. and manipulate metadata from relational and OLAP sources to create and deploy SAP BusinessObjects universes. attributes. and queries. so the objects map directly to the database structures via SQL or MDX expressions. The user is free to analyze data and create reports using relevant business language regardless of the underlying data sources and structures. These objects include dimensions. The role of the universe is to provide the business user with semantically understandable business objects. Create metadata objects from the cube or the data foundation. pre-defined calculations. Universes created using the information design tool can be used by the following SAP BusinessObjects data analysis and reporting applications starting with version BI 4: • • • • SAP BusinessObjects Web Intelligence SAP Crystal Reports for Enterprise SAP BusinessObjects Explorer SAP BusinessObjects Dashboard Design To enable the designer to create universes. These objects are contained and organized in a business layer. define. functions. measures. When several people create universes. or a report creator who has acquired enough technical skills to create universes for other users. to be implemented by client applications in standalone mode (for example Web Intelligence Rich Client). it is important to define a set of rules or guidelines for terminology. one universe designer could be appointed for each application. department or functional area. and the connections into single universe file (.2.2 Introduction to resources and workflows 1. A security administrator also uses the information design tool to define universe security profiles. so that the objects are represented consistently.1.1 What design resources are available in the information design tool? 14 2011-02-21 . • Publish a universe locally. and publishing resources to create and deploy SAP BusinessObjects universes. 1. There can be more than one universe designer in a company. For example.2 Who uses the information design tool? The information design tool is a metadata modeling application. Publish a universe. a project manager. project.Getting to know the information design tool • • Share resources to allow multiple designers to work on the same resources concurrently. It provides the metadata extraction. The number of universe designers depends on the company's data requirements. an applications manager or developer. the data foundation. design. The user profile for an information design tool user is the same as the universe designer using BusinessObjects Universe Designer with previous releases. Create security profiles to define user access to universe data and metadata. • Related Topics • What design resources are available in the information design tool? 1. The universe designer may be a database administrator. which compiles the business layer.unx): • Publish a universe to a repository to be implemented in deployments of SAP BusinessObjects data analysis and reporting applications. A connection is a named set of parameters that define how a universe can access a relational or OLAP database. and other SQL definitions.Getting to know the information design tool The information design tool provides the following design resources that a designer uses to firstly extract metadata from relational or OLAP data sources. it is compiled with the connections or connection shortcuts and data foundation. The business layer is the universe under construction. calculated columns. A business layer is a collection of metadata objects that provides an abstraction of relational database entities or OLAP cubes. A query is a set of objects that define a request to the database for data. attributes. and when the business layer is complete. A project contains one or more resources that are used to build one or more universes. or via MDX expressions to an underlying OLAP cube. and predefined conditions. Data foundation Business layer Query 15 2011-02-21 . prompts. and deployed as a universe. measures. Objects map via SQL expressions to an underlying data foundation. published. understandable by a business user. and then to build a business layer of objects targeted to a specific user group: Resource Description A project is a named local workspace. or an object in a shared repository that is referenced by a local shortcut in the information design tool. hierarchies. A universe is always associated with at least one connection. Project A project can be shared so that multiple designers can work on the same resources. The data foundation becomes the basis of one or more business layers. A data foundation is a schema that defines the relevant tables and joins from one or more relational databases. These objects include dimensions. The designer enhances the data foundation with contexts. A query can be defined and saved in the business layer as a metadata object to be used to test objects in the business layer. Connection The connection can be a local file. 2. you must create a data foundation 16 2011-02-21 . and in this case are referred to as prompts. Parameters and lists of values can be defined in the data foundation. Universe The universe is used by SAP BusinessObjects data analysis and reporting applications.2 How do you create a universe with the information design tool? You create a universe when you publish a business layer as a single file (. except that for a universe based on a relational source. Parameters are often defined to prompt the user to supply a value. You can create a universe from two types of data sources: • • One or more relational databases An OLAP cube The process that you follow to create a universe is almost the same for both relational and OLAP data sources. This section describes the overall process you follow to build and use the resources necessary within the information design tool to create and deploy an SAP BusinessObjects universe.Getting to know the information design tool Resource Description A parameter is a variable in the universe that requires a value at query time.unx) to a repository or file system. Parameters and lists of values A list of values is a collection of data values that can be associated with an object in the universe. They are inherited by all business layers based on that data foundation. Related Topics • Creating a local project • What is a connection? • What is a data foundation? • What is a business layer? • About query objects in a business layer • About parameters • About publishing resources 1. A universe is a compiled file that includes all resources used in the definition of the metadata objects built in the design of the business layer. allowing the user to choose values for a prompt. where the business layer objects are visible for analysis and reporting. Parameters and lists of values can also be defined in the business layer. A secured connection requires a connection shortcut resource in the local project to reference the secured connection in the repository. business layers. Create a local project Yes Yes A project can contain any number of independent resources. A connection is an independent resource. This is not the case when you use a connection to an OLAP cube for the universe.Getting to know the information design tool before you can create the business layer. and you can select the objects directly for the universe. In the Repository Resources View. and create connection shortcuts. and connections. A relational connection can be used by multiple data foundations. the objects are presented from the cube structure. A connection can be stored as a local file on the file system. You use the New Connection wizards to define and save the connection parameters. for example a connection can be used by several data foundations within the same project. or it can be stored as a secured connection in a repository. You create a connection to a relational database or an OLAP cube. an OLAP connection or a data foundation can be used by multiple business layers. you can create secured connections directly in the repository. for example data foundations. You must create a project to store the resources in before you can create a universe. Define connections Yes Yes 17 2011-02-21 . You follow the following process to create a universe: Universe task Applies to relational Applies to OLAP Description A project is a defined workspace within the information design tool that contains the resources necessary to build a universe. All resources contained within a project can be used interchangeably. To build a relational business layer on multiple data sources. you start with a singe connection identifying the database source. hierarchies. so no intermediary mapping layer is required to build the business layer. or an OLAP cube.Getting to know the information design tool Universe task Applies to relational Applies to OLAP Description You create a data foundation for a universe based on relational databases. create a multisource-enabled data foundation. lists of values. measures. either a data foundation. the business layer must be based on a multisource-enabled data foundation. attributes. or to the local file system. Build data foundation You can also build a data foundation on multiple connections. The metadata objects are available directly from the cube. and other objects as the universe design requires. For relational business layers. or select columns to be mapped as objects. In this case. You do not create a data foundation for a universe based on an OLAP connection. You can create queries.unx) file to a repository. Yes No Publish universe Yes Yes 18 2011-02-21 . parameters (also called prompts). You publish the business layer as a universe (. For a single-source universe. you can choose to automatically generate objects in the business layer for all data foundation structures. The objects are displayed in a business layer pane. Build business layer Yes Yes For OLAP business layers. You can add dimensions. so that the published universe can access multiple data sources. and navigation path objects. objects are created for all structures in the cube. A business layer is the collection of metadata objects that you create based on a data foundation or an OLAP cube. You can validate the SQL or the MDX at any time. You use the New Business Layer wizard to choose the data source. Related Topics • About local projects • Creating a relational connection • Creating an OLAP connection • How to build a data foundation • Creating a business layer • About publishing resources • Overview of universe security • About managing repository resources 1. 1. Set the preferences and click Apply. 3.4 Resetting the user interface display 19 2011-02-21 .3 Setting user preferences for the information design tool You can set preferences to customize behaviors and visual aspects of the information design tool.2. expand the Information Design Tool node and navigate to the type of preferences you want to modify. including: • • • • 1. To set preferences specific to the application. 2. then click OK. Set check integrity rules Set automatic detection rules for the data foundation Set graphic display options for the data foundation Set the language of the user interface Select Window > Preferences The "Preferences " dialog box appears.2.Getting to know the information design tool Universe task Applies to relational Applies to OLAP Description Define universe security Yes Yes You define security on universes published to a repository using the Security Editor in the information design tool. select Window > Reset to Default Display. and hiding and splitting panels within the views. To reset the user interface to the default configuration. minimizing views. 20 2011-02-21 .Getting to know the information design tool The information design tool user interface can be customized by dragging and dropping editor tabs and views. Publish a business layer as a universe to the local file system or a repository. Other operations you can do on local resources include: • • • • • • Create a shared project so that you can share resources with other designers. Related Topics • Creating a local project • About converting . or migrated from an earlier version. Show dependent resources. is to create a local project in the Local Projects View.1 About local projects The first step in creating resources in the information design tool. Retrieve a published universe. Check integrity of data foundations and business layers. Publish a connection to a repository. You edit the resources using the information design tool editors by double-clicking the resource name in the local project. there are several ways you can populate it with resources: • • • Create resources using the wizards available on the New menu. For more information about these operations. Once you have created a local project.unv universes • Retrieving a published universe • About shared projects • About check integrity • About publishing resources • About resource dependencies 21 2011-02-21 .unv universe that was created with the universe design tool. You create and edit all resources (except secured connections and security profiles) in a local project. Save a resource as a report. The Local Projects View lets you to navigate local projects and open resources in the information design tool.Working with projects Working with projects 2. see the related topics. Convert a . The resources and folders in a local project are stored as physical files and folders in the local file system. 1 Creating a local project 1. enter a file path and file name for the report.1. For larger resources (data foundations and business layers). In the "Generate Report" dialog box.Working with projects • Saving resources as reports 2. To generate a report. .pdf. 2. Related Topics • What design resources are available in the information design tool? 2. To select a different local folder to contain the local project.html. Select File > New > Project.3 Saving resources as reports You can save any resource in a local project as a report in a local file. Click Finish. you can select which metadata elements to include in the report by selecting the check boxes in the Metadata Elements box. 4.1. In the Project Location text box. the default local file path displays. and select Save As. 3. 3. The generated report can have a file type of . data foundations. Click the in the Report Location text box. click the in the Project Location text box.1. 22 2011-02-21 . 4.txt. The name must be unique within the local project. Select a location in the local file system. You can optionally enter a description of the resource. and business layers in the local project. Click Generate to create the report. 2. right-click the resource name in the Local Projects View. 1. The project is created in the local file system and displayed in the Local Projects View. You give a name to the resource when you create it. 2.2 Resource names Resource names identify the connections. Give the project a unique name. or . 3. From the Project Synchronization View. If you do not already have a local version of the project. any designer can unlock the resource if necessary. Synchronize the resources in the project that you want to share. lock the resources you want to work on. Note: You may want to review the changes made on the server before updating them in the local project. The resources are available in the shared project for other designers to access. 4. 3. The Project Synchronization View lets you navigate shared projects and their contents. your lock informs them that you are making changes. If you want to work on existing resources that other designers are also working on. Synchronize the project to update the resources in the local project with the latest changes saved on the server. use the following general workflow: 1. in a selected shared project. 2. in the Project Synchronization View. Note: Locks are available as a communication tool between designers. see the related topic on merging changes in shared resources. share the local project. This creates a shared project on the server with the same name. synchronize the project to save your changes on the server. one is created in the Local Projects View. It also prevents other designers from updating these resources in the shared project while you have them locked.Working with projects 2. If you want to create resources that more than one designer will work on. When other designers open the Project Synchronization View. However. You synchronize resources between the local and shared projects so that other designers can work on them. For more information. When the resources are ready. Create resources in a local project. Once you have made your changes. use the following general workflow: 1. Related Topics • Creating a shared project from a local project • Synchronizing a project • Locking a resource • Unlocking a resource • Merging changes to shared resources 23 2011-02-21 .2 About shared projects A shared project is a project in a repository that lets you make resources available to other designers. Unlock the resources. 2. Working with projects 2. Right-click and select New Shared Project.1 Creating a shared project from a local project The shared project will have the same name as the local project. the shared project is empty. Local projects with the original name are no longer associated to the shared project with the new name. select the repository system session you want to open and enter your system authentication. The resources in those local projects can no longer be synchronized with the newly named shared project. To create a local project with the new name in the Local Projects View. Related Topics • Renaming a shared project • Opening a session • Synchronizing a project 2. Note: To rename an existing shared project. The Project Synchronization View opens showing a shared project with the same name as the local project. Enter a new name that is unique in the repository. 5. see the related topic. Open the Project Synchronization View with a session on the repository system where the shared project is saved. 1. For more information about renaming shared projects. Click the Rename Shared Project icon . 2. 3. A project with this name cannot already exist in the repository. 1. In the Project Synchronization View. In the Local Projects View. At this point. use the rename command in the Project Synchronization View. select the project you want to share. 4. 2.2. synchronize the project.2. In the "Open Session" dialog box. synchronize the resources you want to save in the shared project. 24 2011-02-21 . Select the shared project from the Shared Project list box.2 Renaming a shared project Use this procedure to rename a shared project that exists in the repository. 3. Working with projects Related Topics • Opening the Project Synchronization View • Synchronizing a project 2. 25 2011-02-21 . The status is determined by comparing the resources in the local and shared projects. Synchronization detects added resources. Resources in the local projects associated to the deleted shared project are not affected.2. and differences between the resources. 2. Status Description Added Locally The resource was added in the local project. Use the Project Synchronization View to synchronize a project. Open the Project Synchronization View with a session on the repository system where the shared project is saved. The Synchronization Status pane lists the status of each resource. but not in the shared project. Other information about the resources on the server are given: the user who last modified the resource and on what date. Note: Deleting a shared project cannot be undone. The shared project is deleted from the repository. • The different synchronization statuses and what they mean are listed in the table. A lock icon appears next to the resource if it is locked. Select the shared project from the Shared Project list box. Based on the differences detected. deleted resources.3 About project synchronization Synchronizing a project starts with comparing the resources in a project in the Local Projects View with an associated shared project on the repository server. The view displays synchronization information in two panes: • The Shared Project pane lists the resources in the shared project on the server. the user who locked the resource and on what date. Click the Delete Shared Project icon . you can update the local and shared resources.3 Deleting a shared project 1. 2. 3. however synchronization statuses of the local project are lost. The resource was changed in the shared project. When you select the resources to be synchronized. The resource exists in the local project. • A resource with the same name was added both in the local and shared projects since the last synchronization. The resources are identical. Conflicting Synchronized Three commands allow you to synchronize resources. but deleted from the shared project. The following table summarizes the possible synchronization actions.Working with projects Status Description Changed Locally Deleted Locally Added on Server Changed on Server Deleted on Server The resource was changed in the local project. but not in the shared project since the last synchronization. Any of the following situations creates a conflicting status: • The resource was changed in both the local and shared projects with different changes since the last synchronization. but was deleted in the shared project. 26 2011-02-21 . but not in the local project since the last synchronization. The resource is not in the local project but exists in the shared project. The resource was deleted in the local project but still exists in the shared project. but deleted from the local project. • The resource was changed in the local project. • The resource was changed in the shared project. you can select individual resources or folders. For more information. If the status is Deleted on Server. or deleted) is copied to the shared project. regardless of the change made in the shared project. added. If the status is Conflicting. no action is taken. Save Changes on Server 27 2011-02-21 . the resource in the local project (whether it is changed. • If the status is Conflicting. For the selected resources: • If the status is Added Locally . the resource is updated in the shared project on the server. the resource is added to the shared project on the server. Note: If a resource is locked by another user. an error message displays and the changes and deletions are not made on the server. For all other statuses. the resource is deleted from the local project. If the status is Changed on Server. For all other statuses.Working with projects Icon Command Synchronization Action For the selected resources: • • • • Get Changes from Server If the status is Added on Server. the resource is added to the local project. • If the status is Deleted Locally . the resource on the server (whether it is changed. regardless of the change made in the local project. added. the resource is deleted from the shared project on the server. no action is taken. • If the status is Changed Locally . the resource is updated in the local project. or deleted) is copied to the local project. Note: You may want to review the changes made on the server before updating them in the local project. see the related topic on merging changes in shared resources. Shows/Hides the resources with a status of Conflicting.1 Opening the Project Synchronization View 1. Revert Changes The list of resources in the Synchronization Status pane can be filtered on status using the icons in the pane's tool bar: Shows all resources. This clears the filters and lists all resources regardless of their statuses.3.Working with projects Icon Command Synchronization Action For the selected resources. Shows/Hides the resources in the local project that have changed with respect to the server. click the Project Synchronization bar . whereas Get Changes from Server preserves the new local resource. To open the Project Synchronization View. icon in the tool 28 2011-02-21 . Note: Revert Changes updates the local project in the same way as Get Changes from Server with the exception that if a resource has been created in the local project and has not yet been saved on the server. Shows/Hides the resources on the server that have changed with respect to the local project. the local project is updated with the shared project on the server. regardless of the status. Revert Changes deletes the new local resource. Shows/Hides the resources with a status of Synchronized. Related Topics • Synchronizing a project • Locking a resource • Unlocking a resource • Merging changes to shared resources 2. 4. For more information about synchronization status and possible actions. • To update the shared project with changes made locally. Synchronize a project when you want do the following tasks: • • • • 1. select the resources in the list and click the Get Changes from Server icon . To see the latest synchronization status of the resources in the project. Note: You may want to review the changes made on the server before updating them in the local project. you can manage shared projects. in the pane labeled Synchronization status (Local Project Compared to Shared Project) .2 Synchronizing a project To synchronize a project. expand the project and click the refresh icon . Related Topics • Opening a session • About project synchronization 2. and select a project to synchronize in the Shared Project list box. Save in the shared project the changes you made to local resources. a local project is created. Revert local resources to the copy stored in the shared project. 2.Working with projects 2. Update local resources with changes stored in the shared project. select the resources in the list and click the Save Changes on Server icon. 29 2011-02-21 . Open the Project Synchronization View with a session on the repository system where the shared project is saved. see the related topic about project synchronization. 3. If no project exists in the Local Projects View with the name of the shared project. Create a local copy of a shared project. Synchronize the project: • To update the local project with resources that have changed in the shared project. After entering your authentication information.3. the project must be shared. . Select the shared project from the Shared Project list. For more information. see the related topic on merging changes in shared resources. Click the Change Session icon in the Project Synchronization View to open a session on the repository system where the shared projects are saved. Working with projects Note: Resources that are locked by another user cannot be updated on the server. Right-click the resource and select Lock. any user can unlock the resource. expand the project.3. Open the Project Synchronization View with a session on the repository system where the shared project is saved. 3. Note: The lock action does not update the resource contents in either the local or shared project. In the Shared Project pane. synchronizing the changes does not unlock the resources. 2. 2. If you are updating the server with resources that you have locked.3 Locking a resource To lock a resource. 4. 1. synchronize the resource. if needed. Related Topics • Opening the Project Synchronization View • About project synchronization 30 2011-02-21 . select the resources and click the Revert Changes icon Related Topics • About project synchronization • Opening the Project Synchronization View • Locking a resource • Unlocking a resource • Merging changes to shared resources . the resource must be in a shared project. To save any changes. You must explicitly unlock the resources on the server. Select the shared project from the Shared Project list box. Lock a resource when you want to inform other designers that you are working on the resource when they open the Project Synchronization View. • To revert resources in the local project with the copy stored on the server. However. This project is shared in a repository. lets say you are working on a resource called NewDatafoundation in a local project. synchronize the resource. you may want to review the changes and decide which changes to apply to the local resource. other designers can lock it and/or update the server version with changes. right-click NewDatafoundation and select Copy. In the Project Synchronization View.3. 4. Right-click the resource and select Unlock. 31 2011-02-21 . or Conflicting.Working with projects 2. you can unlock a resource locked by another user. In the local project. Once you have unlocked the resource. 1.4 Unlocking a resource Unlock a resource once you have updated your changes on the server and you want to inform other designers that you have finished. 2. 3. before getting changes from the server. 3.5 Merging changes to shared resources When synchronizing a shared resource. Open the Project Synchronization View with a session on the repository system where the shared project is saved. In the Shared Project pane. NewDatafoundation has a synchronization status of Changed on Server. A copy of NewDatafoundation is saved in the local project. For example. Note: The unlock action does not update the resource on the server with any changes made in the local project. expand the project. Related Topics • Opening the Project Synchronization View • About project synchronization 2. When you synchronize the project. Select the shared project from the Shared Project list box. Right-click again (in the local project) and select Paste. 2. The following procedure presents a way to manually merge changes between differing resources. Note: If necessary. To review and manually merge the changes: 1.3. To save any changes. select NewDatafoundation and synchronize by selecting Get Changes from Server. you can delete Copy of NewDatafoundation from the local project. column. Any changes to <Connection Z> could impact <Data Foundation A> and its dependent resources. may impact other resources that depend on it. Eventually. 2. The Referenced Resources tab lists the <Connection Z> . delete any server changes you do not want to keep. Dependencies between local resources The Show Local Dependencies command shows the dependencies between resources in a local project. In the Project Synchronization View. Each copy will open in a separate tab of the editor. To help you understand the impact of changes and plan your work. Save the changes to NewDatafoundation in the editor. once you have verified the merged changes. Example: You want to list all the resources that would be impacted if you change the <Data Foundation A>. 32 2011-02-21 . or updating it. You select the Show Local Dependencies command on the <Data Foundation A>.4 About resource dependencies Making changes to a resource. or business layer object. In the editor tab with NewDatafoundation open. such as deleting it from a local project. 8. The Dependent Resources tab lists <Business Layer X> and <Business Layer Y>. refresh the synchronization. These business layers contain references to <Data Foundation A>. 6. commands exist that show the dependencies between resources and their objects. Dependencies between objects and local resources In the data foundation and business layer editors. The data foundation references this connection.Working with projects 4. Compare the changes from the server in NewDatafoundation to your local changes in Copy of NewDatafoundation. Open both NewDatafoundation and Copy of NewDatafoundation in the Data Foundation Editor by double-clicking each resource name in the local project. and add any changes that you made locally that you want to keep. and would contain invalid references if you delete or change <Data Foundation A> . 7. Update the server by selecting NewDatafoundation and then selecting Save Changes on Server. You are warned of the impact before you delete or move a resource. you can also use the Show Local Dependencies command to show the local resources that depend on a particular table. moving it to another local project. 5. or depend on.2 Showing repository dependencies To show universes in a repository that depend on a selected resource: 1. Related Topics • Showing local dependencies • Showing repository dependencies • Showing local dependencies 2.Working with projects Dependencies between local resources and repository resources The Show Repository Dependencies command lists the universes published in a particular repository that are referenced by the selected data foundation or business layer. 3. The Referenced Resources tab lists the resources in the same local project that are referenced by the selected resource. The Dependent Resources tab lists the resources in the same local project that contain references to. 2. The published universes in the repository that reference the selected resource are listed.1 Showing local dependencies To show resources in the local project that depend on a selected resource: 1. 2. Right-click and select Show Repository Dependencies. and enter the authorization information. Right-click and select Show Local Dependencies. In the Local Projects View. Related Topics • About resource dependencies 2. the selected resource.4. Related Topics • Opening a session • About resource dependencies 33 2011-02-21 . Select a session for the repository system where the resources are published. select the resource for which you want to show the dependencies. In the Local Projects View.4. select the resource for which you want to show the dependent resources published in a repository. Follow the instructions on the wizard pages. the resources are retrieved into the local project and are secured locally by requiring you to enter the CMS authentication when opening a retrieved data foundation or business layer. When the wizard finishes. Note: By default. • To retrieve a published universe from a local folder. select the project in the Local Projects View. 2. Right-click the universe and select Retrieve Universe. 1. right-click the project and select Retrieve Universe > from Local Folder.5 Retrieving a published universe To retrieve a published universe. Start the Retrieve a Published Universe Wizard: • To retrieve a published universe from a repository. To remove the local security requirement.Working with projects 2. select the project in the Local Projects View. connection shortcuts. right-click the project and select Retrieve Universe > from a Repository. For more information about what to do on a particular page. You can also retrieve a universe from the repository in the Repository Resources View. Related Topics • Opening a session • Selecting a repository folder • Creating a local project 34 2011-02-21 . select the Save for all users check box when selecting the universe in the repository. you must have a project in the Local Projects View where the business layer and referenced resources are to be saved. click the help icon. data foundation) are created in the local project and are ready to be edited. the business layer and its dependent resources (connections. Related Topics • About converting . and universes created in previous versions.unv Universe command converts a .unv universes 3.unv universe refers to a universe created with any SAP Business Objects XI 3 design tool.unx universes You can use the Convert . The Convert .unx universe. the universe is stored with a file name of <universe name>. you must convert them.unv and .unx universe format.Converting .unv universes 3.unv universes Converting .unv universes can be converted? You can convert the following types of .unv universe to the . What .unx. for example Universe Designer. The following SAP Business Objects BI 4 design tools create .1 About . This is called a . What is a .unv universes: 35 2011-02-21 . What is a .unv universes: • • The universe design tool (new name for Universe Designer) The universe design tool desktop edition (new name for Universe Designer Personal) The universe is stored with a file name of <universe name>.unx universe? When you publish a universe using the information design tool.unv universe? A . or in a repository.unv universes in the information design tool.2 About converting .unv universes Before working with .unv in a local folder.unv Universe command in the information design tool to convert a universe created with other SAP BusinessObjects universe design tools. You can then work on the converted universe in a local project as you would a universe created with the information design tool. 0 or later. 36 2011-02-21 . follow the procedure for converting a . For more information.unv universes How you convert .unv universe in a repository. For details of the conversion procedures.unv universes • • Relational universes created using the SAP BusinessObjects BI 4 tools universe design tool or universe design tool desktop edition.unx universe in the repository with the associated universe and connection rights. see the Related Topics. The following table describes the steps to follow for different conversion scenarios. Note: Before you can convert universes created in version XI 3 that are saved in a repository. In the information design tool. and whether the universe is stored locally or in a repository. A . In the information design tool.Converting . see the SAP BusinessObjects Business Intelligence platform Upgrade Guide. A .unv universe in a repository. Universe to convert Workflow First upgrade the universe in the repository to the latest version using the upgrade management tool.unx universe in the repository with the associated universe and connection rights. Relational universes created using SAP BusinessObjects Enterprise XI 3 design tools. You cannot convert the following types of .unv universe that has been saved in a repository using XI 3 design tools. The conversion creates an equivalent .unv files depends on the software version of the tool that was used to create the universe. you must upgrade the universes using the upgrade management tool.unv universe that has been saved in a repository using the universe design tool release BI 4.unv universes: • • • • OLAP universes Stored procedure universes Universes based on a Data Federator data source Javabean universes Note: It is not possible to convert Business Views created with Business View Manager XI 3 to a format compatible with version BI 4 reporting tools. follow the procedure for converting a . The conversion creates an equivalent . How to convert . 3 Features supported when converting .unv universe • Features supported when converting .unx universe. and to take advantage of new universe features. Publish the business layer to create the .unv universes • Tips for resolving check integrity errors after converting .unv universe features are supported and how they are implemented in the . The conversion creates the equivalent universe resources (data foundation. 37 2011-02-21 .unv universe.unv universes are implemented differently in the . After converting . follow the procedure for converting a locally-stored .unv universes When converting a .unv universe in a repository • Converting a locally-stored . see the related topic. Related Topics • Converting a . For a description of the supported features and how they are implemented in . This gives you the opportunity to check and test the converted universe before changing the documents that depend on it.unv universe is preserved.unv and .unv universe.unx universes 3. For certain features. Some features of . The table below indicates which .unv universes • About .unv universe.Converting . In the information design tool. business layer.unx universe. Documents in SAP BusinessObjects query and reporting tools based on the universe are still linked to the . and local connection) in a local project. you can edit the universe resources in a local project in the information design tool to check and correct inconsistencies. it is recommended to refresh the structure of the data foundation and run a check integrity on the universe. tips are described for obtaining best conversion results.unv universes When converting a .unv universe with the information design tool.unv universe that has been created using version XI 3 or later design tools. see the related topic. the conversion process creates equivalent features in the converted universe.unx universe. After converting the universe.unx universes. Once you have converted a universe. the . Note: A locally-stored universe refers to a nonsecured universe that was saved for all users. For tips on resolving check integrity errors on converted universes.unv universes Universe to convert Workflow Any locally-stored . In the data foundation editor. a dimension is created for each active level in the hierarchy. see the related topic.unv universe Feature in converted . including properties for mandatory filters) All translated strings. • measures (including aggregation function) • details (converted to attributes) • conditions (converted to filters. Universe schema Universe outline The objects in the universe outline are created in the business layer with all their properties: • Classes and sub classes (converted to folders) • Dimensions. you can take advantage of the simplified contexts feature. • Contexts Tip: Contexts are converted with all joins explicitly included or excluded. Multilingual universe 38 2011-02-21 . and locale settings are converted.unv universes Feature in original .unx universe The objects in the universe schema are created in the data foundation: • Tables • Alias tables • Derived tables (including nested derived tables) • Joins (including shortcut joins) • Self-joins (converted to column filters) Tip: @Prompts in self-join expressions may require manual intervention after conversion.Converting . See the related topic on resolving check integrity errors. language settings. For time hierarchies. For more information about contexts. You can manually restrict the context definition to the ambiguous parts of the schema using neutral joins. the conversion automatically includes all core universes that the derived universe is linked to. Tip: Check and reset custom settings to SQL generation parameters in the data foundation properties and business layer properties. The business layer contains all classes.unv universe Feature in converted . A derived universe contains a link to a core universe. multiple SQL statements. or contexts that were defined in the derived universe. joins. Universe SQL Parameters: SQL restrictions You can edit the Allow Cartesian products and Multiple SQL statements for each context restrictions in the data foundation. When you convert a derived universe. Strategies Universe Parameters: SQL generation parameters 39 2011-02-21 . Query.unx universe A core universe is converted like any . objects and conditions that were defined in the derived universe. Customizations to SQL generation parameter settings in the PRM file or in the universe parameters are not converted. Universe Controls Parameters: Query Limits Linked universe (core and derived) Query limits are converted and can be edited in the business layer. The conversion of a core universe does not trigger the conversion of the derived universes that depend on it. objects. For information on setting SQL parameters.Converting .unx universes. You can add customized values to the converted PRM file. You do not need to convert the core universes ahead of time as a separate step. and Cartesian product controls are converted. and conditions from all core universes including the classes. see the related topic. and customize universe parameter settings in the converted universe using the information design tool. The data foundation of the converted universe contains all the tables and joins from all core universes and any tables.unv universes Feature in original . Edit all other SQL restrictions in the business layer. Custom strategies are not supported in .unv universe. you have the option to automatically create a named parameter for the prompt in the business layer. For more information. Tip: Parameters and lists of values in the information design tool can be defined independently from the objects that they reference. and in SQL expressions in the data foundation are supported. See the related topic on resolving check integrity errors. @Prompt expressions in the data foundation are not converted. Prompts Lists of values Named lists of values are created in the business layer for dimension and measure objects that specify a list of values. @Prompts in self-join expressions may require manual intervention after conversion.unv universes Feature in original . Tip: The @Prompt function has a new alternative syntax to take advantage of named parameters.Converting .unv universe Feature in converted . @Prompts in dimension and measure expressions in the business layer. When converting.unx universe @Functions The following @functions are converted: • @Aggregate_Aware • @Prompt • @DerivedTable • @Select • @Variable • @Where The syntax for all functions is supported. see the related topic. 40 2011-02-21 . You can therefore reference a named parameter or list of values in more than one business layer object. see the related topic. The connections are published in the same Connections folder in the repository. For example. universe Access Restrictions are converted into security profiles that can be edited using the Security Editor: • Access Restrictions (except object restrictions) are converted to settings in a Data Security Profile. personal and shared connections are converted to local connections. you can allow a user to create a query although the user is not allowed to see the corresponding data. Connections Tip: Relational connections can be created and shared by the universe design tool and the information design tool.unv universes. 41 2011-02-21 .Converting . the same secured relational connection is used by both the .unv universe Feature in converted . When converting a locally-stored (non-secured) universe.unv universes Feature in original . priority is assigned to Data Security Profiles instead of groups. When converting a universe in a repository. If you retrieve the converted universe into a local project. Note: For . a connection shortcut is created that references the secured connection in the repository. if a user belongs to different groups. For more information about universe security in the information design tool. the priority assigned to the groups determines what access restriction the user inherits if he has no access restriction assigned.unx universes. you can take advantage of the feature allowing you to assign more than one security profile to a user or group. the group profile is used. Tip: In the Security Editor. Tip: Business Security Profiles allow you to secure the metadata separately from the data. When converting a universe in a repository. If the priority for the profile assigned to the group is higher than the priority of the profile assigned to the user. Security assignments and priority Group priority for access restrictions is converted. • Object Access Restrictions are converted to Create Query and Display Data settings in a Business Security Profile.unv and . In the converted universe. user and group assignments are converted.unx universe Access Restrictions When converting a universe in a repository. unv universes Related Topics • Tips for resolving check integrity errors after converting . For example. Click the Parameters and Lists of Values tab. define a LOV based on custom SQL for Language. The join expression for the filter contains the @Prompt. Errors on self-joins with @Prompts If a join expression in the . 42 2011-02-21 . the converted join needs to be reworked in the data foundation. Change the join expression to reference the new prompted parameter. Open the data foundation by double-clicking the data foundation name in the Local Projects View 2.unv universe contains an @Prompt with a list of values referring to an object. Select the option Prompt to users and associate the Language LOV to it. edit the column filter in the dimProductStrings table. it is recommended to run a check integrity in the information design tool on the converted universe. In the data foundation Parameters pane.LanguageID= @Prompt('Language'.unv universes • About the Data Foundation Editor • About contexts • About SQL Generation Parameters • @Function reference • About the Business Layer Editor • Overview of universe security 3. the data foundation contains a column filter on the dimProductStrings table.4 Tips for resolving check integrity errors after converting . SELECT "LANGUAGES". 3."LANGUAGECODE" FROM "LANGUAGES". The descriptions use the following example: The . In the data foundation Lists of Values pane. In the data foundation. After converting the universe. "LANGUAGES".unv universes After converting a . 4. for example: dimProductStrings. The self-join expression is dimProductStrings.LanguageID= @Prompt(Language). define a parameter for Language. Errors on column data types Refresh the structure in the data foundation just after the conversion.'Lan guage\Language Id'.unv universe contains a self-join on the dimProductStrings table with a prompt called Language. The steps to follow for two possible solutions are described."LANGUAGEID". 5.constrained).'N'. The first solution consists of creating a prompted parameter and list of values (LOV) in the data foundation: 1. Certain errors in the check integrity results can be resolved by following the best practices described below.mono. This avoids data-type errors in the integrity check.unv universe.Converting . create a filter with an expression that refers to the Language prompted parameter.5 Converting a . for example: dimProductStrings. Save and close the data foundation. define a LOV based on custom SQL for Language. see the SAP BusinessObjects Upgrade Guide. you must first upgrade the universe using the upgrade management tool. If the ."LANGUAGEID". 3.unx universe into a local project in order to work on it. check the box Use filter as mandatory in the query. In the Properties tab of the filter definition.unv Universe . For more information about upgrading universes. select File > Convert . Save and close the data foundation. In the business layer Parameters pane. Open the business layer in the editor.Converting . Related Topics • About refreshing a data foundation • About the Data Foundation Editor • About parameters and lists of values in the data foundation • About column filters • About the Business Layer Editor • About parameters • About lists of values • About filters 3. in the folder associated with Product. 1. In the business layer. 43 2011-02-21 . In the business layer Lists of values pane.unv universe was created with a design tool version earlier than SAP BusinessObjects BI 4. 7. The second solution consists of using a mandatory filter in the business layer: 1. define a parameter for Language. In the "Convert a .unv Universe" dialog box. In the information design tool. SELECT "LANGUAGES". Save and close the business layer.unv universe from a repository icon . 2. you must first have a local project folder in the Local Projects View. Select the Filter scope of Apply on Folder. If you want to retrieve the converted . 2."LANGUAGECODE" FROM "LANGUAGES".unv universe in a repository The . Keep the default option to Prompt to users and associate the Language LOV to it. 4. 8. Open the data foundation in the editor and delete the column filter on the dimProductStrings table that contains the @Prompt. For example. click the Select . 5.unv universe to be converted must be stored in a repository compatible with the information design tool.LanguageID= @Prompt(Language).unv universes 6.0. "LANGUAGES". 6. Click OK to start the conversion.6 Converting a locally-stored . 2. Related Topics • Features supported when converting .unv universe from the local file system icon . After conversion.unv Universe .unv universes • Opening a session • Creating a local project • About parameters • About refreshing a data foundation • About check integrity • Tips for resolving check integrity errors after converting . click the Browse button next to the Destination Local Project Folder field.unx universe into a local project in order to work on it. it is recommended to refresh the structure of the data foundation. 4.unv universe You need to define a local project folder in the Local Projects View in which to save the resources of the converted universe. If you want the conversion to create named parameters for prompts. For more information about named parameters. In the "Convert a . 1.unv universe is saved. 8. Click the Browse button next to the Destination Local Project Folder field. see the related topic. Open a session on the repository where the . 44 2011-02-21 . select File > Convert . If you want to retrieve the converted . and select a folder in the repository where you want to save the converted . For more information about named parameters.unx universe. and click OK. Click the Browse button next to the Destination Repository Folder field. and click OK.unv Universe" dialog box. select the universe. If you are retrieving the converted universe into a local project and want remove the local security requirement so that any user can open the universe resources without entering repository authentication. If you want the conversion to create named parameters for prompts. In the information design tool. check the box Automatically convert @Prompt expressions into universe named parameters. 6. check the box Save for all users. and select the universe you want to convert. select a project folder. then run a check integrity on the universe to detect problems in the conversion. click the Select . 5. check the box Automatically convert @Prompt expressions into universe named parameters. 3. 5. and click OK.Converting .unv universes 3. select a project folder. 7. see the related topic. Click OK to start the conversion. see the related topic.unv universes 3. For tips on resolving check integrity errors. 4. it is recommended to refresh the structure of the data foundation. see the related topic.unv universes The conversion creates the equivalent universe resources (data foundation.Converting . The Publishing Wizard allows you to run a check integrity on the universe (recommended).unv universes • Creating a local project • About parameters • About refreshing a data foundation • Publishing a universe • About check integrity • Tips for resolving check integrity errors after converting .unx universe file. For tips on resolving check integrity errors. business layer.unv universes 45 2011-02-21 . Publish the business layer to create the . After conversion. and local connection) in the specified local project folder. Related Topics • Features supported when converting . Converting .unv universes 46 2011-02-21 . either as part of a universe definition. For an OLAP data source. OLAP data source for a business layer Access to an SAP NetWeaver BW BEx Query Connections can be either local or secured. but the connection provides direct access to the cube. Local connections are saved as independent objects on the local file system as .. The connection can be a local file. The business layer is published as a universe. or a remote object in a repository that is referenced by a local shortcut in the information design tool. Description You associate one or more relational connections to a data foundation. the connections and data foundation are integrated in the universe and provide the data for queries run against the universe. it is stored as a secured connection in the Connections folder or subfolder. Relational data source for data foundation When you publish the business layer as a universe. A connection 47 2011-02-21 . You define SAP NetWeaver BW connections that use the SAP BICS Client middleware driver to provide access to a BEx Query.Working with connections Working with connections 4. You use connections for the following purposes: Connections used for.1 What is a connection? A connection is a named set of parameters that define how one or more SAP BusinessObjects applications can access relational or OLAP databases.. SAP BusinessObjects query and reporting applications connect directly to the BEx Query. or as a separate resource. You create local connections in the information design tool local project. For more information see the related topic about SAP NetWeaver BW connections. and build a business layer on the data foundation. You cannot use these connections as a source for business layers or universes. you associate a business layer directly to a connection.cnx files. When you publish a connection to the repository. Local connections have limited or no security as they can be used by any user with access to the machine running the information design tool.1. but editing a published connection can only be done with the appropriate repository system authorization. Note: To create a multisource-enabled data foundation. or to build lists of values. Local connections are primarily used in the authoring phase of data foundation and business layer development. Local connections are used for the following purposes: • To access relational data sources when authoring a data foundation and relational business layer. Once the business layer has been published as a universe to the repository. however. Related Topics • About local connections • About secured connections • About SAP NetWeaver BW connections • Creating a relational connection • Creating an OLAP connection • About editing connections and connection shortcuts 4.2 About secured connections 48 2011-02-21 .Working with connections shortcut is created in the local project that allows access to connection properties.1 About local connections All connections created in the local project are local connections before being published to a repository. When a connection is published. the connection is secured. a connection object containing the same parameters as the local connection is created in the Connections folder or subfolder in the repository. 4. the target connection is secured and subject to security restraints in the repository. you must reference secured connections. A local shortcut is created for the connection in the local project. The connection shortcut is available locally. You can also create secured connections directly in the repository using the Insert Relational Connection and Insert OLAP Connection commands from the Repository Resources View. and also enables the connection to be associated to other data foundations or business layers. • • To access an OLAP cube when authoring an OLAP business layer. You can use the shortcut in the same way as a local connection.1. To run queries on a target database to test modifications in the business layer. A connection shortcut is an object that references a secured connection in a repository. You can create subfolders in the Connections folder to organize the storage of connections in the repository.cns file on the local file system. The shortcut contains the repository address and port number.3 About connection shortcuts A connection shortcut is an object that references a secured connection in a repository. Connections can only be shared and used by authenticated users. You use a connection shortcut when authoring. As a data source when creating a data foundation or OLAP business layer. The shortcut can be used in the same way as a local connection.1. the connection properties can only be modified by connecting to the repository system. Secured connections and connection shortcuts are used for the following purposes: • • • To retrieve data for universes published to a repository. but are available in the Local Projects View as connection shortcuts. a repository. and an ID that identifies the connection on the server. User rights can be defined at the user level to grant or deny access to connections or connection properties. You can create a secured connection by publishing a local connection to a repository. Secured connections can not be copied to the local file system. Related Topics • About connection shortcuts 4. The shortcut is saved as a . A secured connection is subject to the following general security constraints in the repository: • • • Users must be authenticated. the type of connection (OLAP or relational). or modifying any data foundation or business layer that uses a connection stored in the repository. To retrieve data for SAP BusinessObjects reporting products directly accessing database middleware. Create a shortcut from an existing secured connection in the Repository Resources View. or published to. It is stored in a dedicated Connections folder in the repository. however. You can create a connection shortcut in two ways: • • Publish a local connection to the repository.Working with connections A secured connection is a connection that has been created in. or by creating the connection directly in the repository. Related Topics • Publishing a local connection to the repository • Creating a connection shortcut 49 2011-02-21 . Publish the business layer to a repository where it can be accessed by query and reporting applications. From the Repository Resources View. For more information on creating local projects. Be sure to select the data foundation type of multisource-enabled.Working with connections 4. Use the New OLAP Connection wizard to define an OLAP connection. see the related topic. 4. Use the New Business Layer wizard to build a business layer on the data foundation. use the New Relational Connection wizard to define a relational connection directly in a repository. Publish the connection to a repository where it can be accessed by query and reporting applications. 50 2011-02-21 . Choose the SAP NetWeaver BW middleware driver. you must have a project available in the Local Projects View. 2. 1. Related Topics • Creating an OLAP connection • Creating a business layer • Creating a relational connection • About multisource-enabled data foundations • About publishing resources 4. 2. Use the New Data Foundation wizard to build a multisourceenabled data foundation.2 Creating a relational connection You use the New Relational Connection wizard to create local and secured connections to a relational data source. Include a connection to SAP NetWeaver BW in a multisource universe. 3. Choose the SAP NetWeaver BW SAP BICS Client middleware driver.1. Before you create a local connection. 1.4 About SAP NetWeaver BW connections In the information design tool you can define SAP NetWeaver BW connections for the following purposes: Purpose Steps to take Make an SAP NetWeaver BW BEx Query available to SAP BusinessObjects query and reporting applications. 1. Information describing data source. When you have entered name information. click Next to continue the wizard. and select Insert Relational Connection. Do one of the following: • To create a local connection. 2. in the Repository Resources View. Related Topics • Creating a local project • About managing repository resources • Name a connection 4. select the project folder in the Local Projects View. This is optional information. You name a connection and can enter a description of the data source. This information can be useful when the connection is used for multiple data foundations.2. The name and description are available as a properties of the connection and can be edited at any time. open a session on the repository where you want to create the secured connection. Right-click the Connections folder or subfolder in the repository. Follow the steps in the New Relational Connection wizard to enter the following information: • Name for the connection • Middleware for the target database • Authentication parameters to connect to the relational database • Connection parameters to optimize the connection If you need help on a particular step. Select File > New > Relational Connection.1 Name a connection This section describes the Resource name page of the New relational connection wizard. click the help icon in the wizard dialog box.Working with connections Note: You must create relational connections to SAP NetWeaver BW and SAS sources directly in the repository as secured connections. Properties Description Resource name Description Connection name. • To create a secured connection. This field is mandatory. Related Topics • Select a middleware driver 51 2011-02-21 . or are working in the universe design tool in offline mode (no CMS). Related Topics • Login Parameters dialog box • Configuration parameters dialog box • Parameters for SAP HANA connections • Connection parameters for SAP NetWeaver BW datasources • Connection parameters for SAS datasources 4. 52 2011-02-21 .1 Login Parameters dialog box The New Connection wizard's Login Parameters dialog box can contain the following parameters: Note: If you accessing the connection wizard from Universe Connection Manager (UCM).2.2. Select from the related topics the link to more information about the connection parameters.Working with connections 4.2 Set data source parameters The connection parameters vary depending on the type of data source for which you are defining the connection. the only authentication mode available is Use specified username and password.2. Authentication mode • User name Password Datasource (<Host>:<port>) Database Alias The user name to access the database if Authentication mode is Use specified user name and password. For DB2 connections.Working with connections Parameter Description • • Use specified user name and password: uses the login details as authentication. The database name. Catalog The name of the catalog to which you want to connect. See the SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting Single Sign-On (SSO). This is set using the parameters dbuser and dbpass. this is the alias of the database that you have created in the DB2 data source manager. Server For JDBC connections. Use Single Sign On when refreshing reports at View Time: When selected. the name of the machine where the database is hosted. 53 2011-02-21 . The data source details. the JDBC URL used to connect to the database. For Oracle connections. The password to access the database if Authentication mode is Use specified user name and password. Refer to SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting up this option. These are set at the administrative level. this can be a list of servers. Use Business Objects credential mapping: the user is prompted for a database user password associated with their SAP BusinessObjects account to refresh a report. the username and password used to access the CMS are automatically used as the database login parameters. For ODBC connections. Working with connections Parameter Description For the example javabean connector. this parameter specifies the URL of your javabean. These configuration parameters override: • Any corresponding parameters set in the cs. the Oracle Net service. URL Note: You must have a javabean ready to connect to. and you must have configured the javabean as described in the Data Access Guide. For Oracle connections. For Oracle connections. the name of the data source that you have defined using your operating system's data source manager.2. Informix server Net service Data Source Name Service 4. the name of the Informix server that you have defined. the service that you have defined in the Oracle Net Manager.sbo file.cfg file • Any corresponding parameters set in the <driver>. Only necessary if using a connection pool. specifies the length of time to keep the connection open. For ODBC connections.2. select the method to use to keep the connection active. Connection pool mode Pool timeout 54 2011-02-21 . For Informix connections. You can set the following parameters: From the drop down list. If you select Keep the pool active for in the previous field.2 Configuration parameters dialog box The Configuration Parameters dialog box contains parameters that you can set to override default configuration options. array fetch is deactivated and data is retrieved row by row. and your query retrieves 100 rows. the connection executes 5 fetches to retrieve your data. the more rows (n) can be loaded in one operation. it is transmitted to the database. For DB2 connections. this parameter adds a suffix on the table name. the dimension on which you chose to store measures. Array fetch size Note: Deactivating array fetch is the safest way of retrieving your data but row-by-row retrieval slows down server performance. to match the DB2 convention for naming tables. ensure you have adequate client system memory. For Essbase connections. The greater the value in the Array fetch size option. You must. such as text files or Excel files. this parameter adds the name of the owner of the table as a prefix on the table name. If you enter 1. Array bind size Login timeout Owner name Table suffix ConnectInit Alias table Measure dimension String maximum size 55 2011-02-21 . and the better your performance. For Essbase connections. no matter what their real size. the name of the alias table that you defined on Essbase. For DB2 connections. Enter the size of the bind array that Connection Server uses before sending to the repository. When the bind array fills. Specifies the number of seconds before a connection attempt times out and an error message is displayed. For DB2 connections. this parameter defines the size that will be returned for all strings. to match the DB2 convention for naming tables. Generally. The default value is 20.Working with connections Enter the maximum number of rows authorized with each fetch. For connection to sources that are not relational databases. however. this parameter lets you add SQL to run once when you connect to the database. the faster your rows are retrieved. The bind array is the area in memory where Connection Server stores a batch of data to be loaded (sent to the repository). The default value is 1024. the larger the bind array. If you enter 20. 2. Use Business Objects credential mapping: the user is prompted for a database user password associated with their SAP BusinessObjects account to refresh a report.2. The host and port details for the HANA server. if the port number is 30215. Authentication mode User name Password The user name to access the database if Authentication mode is Use specified user name and password. Refer to SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting up this option.4 Connection parameters for SAP NetWeaver BW datasources 56 2011-02-21 . the HANA instance number is 02. 4. The password to access the database if Authentication mode is Use specified user name and password. Server: (<host>:<port>) Note: The HANA instance number is represented by the second and third digits of the port number.2. This is set using the parameters dbuser and dbpass.3 Parameters for SAP HANA connections Parameter Description • • Use specified user name and password: uses the login details as authentication.Working with connections 4.2. For example. These are set at the administrative level. Use Single Sign On when refreshing reports at View Time: When selected. Gateway Host Name Gateway Service Name Group name InfoProvider the name of the InfoCube or MultiProvider on SAP NetWeaver BW that will be used as the fact table in the center of the snowflake schema in your data foundation the code for the language to be used for the connection to SAP NetWeaver BW Language 57 2011-02-21 . Use SAP BusinessObjects credential mapping: the user is prompted for a database user password associated with their SAP BusinessObjects account to refresh a report. These are set at the administrative level.Working with connections Parameter Description Authentication mode the method to use to authenticate users' login credentials • • Use specified user name and password: uses the login details as authentication. This is set using the parameters dbuser and dbpass. used for load balancing on SAP NetWeaver BW See the documentation on the SAP Java Connector for details on load balancing. See the SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting Single Sign-On (SSO). the username and password used to access the CMS are automatically used as the database login parameters. • Client the number specifically used to identify the client on SAP NetWeaver BW the name of the host on which the network gateway is running the name of the service which the network gateway is running the name of the group of application servers. Refer to SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting up this option. the value from the user's session will be used. If you check Save Language.Working with connections Parameter Description Save Language For connections to SAP NetWeaver BW. Password the password that the data federation application enters for the username the name of the SAP system.4. Message server name the name of the host on which the message server is running. the value from the Language field will be used. 4. System Name System Number the number that identifies the SAP NetWeaver BW system to which you are connecting Select this check box to use the SNC.5 Connection parameters for SAS datasources 58 2011-02-21 . the username that the data federation application uses to connect to the source of data Use SNC if available User Name 4. used for load balancing on SAP NetWeaver BW See the documentation on the SAP Java Connector for details on load balancing. If you clear Save Language.2.1 InfoProvider fact table selection When you create an SAP NetWeaver BW connection. used for load balancing on SAP NetWeaver BW See the documentation on the SAP Java Connector for details on load balancing.2.2. the "Select InfoProvider Fact Table" dialog box lets you choose a fact table that will become the center of the snowflake schema in your data foundation. The filter button lets you filter by types of InfoProvider. this parameter specifies which language will be used for the connection.2. Use Single Sign On when refreshing reports at View Time: When selected. • Password the password that the data federation application enters for the username the port to which to connect for SAS databases. Use SAP BusinessObjects credential mapping: the user is prompted for a database user password associated with their SAP BusinessObjects account to refresh a report. These are set at the administrative level.2. Refer to SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting up this option.Working with connections Parameter Description Authentication mode the method to use to authenticate users' login credentials • • Use specified user name and password: uses the login details as authentication.2.5. This is set using the parameters dbuser and dbpass.1 Using data sets that are not pre-defined to the SAS/SHARE server When you create an SAS connection. the "Set SAS Data Sets" dialog box lets you configure the data foundation to access multiple data sets that are not pre-defined to the SAS/SHARE server. User Name the username that the data federation application uses to connect to the source of data 4. These are data sets that are not server included in the current SAS configuration. the host name of the server where the SAS/SHARE is running Port Host name Use data sets that are not preSelect this check box to access multiple data sets that are not predefined to the SAS/SHARE defined to the SAS/SHARE server. the username and password used to access the CMS are automatically used as the database login parameters. See the documentation on using datasets that are not pre-defined to the SAS/SHARE server for details. use the following procedure: 59 2011-02-21 . See the SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting Single Sign-On (SSO). To configure non-predfined data sets. These are data sets that are not included in the current SAS configuration. select the project folder in the Local Projects View. In the Library Name field. you must have a project available in the Local Projects View. Note: SAP NetWeaver BW and SAS connections are only listed if you are creating the connection directly in the repository. 3.3 Creating an OLAP connection You use the New OLAP Connection wizard to create local and secured connections to an OLAP data source. Click Finish. enter the path to the data set. Select File > New > OLAP Connection. in the format required for the operating system that you are using. Check Use data sets that are non pre-defined to the SAS/SHARE server. Also.2. 4. Click Next to continue the wizard. Click Add to add other data sets if needed. Expand the database and middleware node for the target database and select the connection driver. For more information on creating local projects. 4. OLAP connections created in the universe design tool are not available for building universes in the information design tool. Click Add and. Before you create a local connection in the information design tool. in the Location field. Do one of the following: • To create a local connection. see the related topic. 60 2011-02-21 . The connection driver is the SAP BusinessObjects driver that maps information in the middleware to the user interface of the SAP BusinessObjects application. Note: The OLAP connections you create in the information design tool are not supported by universe design tool.3 Select a middleware driver You select a connection driver to connect to the correct middleware version for the target database.Working with connections 1. 5. 1. Related Topics • Set data source parameters 4. 2. enter a name to use to refer to the data set. Related Topics • Creating a local project • Select a OLAP middleware driver 4.1 Select a OLAP middleware driver This section describes the OLAP driver selection page of the New OLAP connection wizard. Click Next to continue the wizard.3. Related Topics • Login parameters for SAP BW OLAP connections • Login parameters for MSAS OLAP connections 61 2011-02-21 . click the help icon in the wizard dialog box. Follow the steps in the New OLAP Connection wizard to enter the following information: • Name for the connection • Middleware driver for the target database • Authentication parameters to connect to the OLAP data source • OLAP cube to connect to If you need help on a particular step. open a session on the repository where you want to create the secured connection. expand the middleware node. and select Insert OLAP Connection. The OLAP driver maps information from the OLAP server middleware to the user interface of the SAP BusinessObjects application.Working with connections • To create a secured connection. Related Topics • About SAP NetWeaver BW connections 4. in the Repository Resources View. You select an OLAP driver to connect to the OLAP server. Select from the related topics the link to more information about the connection parameters.2 Set login parameters for OLAP data sources The connection parameters vary depending on the type of data source for which you are defining the connection. Depending on your target OLAP server.3. 2. Right-click the Connections folder or subfolder in the repository. and select the target driver. The user name to use to access the OLAP server if the Authentication mode is Use specified user name and password. The language that will be used for the connection.Working with connections 4. Use Single Sign On when refreshing reports at View Time: When selected. Language Note: The connection language determines the language in which the universe is generated. This is set using the parameters dbuser and dbpass. The password to use to access the OLAP server if the Authentication mode is Use specified user name and password. Use Business Objects credential mapping: the user is prompted for a database user password associated with his BusinessObjects account to refresh a report. See the Business Objects Business Intelligence platform Administrator's Guide for information on setting Single SignOn (SSO).1 Login parameters for SAP BW OLAP connections The New Connection wizard's Login Parameters dialog box can contain the following parameters: Login parameter Description • • Use specified user name and password: uses the login details as authentication. Refer to SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting up this option. Authentication mode • Use SNC if available Client User name Password Select this check box to use the SNC. the username and password used to access the CMS are automatically used as the database login parameters.3. These are set at the administrative level. The number used to identify the client on SAP NetWeaver BW system (required). 62 2011-02-21 .2. Working with connections Login parameter Description Which language will be used for the connection: • If you check Save Language. you need to add the message server system ID to the following file on the machine hosting the application: C:\WINDOWS\system32\drivers\etc\services Message Server At the end of the existing file. and the System ID when using Message Server login mode.2 Login parameters for MSAS OLAP connections 63 2011-02-21 . add the line: sapmsXXX <tab> 3601/tcp where sapms means SAP message server. Enter the Message Server. the value from the Language field will be used. Application Server System Number System ID Logon Group 4. Save Language Login mode or Server Type Select Message Server to benefit from SAP load balancing capabilities. and 3601/tcp is the default TCP port used for communication. xxx is the is the System ID of the server that is used. Select or enter the name or IP address of the SAP application server (required for Application server login mode). Logon Group. Select Application Server to connect directly to the SAP server without using load balancing. Note: For a successful connection to the message server. Enter the system number.2. • If you clear Save Language.3. for example 00 (required for Application server login mode) . the value from the user's session will be used. cub" Note: If the cube file is located on a host system different from the SAP BusinessObjects host. for example: Server "Z:\All cubes\test. the username and password used to access the CMS are automatically used as the database login parameters. Use Business Objects credential mapping: the user is prompted for a database user password associated with his BusinessObjects account to refresh a report.Working with connections The New Connection wizard's Login Parameters dialog box can contain the following parameters: Login parameter Description • • Use specified user name and password: uses the login details as authentication. • The server name for the MSAS data source • The full path file name of an MSAS cube file. The language that will be used for the connection. User name Password Language 64 2011-02-21 . Use Single Sign On when refreshing reports at View Time: When selected. This is set using the parameters dbuser and dbpass. The user name to use to access the OLAP server if the Authentication mode is Use specified user name and password. The password to use to access the OLAP server if the Authentication mode is Use specified user name and password. Refer to SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting up this option. These are set at the administrative level. You must create the connection to a cube file directly on the SAP BusinessObjects host. Authentication mode • Enter one of the following: • The URL for the MSAS library exposed and configured in the MSAS server. the two machines must have a shared connection. Enter the full path file name between double quotes. See the SAP Business Objects Business Intelligence platform Administrator's Guide for information on setting Single Sign-On (SSO). open a session on the repository where the secured connection is stored. In the Connections folder or subfolder.4 Creating a connection shortcut When you publish a connection. either when building a business layer or in a query and reporting tool. • For OLAP connections. You must have a local project in the Local Projects View. In this case. you will be prompted to select a cube. • For relational connections. select an InfoCube. Note: For connections using the SAP BICS Client driver.3 Select an OLAP cube This section describes the cube selection page of the New OLAP Connection wizard. 1. In the Repository Resources View. 4.Working with connections 4. In the Information Area folders. Click Finish to close the wizard. You can enter a search string in the search text box. select the Specify a cube in the connection option. 2. each time you access the connection. select the Do not specify a cube in the connection option. select Create Relational Connection Shortcut 3. Select the cube in the list. select the Specify a cube in the connection option.5 About editing connections and connection shortcuts 65 2011-02-21 . you have the option of creating a connection shortcut in the Local Projects View. select Create OLAP Connection Shortcut. To always associate a cube with the connection.3. The cube selection page lists the cubes available for the target database. Use the following procedure to create a connection shortcut for an existing secured connection. Then select a BEx Query for the connection. To create the connection without specifying a cube. right-click the connection name. select the project in which you want to create the shortcut. Related Topics • Creating a local project 4. In the "Select a Local Project" dialog box. Open a session on the repository where the connection you want to change to is published. The "Connection Definition" pane shows the information stored about the connection. click Test Connection. double-click the connection name. OLAP connections In the "General Information" pane: • • To edit the connection login parameters and cube selection. To test the availability of the database or cube server. or a connection shortcut. 66 2011-02-21 . click Edit. The "Show Values" pane lets you browse the objects in the cube and their properties. To change the middleware driver. To edit a local connection. In the Connections folder or subfolder. click Edit. in the Repository Resources View. To test the availability of the database server. In the Connection Editor you can do the following tasks depending on the type of connection. To edit a secured connection. click Change Driver. click Test Connection.Working with connections You edit connections and connection shortcuts using the Connection Editor. open a session on the repository where the connection is published. The "Query" pane lets you drag and drop cube objects to create an MDX query and run the query on the cube. double-click the connection or shortcut name in the Local Projects View. click Change Connection. To test the availability of the cube server. The "Show Values" pane lets you browse the values in the tables referenced by the connection. Connection shortcuts In the "General Information" pane: • • To change the secured connection that the shortcut references. Relational connections In the "General Information" pane: • • • To edit the connection parameters. click Test Connection. The "Connection Definition" pane shows the information stored about the connection. Working with data foundations Working with data foundations 5. See the related topic for more information about data foundation types. You can build any number of business layers on the same data foundation. and lists of values. alias tables. contexts. calculated columns.1 About data foundation types Single-source and multisource-enabled are two types of data foundations that allow you to take advantage of different data foundation features. additional joins. Related Topics • About single-source data foundations • About multisource-enabled data foundations 67 2011-02-21 . In this case the data foundation becomes the basis for multiple universes. Related Topics • About data foundation types • How to build a data foundation 5. The availability of some features depends on the data foundation type. Using the Data Foundation Editor. The related topics detail information to help you choose which type fits your needs. You reference relational connections in the data foundation.1 What is a data foundation? A data foundation contains a schema of relevant tables and joins from one or more relational databases that are used as a basis for one or more business layers. you can enhance the data foundation by adding derived tables. prompts. You insert tables and joins from the databases referenced in the connections.1. you can work on tables and joins using commands in the Insert Detect menus.Working with data foundations 5. see the related topic. Highlight Original Table grays all tables except the selected alias table and the standard table it is based on. You can also use the search panel to perform advanced searches on the data foundation. To open the search panel. To access commands that are available on columns. see the related topic. click the table headers while holding down the CTRL key. Access the panes by clicking the corresponding tab: • • • • • Connections Data Foundation (displays a tree view of the tables and joins) Aliases and Contexts Parameters and Lists of Values Properties For more information about what you can do in each of the browsing panes. Access the views by the tabs at the bottom of the view pane. or by clicking objects directly in the view. Highlight Aliases grays all tables except the selected standard table and its alias tables. The data foundation view is a graphical representation of the tables and joins. Navigating the data foundation view To access a menu of commands that are available on tables. The Master view contains all tables and joins and cannot be deleted. and The browsing panes allow you to work with different elements of the data foundation. 68 2011-02-21 . In the data foundation view. Highlight Related Tables grays any table that is not linked to the selected table by a join. click Related Topics • About custom data foundation views • About connections in the data foundation . To select multiple tables. Several commands in the table right-click menu are available to help you locate related tables in the data foundation: • • • • Select Related Tables automatically selects all tables linked by joins to the selected table.2 About the Data Foundation Editor The Data Foundation Editor is divided into a data foundation view and browsing panes. right-click the column name in the table in the data foundation view. You can define custom views that contain subsets of the tables. For more information about custom views. right-click the table header in the data foundation view. Working with data foundations • About contexts • About parameters and lists of values in the data foundation • About data foundation properties • Searching for tables and columns in the data foundation 5. In the Data Foundation Editor you can enhance the function of the data foundation in several ways. you define properties for each connection to help distinguish the underlying database for each table in the data foundation display. Select or define the relational connections that reference the databases needed to define the data foundation. you use the Data Foundation Editor to insert the necessary tables and joins from the databases referenced in the connections. For multisource-enabled data foundations. 1. Once the data foundation is created. select File > New > Data Foundation. Select or define a local project in which to create the data foundation. 2. 5. joins.3 How to build a data foundation This topic gives an overview of the steps to take to build a data foundation in the information design tool. Use the New Data Foundation wizard to create the data foundation. Create local connections in the local project selected for the data foundation. joins and cardinalities after you have inserted tables. 7. or want to create a multisource-enabled data foundation. including joins that link tables from databases referenced by different connections. You can also use commands on the Detect menu to detect keys. Use the Insert Tables command to insert several tables at one time and ask for keys. for example: • Insert new and edit existing joins. use the Detect Joins command. For SAP NetWeaver BW connections. Decide if the data foundation type should be single-source or multisource-enabled. • Insert calculated columns • Insert derived tables • Insert parameters with optional prompts 69 2011-02-21 . To start the New Data Foundation wizard. Note: To detect joins between tables referenced by different connections. provide a description. 6. If you want to reference secured connections. as well as the SQL syntax that is used to define SQL structures depends on the data foundation type. create connection shortcuts in the local project. 4. and row counts to be detected and inserted automatically. The type and number of connections available. cardinalities. and select the connections. Prepare the design of your data foundation by defining business requirements for the business layers it will provide data to. Links to more detailed information can be found in the Related Topics section at the end of this topic. 3. tables and joins are inserted automatically. In the wizard you name the data foundation. Verify the join paths and resolve any loops by detecting cardinalities. columns. alias tables. 11. which means you can publish universes based on the data foundation either locally or to a repository. and contexts. right-click the data foundation name in the Data Foundation pane. 70 2011-02-21 . Maintain the data foundation in the data foundation editor. Use the Project Synchronization View to synchronize the local data foundation with the shared resource. 9. • • • • If you change tables or columns. use Show Local Dependencies to find the business layers and objects that might be impacted by the changes. Refresh the structure to update the data foundation with changes that have occurred to the databases referenced in the connections.Working with data foundations • Insert lists of values to be associated with a prompt 8. This allows other designers to use and work on the data foundation. Use the commands in the Aliases and Contexts pane to detect aliases and contexts automatically.4 About single-source data foundations Single-source data foundations support a single connection. 10. data foundations can be shared. and select Check Integrity. Like other resources in the information design tool. use the Check Integrity command to validate the tables. Add or change connections Set SQL generation parameters in the data foundation properties Related Topics • About data foundation types • Creating a local project • Creating a relational connection • Creating a connection shortcut • Inserting tables into the data foundation • Data foundations with NetWeaver BW connections • About join detection • Resolving loops • About project synchronization • Showing local dependencies • About refreshing a data foundation • About connections in the data foundation • About data foundation properties 5. and joins in the data foundation. To run an integrity check. When you complete the data foundation. The connection can be local or secured. Some commands to help you maintain the data foundation are listed below. and universes based on this type of data foundation can only be published to a repository. Multisource-enabled data foundations only support secured connections. Related Topics • Data foundations with multiple connections • Data foundations with NetWeaver BW connections • SQL expressions in multisource-enabled data foundations • About single-source data foundations 71 2011-02-21 .Working with data foundations Single-source data foundations support database-specific SQL syntax for derived tables. derived tables. . You can use database-specific SQL syntax in a multisource-enabled data foundation by defining a database-specific derived table or calculated column. You must select single-source if you want to publish to a local folder the universes that are based on this data foundation. For more information on these situations. Database-specific SQL syntax allows functions or operators that are offered by a specific database and not by standard SQL-92 (for example. and join expressions. Database-specific SQL syntax allows functions or operators that are offered by a specific database and not by standard SQL-92 (for example. Related Topics • About multisource-enabled data foundations • How to build a data foundation 5. Oracle analytical functions). calculated columns. Multisource-enabled data foundations are required in the following situations: • • • You want to insert tables and joins from more than one relational data source. The following additional relational connections are supported: • • SAP NetWeaver BW connections SAS connections SQL-92 standard syntax is the default for calculated columns. You can add connections when you create the data foundation and anytime later. Oracle analytical functions). and join expressions. You want to use SAP NetWeaver BW or SAS connections. the SAP BusinessObjects SQL functions are available.5 About multisource-enabled data foundations Multisource-enabled data foundations support one or more connections. In addition. Single-source data foundations are recommended for the following situations: • • You want to work exclusively with database-specific SQL syntax. see the related topics. You want to publish the universe locally and work outside of a repository. You want to use SQL-92 standard syntax and SAP BusinessObjects SQL functions. table_name.2 SQL expressions in multisource-enabled data foundations SQL expressions that define joins. You can also add connections to an existing multisource-enabled data foundation. You can change the color for a connection at any time. This name must be unique within the data foundation and is limited to forty characters. A color for the connection.5. • • • In a multisource-enabled data foundation.1 Data foundations with multiple connections To be able to add multiple connections to a data foundation. the SQL expressions are automatically updated with the new name. and therefore available in a repository.> A multi-source join can be created between tables from different connections. This color is used in the table header in data foundation views. calculated columns. and derived tables in a multisource-enabled data foundation use SQL-92 AINSI standard syntax. A default catalog name is registered automatically with the query server the first time the connection is added to any multisource-enabled data foundation. The connections are represented by a connection shortcut in the local project. you must select the multisource-enabled type when you create the data foundation. see the related topic. The connections in a multisource-enabled data foundation have the following additional properties: • A short name used to identify the connection in the data foundation and to modify the table name in SQL expressions. Related Topics • Data foundations with NetWeaver BW connections • About connections in the data foundation 5. You select the color when adding the connection. A catalog used to identify the connection to the query server. 72 2011-02-21 . You can use the Detect Joins command to detect joins between tables referenced in different connections. Connections must be secured."database _qualifier. the table name as it appears in SQL expressions has the format: <@catalog(short name).database_owner". If you change the short name for the connection. properties related to the automatic insertion of tables and joins.Working with data foundations • How to build a data foundation 5. For SAP NetWeaver BW connections. or explicitly define them with the Insert Join command.5. For more information on these properties. You can select multiple connections when you create the data foundation. You specify the short name when adding the connection. Creates families for each type of table: • Prefixes the fact table name by the letter I (InfoCube) and assigns it to family "InfoProvider Fact Table". you define database-specific calculated columns and derived tables.Working with data foundations In SQL-92 expressions.3 Data foundations with NetWeaver BW connections When you add an SAP NetWeaver BW connection to a multisource-enabled data foundation. unselect the Detect tables check box in the advanced properties of the connection when you are adding the connection. 73 2011-02-21 . For more information. By default. The following rules apply to database-specific SQL expressions: • • • You can reference only standard tables and database-specific derived tables in a single connection. at query time. Detects and inserts joins. Creates a parameter in the data foundation called key date. • • • • Note: To turn off automatic insertion. • Prefixes master data tables by the letter D (Dimension) and assigns them to family "Dimension Table". Which @functions you can include depends on the type of expression. You cannot reference tables in SAS or SAP NetWeaver BW connections. inserts the fact table and its related master data and text tables. In order to use functions or operators that are offered by the database and not by SQL-92 (for example. A check box in the SQL Expression Editor allows you to use database-specific SQL. For more information. see the related topic. tables and joins are automatically inserted. Creates alias tables for all dimension and text tables. see the related topic. You can include @functions with certain restrictions. to handle time-dependent data. Detects and inserts table keys. The automatic insertion does the following: • • Based on the InfoProvider specified in the SAP NetWeaver BW connection parameters.5. the key date parameter is not prompted. Creates input columns in tables when needed. Oracle analytical functions). • Prefixes text tables by the letter T (Text) and assigns them to family "Text Table". you can include SAP BusinessObjects SQL functions and @functions. It is automatically assigned the current date. Related Topics • SQL function reference • @Function reference 5. Database-specific calculated columns and derived tables support the SQL syntax of the associated connection. Edit opens the connection or connection shortcut properties in the Connection Editor.6 About connections in the data foundation Connections in the data foundation are listed in the "Connections" pane of the Data Foundation Editor. In the Data Foundation Editor.6. In the Data Foundation Editor. click the Add Connections icon . tables are listed for all qualifiers and owners. double-click the data foundation name in the "Local Projects" View. 2. For more information about this task. In the "Connections" pane. the following conditions are required: • • • The data foundation type must be multisource-enabled. see the related topic. click the "Show Qualifiers and Owners" icon . The connections to add must be relational. 1. Add Connections (multisource-enabled data foundations only) lets you add connections to the data foundation. 74 2011-02-21 . To open the Data Foundation Editor. • • • • • Change lets you change the connection and its associated properties. you must create a connection shortcut in the local project where the data foundation is stored. The tables referenced in each connection are listed. The connection itself remains in the repository and registered with the catalog name. Test lets you test if the database referenced by the connection is available. 3.Working with data foundations 5. Double-click the data foundation name in the local project to open the Data Foundation Editor. To list only tables for the currently used qualifier/owners. Remove (multisource-enabled data foundations only) lets you remove a connection from the data foundation. secured connections. click the Connections tab.1 Adding connections to a data foundation To add connections to the data foundation. For each connection to add. click the Connections tab. Related Topics • Changing a connection in a data foundation • Adding connections to a data foundation • About data foundation tables 5. see the related topic. For more information about this task. Operations on connections You can do the following tasks on connections from the "Connections" pane. By default. Select the check box next to the connection you want to change to. 4. Double-click the data foundation name in the local project to open the Data Foundation Editor. 2.. 6. see the related topic.7 About data foundation tables A standard table is a graphical representation in the data foundation of a physical database table. you must create the local connection or connection shortcut in the local project where the data foundation is stored. 3. Right-click the connection and select Change.2 Changing a connection in a data foundation The connection you change to must be a relational connection. and click Finish.6. Select the check box next to the connection shortcut name of each connection you want to add. 1. • If the data foundation is multisource-enabled. select the connection you want to change. including the currently defined connection. How to do this depends on the data foundation type: • If the data foundation is single-source. 75 2011-02-21 . 4. Select a new connection. In the "Connections Properties" dialog box. A dialog box opens for every connection added. Click the icon in the Connection text box. the connection must also be secured. When you have finished defining the properties for additional connections. and click OK. 5. the "Change Connection" dialog box displays the connection properties for the currently defined connection. A dialog box lists the available connections.. including the connections currently defined in the data foundation. Select the connection you want to change to. click Finish. you can define additional connection properties. For more information about multisource-enabled connection properties. 5. and click Next.. You create standard tables when you insert database tables into the data foundation. the "Change Connection" dialog box lists the available connections.Working with data foundations The "Add Connections" dialog box lists the available connections. click the Connections tab. In the Data Foundation Editor. Before you can change to a connection. Related Topics • Creating a connection shortcut • Data foundations with multiple connections 5. For multisource-enabled data foundations. In the "Connections" pane. expand the table. For more information. A multisource-enabled standard table name has the syntax: <@catalog(short_name). click the Show Qualifiers and Owners icon .table_name>. For more information about data foundations with multiple connections. Standard tables and their columns inherit the fully-qualified name from the database."database_qualifier. see the related topics.database_owner. with different owners. right-click the table name and select Show Table Values. tables are listed for all qualifiers and owners.Working with data foundations Some connections allow for multiple databases (called qualifiers). Tables in the data foundation can also be derived or alias tables. To change the qualifier or owner of a table. A single-source standard table name has the syntax: <database_qualifier. Select the check box next to the table name to insert it and all its columns into the data foundation. By default. To show the values in a table. If you insert an existing table. Multisource-enabled data foundations also identify the connection in the table name.table_name>. To list only tables for the currently used qualifier/owners. an alias table is inserted and you are prompted to enter a name for the alias table. Once you have inserted a standard table. select Insert Tables from the Insert foundation view.database_owner".1 Inserting tables into the data foundation To insert tables into a data foundation. Note: Qualifier and owner are not relevant for some connections. menu in the data The "Insert Tables" dialog box lists the connections defined in the data foundation. 76 2011-02-21 . Tables that are already inserted into the data foundation have an icon with a green check mark.7. in which case only the table name is used. right-click the table header in the data foundation view and select Change Qualifier/Owner. see the related topic. right-click the column name and select Show Column Values. Expand the connection to see the database tables referenced in the connection. Related Topics • Data foundations with multiple connections • About derived tables • Inserting tables into the data foundation • Editing data foundation tables • About alias tables 5. To show the values in one column. you can edit the table to add a description and modify the columns. Note: When you change the name of a standard table. For more information about table keys. use the Detect Joins command after inserting the tables. Detect row counts saves the number of rows in each table in the data foundation. See the related topic. For standard tables. the "Edit Derived Table" dialog box appears. Note: For multisource-enabled data foundations. Tip: You can also insert tables into the data foundation by dragging them from the Connections pane and dropping them into the data foundation view. go to the application preferences page. Detect joins inserts the joins between the tables being inserted. From the main menu. you break the link with the database table. you can also change column data types by selecting a new data type in the list box. select Window > Preferences > Information Design Tool > Data Foundation Editor > Automatic Detections. Related Topics • About join detection 5. For a derived table. the "Edit Table" dialog box lets you edit the table name and description. For alias and standard tables. See the related link for information about renaming tables using aliases. To detect joins between tables referenced by different connections. 77 2011-02-21 . To change the defaults. For standard tables.Working with data foundations Select the objects you want to detect and insert automatically into the data foundation when inserting the tables: • • • Detect keys sets the key columns in the data foundation tables as they are in the database tables. Note: The next time you refresh the data foundation structure. you can assign or unassign keys by selecting the type of key in the list box. see the related topic. the original data type of the column in the database will be proposed. • Detect cardinalities saves the cardinalities of the joins as they are in the database joins.2 Editing data foundation tables To edit a table in the data foundation. The recommended detect options are selected by default. only joins between tables referenced by the same connection are detected. right-click the table header in the data foundation view and select Edit. The table name must be unique within the data foundation.7. You can filter on specific column values.Working with data foundations Related Topics • About derived tables • About alias tables • About table keys • About data foundation tables 5. and save the listed values to a local file. Column filters defined in the table are applied before showing values. To limit the rows returned from the database. select Window > Preferences > Information Design Tool > Show Data. • • • Show Table Values lists the values in the table. from the main menu. click the column name. To add column filters in the "Show Values" view. To access the commands. located above the table of values. To profile the values for a selected column. click Save as File. Note: The show values commands by default open a tab in the editor to display the values. To export the data to a local file. To set the preference. Show Column Values lists the values of the selected columns.9 About table keys Tables in the data foundation can have two types of keys: 78 2011-02-21 . You can set a preference to have the commands open in a dedicated view or a dialog box. To see the query script. click the arrow. Profile Data opens a dialog box that lets you profile the values of the selected column in a pie or bar chart. Once you add a filter on a column. enter a number in the Max Rows box. click Add Filter and select a column. 5. You can filter on specific column values. and save the listed values to a local file. click the Distinct Values tab. right-click the table header or column name in the data foundation view.8 Showing and profiling values in a table Several commands let you browse values in data foundation tables. To sort the values. a filter value selector appears on the right hand side. Each table has only one primary key. the number of rows for the selected tables is counted and stored. the keys defined in the database tables override the keys set manually for a table.10 About table row counts Detect row counts The number of rows in database tables can be can be detected and stored in the data foundation. Column or combination of columns whose values are required to match a primary or another unique key in another table. select Window > Preferences > Information Design Tool > Data Foundation Editor > Automatic Detections 5. When you detect rows counts. You can set a preference so that the keys set manually in a data foundation table are kept if no keys are detected. for example. You can also set keys manually when you edit the table. not allowing a sale to be added in the <Sales> table for a customer that does not exist in the <Customer>table. 79 2011-02-21 . Note: The next time you use the Detect Keys command. Primary Foreign Foreign keys implement constraints. Each table can have multiple foreign keys. Keys are indicated with icons next to column in the data foundation view. Row counts are used to detect cardinalities in the absence of table keys. To set the preference. You can define a primary or foreign key on any column in a data foundation table using the Set as Key command on the column. The Detect Keys command detects the keys in the database tables and sets the same keys in the tables in the data foundation. The Insert Tables command has an option to detect keys automatically when first inserting tables into the data foundation. Note: Column filters are not applied when detecting row counts.Working with data foundations Key Description Single or combination of columns in a table whose values identify each row in the table. The primary key guarantees row uniqueness in a table. . Note: To select multiple tables. the following self-join is proposed: "Customer". 80 2011-02-21 . The expression can contain sub-queries. click the table headers while holding down the CTRL key. To count rows returned in a query. select tables in the data foundation view in one of the following ways: • • Right-click a table and select Select Related Tables. The Detect Row Count command on the Detect menu lists the current row counts for all tables in the data foundation. but want queries to be optimized for the size of the production data. a self-join on the column is proposed in the "Edit Join" dialog box. Related Topics • About column filters 5. To insert a filter. you can set row counts and detect row counts for a selection of tables. Click the table headers while holding down the CTRL key. When you insert a filter. The following @functions are allowed in the expression: @Prompt and @Variable. The row count for the selected table is updated. For example. Count rows Use the Count Rows command on multiple tables linked by joins to see the number of rows returned by the resulting query. if you insert a filter on the <age> column in the <Customer> table. Then right-click a table in the selection and select Count Rows.Working with data foundations You can also set estimated row counts for tables. From this list. To get help editing the join expression. right-click the column name in the data foundation view and select Insert Filter. This can be useful if you are working with a reduced sample of data. Column filters are applied."age"="Customer"."age" Edit the second part of the self join (the expression to the right of the equals sign) to filter the column values. The row count that you set is replaced by the detected row count when you do a detect row count for that table. You can insert a filter on a calculated column. To detect row count for one table. right-click the table header in the data foundation view and select Detect > Row Count. click the SQL Assistant icon The following rules apply to column filters: • • • • Only one filter per column is allowed.11 About column filters A column filter lets you restrict the values returned whenever the table is used in a query. To insert a calculated column. If a table has a calculated column defined. When you merge tables that include filters. month. A tool tip displays the SQL expression of the calculated column when you pass the cursor over the column name. Note: Columns with time-related data types have a special icon that resembles a calendar. 5. Sub-queries are not allowed. right-click the column name in the table in the data foundation view and select Edit Calculated Column. to edit the definition. You can include only columns from the same table in the SELECT statement. If the data foundation is multisource-enabled and you want to use database-specific SQL to define the calculated column. The functions allowed are listed in the functions pane of the "Insert Calculated Column" dialog box. The "Insert Calculated Column " dialog box lists columns and functions that you can drag and drop to the pane where you build the SELECT statement. To insert a time column. Select a date part from the list. it appears in the data foundation view with a special icon. Once the column is inserted into the table. select the Database-specific check box. For more information about SQL expressions in multisource-enabled data foundations.Working with data foundations • • • If you insert a filter into a standard table. the filters are not included in the resulting derived table.12 About calculated columns A calculated column is a new column in a table that is the result of a calculation based on one or more columns of the same table. 81 2011-02-21 . see the related topic. You can edit the new column with the Edit Calculated Column command. and then create an alias from the table. right-click a column with a time-related data type and select Insert Time Column. If you insert a filter into an alias tables. right-click the table header in the data foundation view and select Insert Calculated Column. you build the SQL SELECT statement that defines the column. A calculated column is inserted into the table. When you insert a calculated column into a table. the filter is not inserted into the alias table. quarter. The following rules apply to calculated columns: • • • • • You can insert calculated columns into standard tables only. the filter is not automatically inserted into the original standard table. Time Columns You can insert a calculated column that contains a date part (for example. or year) based on a column with a time-related data type. see the related topic. Self-joins are used to define column filters. and so shortening a normally longer join path. Select the Shortcut join check box to create a shortcut join. When you insert a join. Tables that are joined usually have a parent-child relationship. select the Insert Join command from the Insert menu in the data foundation view. To insert a join. you define the following join properties in the "Edit Join" dialog box: Join property Description Table 1 Column Table 2 Column The column in the first table to use for the join. For more information on column filters. and operators for joins that are not based on equality between column values (>. Shortcut join A shortcut join is a join that provides an alternative path between two tables. You can also choose to create a complex join. Between Table 1 and Table 2.Working with data foundations Related Topics • SQL expressions in multisource-enabled data foundations 5. or the column to join to. then a query run on the two tables can return a result set that contains all possible row combinations. A join restricts the data returned when the two tables are queried. a list box of join operators lets you choose how to compare the values of the columns in the join. Joins are defined by linking a column in one table to a column in a second table. <. If tables are not joined. >=. Shortcut joins improve the performance of a query by not taking into account intermediate tables. !=). 82 2011-02-21 .13 About joins A join is a condition that links tables in the data foundation. <=. A self-join is when the two tables are the same. The column in the second table. This is a join that contains sub queries. Join Operator The list includes an equi-join (=). Such a result set is known as a Cartesian product and is rarely useful. Working with data foundations Join property Description Check the Outer join check boxes to create outer joins. with null values when there is no match. For more information about cardinality. If more than one column matches between two tables. An outer join allows rows to be returned even when there is no matching row in the joined table. even if they have no match in Table 2. This join returns all rows from both tables. an SQL expression is automatically generated to define the join. Based on the columns and operators you select. You can detect joins automatically. This join will return all rows in Table 1. It also checks that the data type of the two columns is the same. To get help editing the join expression. To edit an existing join. 83 2011-02-21 . You can also click the Detect button to automatically detect the cardinality defined for the join in the database. Related Topics • About column filters • About cardinality • About join detection 5. This method looks for identical column names in different tables. Check the Outer join check box below both tables to create a full outer join.1 About join detection Join detection looks at the data foundation tables and proposes appropriate joins. Check the Outer join check box below Table 1 to create a left outer join. see the related topic. click the SQL Assistant icon . The following methods are used: • Join detection based on column name. For more information about join detection. joins are proposed for each column.13. right-click the join line in the data foundation view and select Edit Join. see the related topic. Expression Cardinality Select the cardinality for the join from the Cardinality list box. even if they have no match in Table 1. Outer join Check the Outer join check box below Table 2 to create a right outer join. You can type a custom expression for the join. This join will return all rows in Table 2. menu in the data To detect joins in the data foundation.n. From the main menu. so the cardinality of the <Customer> table is one-to-many. In this case. the joins are detected and proposed in a dialog box. select Detect Joins from the Detect foundation view. select a method for each connection. there can be one or more reservations.Working with data foundations Note: Joins between a table and its alias are not proposed. Cardinalities are needed when detecting aliases and contexts to resolve loops in the data foundation. join detection is based on the joins in the database schema referenced in the connection. there can be one and only one customer. For each reservation. This method looks for relationships defined in the database between primary keys and foreign keys. the tables <Customer> and <Reservations> are linked by a join. one (1). so the cardinality of the <Reservations> table is one-to-one. • • For each customer. First. or 1. Related Topics • About joins 5. You can then select the joins to be inserted into the data foundation. For example. For data foundations with an SAP NetWeaver BW connection.14 About cardinality Cardinality further describes how tables are joined by stating how many rows in one table match rows in another table. and the default detection method to use. Cardinality of a table is expressed as a pair of numbers: the number of rows in one table that match the number of rows in the joined table. 84 2011-02-21 . You can also detect joins between tables from different connections.1. Set the defaults for automatic join detection. the method used is by column name. The number of rows that match can be none (0). joins can be detected and inserted automatically. When inserting tables. in the application preferences page. select the join detection method. or many (n) for each table. For a multisource-enabled data foundation. select Window > Preferences > Information Design Tool > Data Foundation Editor > Automatic Detections. Once you have selected the join detection method. • • Join detection based on database keys. This method is used to detect joins between tables referenced by the connection. or 1. The "Detect Cardinalities" dialog box lists the current cardinalities stored for all joins in the data foundation. You can create objects in the business layer on a derived table in the same way that you do for a standard table. cardinality can be detected and set automatically. the cardinality is set using table row counts. Use derived tables in the following situations: 85 2011-02-21 . because the maximum rows that can match a row in <Customer> is n. In the example. you can set manually. and the maximum rows that can match a row in <Reservations> is 1. click the join lines while holding down the CTRL key.Working with data foundations Cardinality of the join is also expressed as a pair of numbers: the maximum number of rows in the second table that match one row in the first table. From the main menu.1. Cardinalities can be detected for joins automatically and stored in the data foundation. select Window > Preferences > Information Design Tool > Data Foundation Editor > Automatic Detections.15 About derived tables A derived table combines other tables using calculations and functions. The cardinality of the selected join is updated. the cardinality of the <Customer>-<Reservations> join is n. The detection method first detects primary and foreign keys. Note: To select multiple joins. select Detect Cardinalities in the Detect menu. and the maximum number of rows in the first table that match one row in the second table. You can also manually set cardinality when editing the join details with the Edit Join command. To detect or set cardinalities. From this list. Set the defaults for automatic cardinality detection in the application preferences page.1 If no keys are detected. Cardinalities are set according to the key status of the column in the two tables as follows: First table column Second table column Cardinality Primary key Foreign key Foreign key Primary key 1. n n. When inserting joins. To detect cardinality for one join. Related Topics • About joins • About table keys 5. or detect cardinality for a selection of joins. right-click the join line in the data foundation view and select Detect Cardinality. in the data foundation view. right-click the table header of the derived table and select Edit. In a multisource-enabled data foundation. You can drag functions to the Expression box. Related Topics • About merging tables • SQL expressions in multisource-enabled data foundations 5. which works like the query panel. Then right-click the selection of tables and select Merge.Working with data foundations • • • To create a table with columns from other tables. To create a single table that combines two or more tables (called merged tables). to select columns for the derived table. select the tables you want to merge in one of the following ways: • • Right-click a table and select Select Related Tables. you must select database-specific syntax. You can also use the SQL Builder. The column definitions can include complex calculations and functions. To insert a derived table with all the columns in the original table. if you want to include database-specific functions in the definition of the derived table. drag columns to the Expression box to include in the derived table. To edit a derived table. For more information about SQL syntax in multisource-enabled data foundations. Give the derived table a unique name within the data foundation. . select Insert Derived Table from the Insert menu in the data foundation view. To merge tables. see the related topic. The functions allowed in the expression definition are listed in the Functions box.16 About merging tables Merging tables lets you insert a derived table into the data foundation that consists of the combined columns from two or more tables linked by joins. Enter the table definition in the "Edit Derived Table" dialog box. Enter a name for the table that is unique within the data foundation. right-click the table header in the data foundation view and select Insert > Derived Table. From the tables listed in the Tables and Database Tables boxes. To insert a derived table and specify the columns. To create a table that contains a selection of columns from different tables. 86 2011-02-21 . see the related topic. Click the table headers while holding down the CTRL key. For more information about merging tables. To insert alias tables manually. select Detect Aliases from the Detect menu. The new table is joined to any tables that the original tables were joined to. To edit the name and description of an alias table. a derived table that is the result of a merge creates expressions using SQL-92 standard syntax. Related Topics • About derived tables • SQL expressions in multisource-enabled data foundations 5. but the alias table name is used in the data foundation.17 About alias tables An alias table is a reference to a standard table in the data foundation. but has a different name. If you choose to keep the original tables. The link between the data foundation and database is based on the table name. If you create an alias to give the table a new name. You can also detect aliases from the Aliases and Contexts pane in the Data Foundation Editor. To detect aliases in the data foundation. You can then choose to have the aliases created automatically. The original tables become obsolete and you have the choice of deleting them. To use database-specific SQL. To edit a merged table. however the tables stay in the data foundation. the link to the database table is preserved. Note: In a multisource-enabled data foundation. Then right-click and select Insert > Alias Table. You use alias tables to break loops in the join paths in the data foundation. The data in the table is exactly the same as the original table. the joins linking those tables are deleted. Click the Detect Aliases icon . click the table headers while holding down the CTRL key. you must edit the derived table and explicitly select database-specific syntax. right-click the table header and select Edit Derived Table. The command analyzes the join paths and proposes alias tables to break any loops detected in the data foundation.Working with data foundations The merged table is inserted as a derived table. You also use alias tables to rename a table. In the data foundation view. select the original tables. For more information about resolving loops. click the table header in the data foundation view and select Edit. but the different name "tricks" the SQL of a query to accept that you are using two different tables. It is an identical duplicate of the original table (except for column filters). see the related topic. Related Topics • Resolving loops 87 2011-02-21 . Related Topics • Resolving loops • About alias tables 88 2011-02-21 . Excluded joins: In a part of the schema that is ambiguous. In the information design tool. The context is defined by setting states for the joins involved in the ambiguity.Working with data foundations 5. In this case. a join has one of three states: • • • Included joins: In a part of the schema that is ambiguous. To see the context highlighted in the data foundation view. a context is created for each fact table. Neutral joins are in a part of the schema that is not ambiguous. the excluded joins define the path that context will never take. To detect contexts in the data foundation. select the Detect Contexts icon . You can include or exclude joins and tables from the context by clicking them in the data foundation view. Any join that is not explicitly included or excluded is neutral. from the Aliases and Contexts pane in the Data Foundation Editor. The user is prompted for the context to use at query time. select the Insert Context icon . Before detecting contexts in the data foundation. you need to set cardinalities and detect aliases. Contexts will not need to be updated unless the new table or join is explicitly involved. Select the check box next to the proposed context to insert it into the data foundation. or clicking the join path in the list of join paths. the context solves the loop by defining a path with the included joins. To insert a context manually. See the related topic about resolving loops for the prerequisite tasks. and are always included in the query path of the context. In a context. from the Contexts tab in the Data Foundation Editor. The most common use of contexts is to resolve loops in the data foundation when the loop cannot be resolved by creating an alias table. proposes contexts to resolve any loops that cannot be resolved by alias tables. The command analyzes the join paths and in the "Detect Contexts" dialog box.18 About contexts A context is a collection of joins which provide a valid query path. click the proposed context name. contexts resolve one join path in the loop by explicitly defining a join path. it is neutral by default. Another use of contexts is when multiple fact tables share a dimension table. When a new join or table is inserted into the data foundation. See the related topic on resolving loops. Note: You may get a message that the loop can be resolved using aliases. The rows that are returned from the query are the intersection of the results for each path.19 Resolving loops Loops occur when multiple paths join tables. That way. To check if the loops are resolved.n). In the Loops box. you can check if all the loops have been resolved. the rows returned in the query are the union of the results for each path. 4. Related Topics • About join detection • About cardinality • About alias tables • About contexts 5. Detect and insert all the joins in the data foundation. A message appears suggesting what to do about unresolved loops. Detect contexts. once for a each path. contexts are used. Click the Visualize Loops icon . 6. Make sure there are no cycles in the data foundation. 5. the Detect Aliases command cannot determine which table to create an alias for. Aliases and contexts cannot be detected.Working with data foundations 5. Make sure none of the joins have a cardinality of (n. detect aliases. 3. Use the following procedure to resolve the loops in the data foundation: 1. click the Refresh Loop Resolution Status icon . Possible loops are listed in the box. A loop is resolved when you see a green check mark next to the loop name. Set the cardinality manually for (n. You can do this by examining the cardinalities of any loops. 2. It is recommended to insert all proposed contexts. or by refreshing the loop resolution status (see the following steps in this procedure). so fewer rows are returned than expected. Detect or set the cardinalities for the joins. From the Aliases and Contexts pane in the Data Foundation Editor. In this case. 7.n) joins.n). When loops cannot be resolved with an alias table.20 About input columns 89 2011-02-21 . A cycle is a loop that occurs when the tables joined by the loop all have a cardinality of (1. An alias table breaks a loop by using the same table twice in the query. You use contexts to resolve the ambiguity by explicitly directing the query as to which join path to use. They are inherited by any business layer built on the data foundation. It is automatically assigned the current date. 90 2011-02-21 . input columns are inserted automatically into tables in the data foundation to handle time-dependent data. By default. You can edit the prompt parameters in the data foundation. To resolve input columns at query time. This command lists all input columns in the data foundation. Parameters are often defined to prompt the user to supply a value. To insert a parameter or list of values.Working with data foundations For tables referenced by SAP NetWeaver BW connections.22 About data foundation properties Data foundation properties apply to the entire data foundation. allowing the user to choose values for a prompt. Related Topics • About parameters • About lists of values 5. You can insert parameters and lists of values into the data foundation. go to the Parameters and Lists of Values tab in the Data Foundation Editor. and in this case are referred to as prompts. You edit data foundation properties in the Properties tab in the Data Foundation Editor. You can select and input column to edit from the list. a parameter is inserted in the data foundation called key date. You can also right-click anywhere in the data foundation view and select Edit Input Columns. right-click the table in the data foundation view and select Edit Input Column. but cannot be modified in the business layer. A list of values is a collection of data values that can be associated with an object in the universe.21 About parameters and lists of values in the data foundation A parameter is a variable in the universe that requires a value at query time. at query time. the key date parameter is not prompted. To edit the prompting parameters for an input column. From there. the procedure is the same as inserting parameters and lists of values into a business layer. Related Topics • Data foundations with NetWeaver BW connections 5. See the related topics. 91 2011-02-21 . To edit a business object. 2. Click SQL Parameters to set SQL generation parameters in the data foundation. This allows the user to select the query path when the query involves contexts. Note: A Cartesian product is a result set which contains all the possible combinations of each row in each table included in a query. • • Related Topics • About SQL Generation Parameters • About contexts 5. double-click the object name in the Business layers and objects box. and contexts) in the data foundation. joins. Select the business layer for which you want to see the dependent objects. This is the description that can be entered when you create the data foundation in the New Data Foundation Wizard. • • When you select the Allow Cartesian products check box.23 Showing local dependencies Use the Show Local Dependencies command if you change tables and columns in the data foundation. 3. A dialog box lists the data foundation tables and columns. The command will find the business layers and their objects that depend on the table or column. if the design of the data foundation tables and joins could result in a Cartesian product. The Business Layer opens with the focus on the selected object. the SQL is allowed. A Cartesian product is almost always an incorrect result Select the Multiple SQL statements for each context check box if the data foundation contains contexts.Working with data foundations You can enter or edit a description. SQL options apply to all SQL expressions in the data foundation. and the business layer objects that depend on them. Note: You can select several tables and/or columns by holding down the CTRL key. tables. Click Summary to open a dialog box that lists the number of objects (for example. Right-click the table header or column name in the data foundation view and select Show Local Dependencies. For more information on SQL generation parameters with definitions and default values. see the related topic. The business layers that dependent on the select tables and columns are listed. 1. You can define multiple custom views for the data foundation. select Refresh Structure from the Detect menu. • • The wizard lists your selected changes in a summary dialog box and asks for confirmation before continuing with the refresh. Another way to insert a view is to select one or several tables. To start the Refresh Structure Wizard. 5. The wizard proposes to update each corresponding table in the data foundation to add these columns. The wizard proposes to update each corresponding table in the data foundation to delete these columns and the joins that use these columns. you select which of the proposed changes to make in the data foundation. and you are interested in working with a subset of tables. the view is empty. Column data types changed in the database. Columns added in the database. Enter a name for the view. in the Data Foundation Editor. Columns in data foundation tables that were deleted in the database tables. The wizard detects the following changes and lists them each in their own dialog box. click the table headers while holding down the CTRL key.. 92 2011-02-21 . In each case. A new tab appears at the bottom of the view pane. Table operations are allowed from all views. The wizard proposes to update the data type of each column in the data foundation that is different from the database column type. Then right-click and select Insert > View from Selection. right-click the table header and select Add to View. Any changes are propagated to all views in the data foundation. Assigning tables to families is also propagated to all views.24 About refreshing a data foundation Refreshing the structure lets you update the data foundation with changes to the underlying database tables. The wizard proposes to delete these tables and any related joins from the data foundation. • • Tables in the data foundation that were deleted in the database. select Insert View from the Insert menu. To select and add multiple tables.Working with data foundations 5. The view is inserted and contains the selected tables. To add a table to a view. To insert a custom view.25 About custom data foundation views A custom data foundation view is a subset of the data foundation Master view. Use views when you are editing a data foundation that contains many tables. Initially. click the table header in the data foundation view. and enter the comment text. Export creates a file in a local folder that can be shared between different users of the information design tool. For example. Once you have defined a family. select Insert Comment from the Insert menu. Note: To unassign a family. In the "Edit Comment" dialog box. you assign tables to the family so that the tables will have the appearance of the family.27 Inserting comments in the data foundation view A comment is a note that you can place anywhere in a data foundation view. click the Edit Families icon in the data foundation view. select the family. select No Family.26 About table families A family is a set of display parameters that can be used to visually group tables of the same type. in the data foundation view. 5. define the display parameters of the note. To assign a table to a family. To insert a comment. In the "Edit Families" dialog box. In the Families list box. Drag the comment to the location in the view where you want it to appear. 93 2011-02-21 . you might define different families for fact and dimension tables. To add or edit families. The comment is inserted into top left corner of current view. The display parameters include background color.Working with data foundations Related Topics • About the Data Foundation Editor 5. You can export and import family definitions. text color and font. you can add families and edit the display parameters. and select Auto arrange search results. click the icon in the filter text box. column types. To open the search panel. To modify the view to display only the matching tables. 2.28 Searching for tables and columns in the data foundation 1. 94 2011-02-21 . • Select connections. You can limit your search in several ways: • Enter text to search for in the filter text box. the search looks for tables. at the top 5. and contexts in the list boxes. click the Show/Hide Search Panel icon .Working with data foundations 5. The tables that match the search criteria are highlighted in the data foundation view. table types. 3. 4. By default. click the Search Options icon of the search panel. Click Reset to clear the search criteria and start a new search. families. To look for columns. in the data foundation view. When a business layer is complete. an OLAP connection or connection shortcut saved in the same project folder 95 2011-02-21 .2 Creating a business layer Use the New Business Layer wizard to create a business layer based on a data foundation or an OLAP cube. is to think of it as a metadata workbench that a designer uses to assemble and modify a metadata set before publishing as a universe for data analysis and report creation applications. or a business layer and its corresponding data foundation. or on a data foundation that is built on a relational database. Business layers can be created directly on an OLAP cube.Working with business layers Working with business layers 6. Related Topics • Creating a business layer 6. The metadata objects include dimensions. database functions. you need the following: • • • A project folder in the Local Projects View If you are basing the business layer on a data foundation. Each object corresponds to a unit of business information that can be manipulated in a query to return data. hierarchies. columns. for example. it is published to the CMS as a universe. attributes. The principle role of the business layer is to define and organize metadata before it is published as a universe.unx file that includes a business layer and its connection to an OLAP cube. and predefined conditions. a data foundation saved in the same project folder If you are basing the business layer on an OLAP cube.1 What is a business layer? A business layer is a collection of metadata objects that map to SQL or MDX definitions in a database. or pre-aggregated calculations. measures. The universe is available in the repository to SAP BusinessObjects data analysis and report creation applications. A universe is a published . views. Before you can create a business layer. An alternative way to understand the business layer. 1 Specifying the type of data source for a business layer This section describes the Select Data Source Type page of the New Business Layer wizard. Follow the steps in the New Business Layer wizard to enter the following information: • Whether the business layer is based on a data foundation or an OLAP connection • Name for the business layer • The data source • For business layers based on an OLAP cube. See the appropriate related topic for information on a specific page. Related Topics • Specifying the type of data source for a business layer • Naming a business layer • Selecting a data foundation for a business layer • Selecting an OLAP connection for a business layer • Selecting objects from an OLAP cube for a business layer 6. You can select any data foundation in the current project folder. objects from the cube to be included in the business layer.2.1. 96 2011-02-21 . You choose to create a business layer from either a relational or an OLAP data source.1 Using the new business layer wizard The new business layer wizard takes you through the following stages to create a business layer. Select the project folder in the Local Projects View. Select File > New > Business Layer. The business layer is created based on the data foundation or selection of objects from the OLAP cube and appears in the Business Layer Editor. Related Topics • Using the new business layer wizard 6.Working with business layers 1.2. 3. Data Source Type Description Relational The business layer is based on a data foundation. 2. Click the button at the end of the Data foundation text field. 1.3 Selecting a data foundation for a business layer This section describes the "Data Foundation Selection" page of the New Business Layer wizard. Select a data foundation as the data source for the new business layer.2 Naming a business layer This section describes the Resource creation page of the New business layer wizard.1. • Create an empty business layer. You can choose to do one of the following: • Automatically create the business layer objects from the tables and columns in the data foundation. Related Topics • Naming a business layer 6. You can select any OLAP connection or connection shortcut in the current project folder.1. A list of available data foundations appears. 2. You must manually add the objects from the data foundation after creation. This is the name of the universe that is published from the business layer. Related Topics • Selecting a data foundation for a business layer • Selecting an OLAP connection for a business layer 6. Click a data foundation in the list and click OK.2. A business layer naming page appears for the new business layer. 97 2011-02-21 . You enter a name and description of the business layer. Click one of the data source types in the list. 2. 1. Click Next.2.Working with business layers Data Source Type Description OLAP The business layer is based on an OLAP cube. List of available cubes to the connection. • If you do not want to automatically populate the business layer. An attribute is created for the technical name for each dimension.2. The Automatically create classes and objects check box is selected by default.Working with business layers The data foundation name appears in the name field. 3. clear the check box . You need to populate the business layer manually. The new business layer opens in an editing tab. Enter a search string for a cube and click the search icon. If not selected the database delegated function is applied. you browse to and select the target cube. If there are multiple cubes. Select an OLAP connection and the OLAP cube as the data source for the new business layer. click Finish. Related Topics • About business layer objects 6. Detect measure aggregation function Create attribute from technical name Search List of connection cubes Related Topics • Selecting objects from an OLAP cube for a business layer 98 2011-02-21 .4 Selecting an OLAP connection for a business layer This section describes the "OLAP Connection Selection" page of the New Business Layer wizard. You have the following options: OLAP connection options Description OLAP connection Click the browse button at the end of the text field to select an OLAP connection or connection shortcut defined in the project.1. Do one of the following: • If you want to automatically populate the business layer with objects and classes. and click Finish. The Business Layer Editor is divided into browsing panes on the left. an editing pane on the upper right.5 Selecting objects from an OLAP cube for a business layer This section describes the Objects Selection page of the New business layer wizard. The OLAP metadata in the connection displays in the left side of the data source pane.2. The following options are available for displaying and navigating the business layer tree view: • • • Filter by business view Search for an object Change display options: Show or hide objects.1. 6. It displays a tree view of the objects in the business layer. appear at the bottom of the data source pane. To change views. The Business Layer is the default browsing pane. The new business layer appears in the Business Layer pane. The browsing panes allow you to work with different elements of the business layer.Working with business layers 6. click the tab. Expand the object nodes under the selected cube and select the objects to be included in the new business layer. • Related Topics • About business layer properties 99 2011-02-21 . Access the panes by clicking the corresponding tab: • • • • Business Layer Queries Parameters and Lists of values Navigation Paths For more information about what you can do in each of the browsing panes. Tabs for other data foundation views. The data source pane displays the data foundation or the OLAP connection information: • The data foundation master view containing all tables and joins displays by default. show technical names The editing pane lets you edit the properties of the object or element selected in the browsing pane. Click Finish when you have completed the selection. if defined.3 About the Business Layer Editor You use the Business Layer Editor to create and edit business layer objects and properties. and a data source pane on the lower right. Select a metadata object to display its properties in the right side of the pane. see the related topic. Specifies the number of minutes to limit the time passed for query execution. You receive a message when an estimation of the execution time exceeds the specified number of minutes. Specifies the number of rows that are returned in a query.Working with business layers • About business layer objects • Inserting an object into the business layer • Inserting an object directly from the data foundation • About query objects in a business layer • About parameters • About lists of values • About navigation paths for objects • About business layer views • Filtering by business layer view • Searching for business layer objects • Changing display options of the business layer tree view 6. It only limits the number once the RDBMS has started to send rows. This limits the number of rows returned. but does not stop the process on the database.4 About business layer properties The following properties and restrictions are defined for the entire business layer. This description is available to display in the query and reporting tools that use the published universe. Description of the universe purpose and content. The restrictions are applied in the published universe. Property Description Name Identifies the business layer and also the universe when the business layer is published. Description Limit result set size to Query Limits Limit execution time to Warn if estimate exceeds 100 2011-02-21 . but does not restrict the RDBMS from processing all rows in the query. see the related topic. intersect.Working with business layers Property Description Allow use of subqueries Query (apply to business layers based on data foundations) Allow use of union. For more information. to obtain one set of results. other properties are defined. and minus operators Allow complex operands in Query Panel Subqueries are permitted in a query. Displays the number of each type of object defined in the business layer. Comments about the business layer. Also displays the number of data foundation objects defined in the underlying data source. Summary Advanced Data source For OLAP data sources. and minus. intersect. Enables universe user to combine queries using the data set operators union. For more information. Specifies the data source for the business layer: either a data foundation or OLAP connection. see the related topic. Allows complex operands in the list of operands available when defining a filter in the Query Panel.1 OLAP data source properties The following properties apply to the OLAP data source for the business layer: 101 2011-02-21 .4. Related Topics • Editing business layer properties • OLAP data source properties • About SQL Generation Parameters 6. Parameters (apply to business layers based on data foundations) Comments Specifies custom values for SQL generation parameters that override the default values or any customized value in the data foundation properties. Open the business layer in the editor by double-clicking the business layer in the Local Projects View. click Advanced. The END_MDX parameter is equivalent to the END_SQL parameter available for universes based on data foundations. For example: //User: @Variable('BOUSER') Universe: @Variable('UN VNAME') Measures hierarchy name This property is not currently used. click the browse icon to open a list of available cubes. at the end of Cube The cube selected for the current connection.4. 102 2011-02-21 .2 Editing business layer properties 1. For more information on advanced properties for OLAP data sources. you can use the END_MDX parameter to track the database server activity by tracing who is running queries. • To edit the data source for the business layer. • To see the business layer summary. Edit the business layer properties in the editing pane on the right. OLAP Connection To change the connection. 2. click Summary. Make sure the top level of the business layer is selected in the tree view in the Business Layer pane. The solution consists of adding a comment at the end of every MDX query with information about the user and the universe. The value of the END_MDX parameter. see the related topic. The value of the END_MDX is added to the end of every MDX statement. 3.Working with business layers Property Description The connection or connection shortcut that provides the access to the OLAP data source. To change the cube. click the browse icon the field to open a list of available connections. You can select a different cube only if a cube was not specified when the connection was defined. at the end of the field END_MDX value For example. 6. 1 About business layer objects 103 2011-02-21 . Do one of the following depending on the type of data source for the business layer: • If the data source is a data foundation. Related Topics • OLAP data source properties 6. select the new data foundation from the list and click OK. Note: For more information on advanced OLAP properties.3 Changing the data source of a business layer To change the data source for a business layer. The business layer properties display in the editing pane on the right. • If the data source is OLAP. Click the Advanced button.5. click Parameters. see the related topic. To enter or edit comments for the business layer. Make sure the top level of the business layer is selected in the tree view in the Business Layer pane. Save the business layer to apply the modifications. 1. click the browse icon at the end of the OLAP Connection text box. 3. 4. Related Topics • About business layer properties • OLAP data source properties 6. 2. click Comments.4. OLAP connection or connection shortcut) must be saved in the same local project folder as the business layer. 4.Working with business layers • • To edit the SQL generation parameter values.5 Working with business layer objects 6. the new data source (data foundation. Select the new OLAP connection and click OK. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View. for example when the target database field no longer exists. The following properties are common to all objects in a business layer: Property Definition Name Description The name of the object. you can create and edit the following types of objects in a business layer: • • • • • • • • • Dimensions Measures Hierarchies (OLAP only) Analysis dimensions (OLAP only) Attributes Filters Named member sets (OLAP only) Calculated members (OLAP only) Folders Each object in the business layer has properties that can be defined and modified at any time. Names should correspond to the query and data analysis culture of the target user profile. • • • Active: Object is visible in the Query Panel Hidden: Object is valid but not available in the Query Panel (used by other objects as a hidden object). Comment describing the universe. Related Topics • About dimensions and measures • About hierarchies • About analysis dimensions • About attributes • About filters • About named sets • About calculated members • About folders 104 2011-02-21 . Active/Hid den/Deprecat ed For information on a specific business layer object and its properties. The properties that you set for objects in the business layer are applied in the published universe. Depending on the type of data source for the business layer.Working with business layers The Business Layer objects pane contains the metadata objects you use to build the business layer. but you want to keep the object for possible future use. see the related topic. Use the business vocabulary familiar to the user profile when naming objects. Deprecated: Object is hidden and not valid. See the related topic. For more information. For dimensions based on data foundations. Product. lets you define the database columns used as primary and foreign keys. Analysis dimensions allow multidimensional analysis of a business question. A dimension is an object that maps to one or more table columns or a function in a database and represents an axis of analysis in a query.1. and display preferences. For more information. see the related topic. Measures are objects that represent calculations and aggregate functions that map to statistic and analytic data in the database. see the related topic. In a business layer. You can set the following properties for dimensions and measures: Property Description Data Type The data type of the object. 105 2011-02-21 . defines how the numeric information returned by a measure object is aggregated. For more information. For more information. See the related topic.5. The query expression that defines the object. see the related topics. You can select the type from a predefined list. For measures. dimensions represent contextual information (the axes) of analysis and the measures the factual information (data). see the related topic. Properties that include settings for query limits and restrictions. Time.Working with business layers 6. Each dimension classifies an aspect of an activity in a business environment. list of values applied to the object. For more information. Geography. For example. see the related topic. and Employee are common dimensions.1 About dimensions and measures Dimensions and measures are the metadata building blocks of a business layer. Aggregation function Keys SQL Definition or MDX Definition Advanced Source Information Custom Properties The Show Script and Show Values buttons in the editing pane let you see the query script and data for a dimension. The data type of the object. See the related topic. A hierarchy is the representation in the business layer of the hierarchy in the OLAP cube. the levels are not represented in the business layer. If the hierarchy in the cube is level-based.1. The levels are visible when previewing members and in the Member Selector. see the related topic. level objects in the business layer represent the levels. list of values applied to the object. A hierarchy can contain the following: • • • • Level Attribute Named set Calculated member You can set the following properties for hierarchies: Property Description Data Type MDX Definition Applies to hierarchy level objects.5. Advanced Source Information 106 2011-02-21 . Properties that include settings for query limits and restrictions.Working with business layers Related Topics • About analysis dimensions • About aggregation functions • Keys business layer object properties • SQL definition business layer object properties • MDX definition business layer object properties • Advanced business layer object properties • Source business layer object properties • Custom properties for business layer objects • About business layer objects 6. The MDX expression that defines the hierarchy. If the hierarchy in the cube is value-based.2 About hierarchies Hierarchies are only available for business layers based on an OLAP cube. see the related topic. The Preview button in the editing pane lets you see the values for members in the hierarchy. For more information. For more information. and display preferences. The hierarchy that is taken as the default when the entire analysis dimension is selected as a result object in the Query Panel.3 About analysis dimensions An analysis dimension allows you to logically group dimensions that share the same axis of analysis.Working with business layers Property Description Custom Properties See the related topic. Note: Analysis dimensions are only available for business layers based on OLAP cubes.1. Default hierarchy Key attribute Custom Properties Related Topics • Custom properties for business layer objects • About business layer objects 107 2011-02-21 . You can set the following properties for analysis dimensions: Property Description Type This property is not currently used. Related Topics • MDX definition business layer object properties • Advanced business layer object properties • Source business layer object properties • Custom properties for business layer objects • About business layer objects 6. Analysis dimensions are often used for hierarchical analysis. See the related topic.5. This property is not currently used. 5.Working with business layers 6.1. list of values applied to the object.1. For more information. You can set the following properties that are specific to attributes: Property Description Dimension SQL Definition or MDX Definition Lets you select the parent dimension for the attribute. see the related topics. For more information. Native filters apply to business layers based on data foundations.5 About filters A filter is a condition object that limits the data returned in a query. 108 2011-02-21 .4 About attributes An attribute is an object attached to a parent object that provides additional descriptive information about the parent. hierarchies. See the related topic. Native filters are defined by an SQL WHERE clause on data foundation tables. and display preferences. See the related topic. Attributes can be defined for dimensions. and levels. see the related topic. Advanced Source Information Custom Properties Related Topics • SQL definition business layer object properties • MDX definition business layer object properties • Advanced business layer object properties • Source business layer object properties • Custom properties for business layer objects • About business layer objects 6.5. Properties that include settings for query limits and restrictions. The query expression that defines the object. Filters can be inserted into the Query Filters pane in the Query Panel to be applied to the query. When Use filter as mandatory in query is unselected.6 About named sets A named set is a collection of members of a hierarchy in the business layer. You can set the following properties for filters: Property Description Filter type SQL Definition Filter Definition Either Native (data foundation-based business layers only). Custom Properties See the related topic. selecting the Apply on list of values option. The selection of business objects and the value restrictions that defines the condition for business filters. when selected. applies the filter to every query using any object in the either the universe or the folder. For business layers based on OLAP connections.5. The Use filter as mandatory in query option. business filters are defined using named sets of members. For more information. A business named set is defined by selecting members. Property Description Hierarchy Lets you select the hierarchy for the named set. Properties To also apply the filter on LOV queries. 109 2011-02-21 .Working with business layers Business filters are defined by creating and combining conditions on dimensions and measures in the business layer. or Business. the filter applies only when explicitly added to the query.1. A native named set is defined using an MDX expression. The SQL expression that defines the condition for native filters. depending on the selected scope (Apply on universe or Apply on folder). Related Topics • SQL definition business layer object properties • Custom properties for business layer objects 6. You set the following properties for named sets. see the related topic. You can set the following properties for calculated members: Property Description Hierarchy Parent member The hierarchy into which you are inserting the calculated member. To delete previously selected members. click Edit items. Defines the parent for the new member.7 About calculated members A calculated member is a member of a hierarchy that is calculated using an explicitly defined MDX expression that can include data from the OLAP cube. The place in the hierarchy where you are inserting the calculated member. The MDX expression that defines the native named set.1.5. Lets you select members for business sets using the Member Selector. Definition Related Topics • About the Member Selector • MDX definition business layer object properties • About business layer objects 6. To select members. Calculated members are available in the Member Selector used when creating queries. select the member in the list and click Delete. 110 2011-02-21 .Working with business layers Property Description Set type MDX Definition Either Native or Business. numbers. For more information. mathematical operators. and functions. see the related topic. for sort). see the related topic. For more information. Custom Properties Related Topics • Custom properties for business layer objects • About business layer objects 111 2011-02-21 . See related topic. for filter.8 About folders A folder is a container that holds a group of related objects. You can set the following properties for folders: Folder properties Description Content A list of objects in the folder that lets you define properties that describe what the object is used for in the query (for result.Working with business layers Property Description The MDX expression that defines the calculated member. You can enter values for the following MDX calculation and format properties to be included in the MDX query: • Solve order • Format string • Scope Isolation • Language MDX Definition Related Topics • About the Member Selector • MDX definition business layer object properties • About business layer objects 6. The folder has no role in a query. it is only used to organize objects.1. You create folders to house and organize objects that have a common purpose in the business layer. You can change the order or the objects in the folder using the up and down arrow keys to the right of the list.5. Select or clear extra tables. Where: Extra tables 6. or click the SQL Assistant button to use the SQL editor to build the statement. the filter can be applied directly on the fact table by using the dimension table foreign key.11 MDX definition business layer object properties 112 2011-02-21 .Working with business layers 6.1. Lets you select tables related to the object to include in the query at run time.5. Defining keys speeds up data retrieval by optimizing the SQL that is generated for the query. Lets you enter the WHERE statement directly in the text box. For example in a star schema database if you build a query that filters on a value in a dimension table. or click the SQL Assistant button to use the SQL editor to build the statement. Related Topics • Defining keys for an object 6. you specify for a dimension object which database columns are primary and foreign keys. This eliminates unnecessary and inefficient joins to dimension tables.5.9 SQL definition business layer object properties The SQL definition tab in business layer object properties lets you define the SQL statement for the selected object. This allows the query to take advantage of indexes on key columns. Click the button at the end of the text field to open a list of related tables. Note: Defining keys is only available for dimensions built on a data foundation.10 Keys business layer object properties On the Keys tab in business layer object properties. You can enter the following properties: Property Description Select: Lets you enter the SELECT statement directly in the text box.1.5.1. You use MDX to define the SELECT and WHERE clauses for dimensions and measures built on an OLAP cube. You can enter the following properties: Property Description Access level Defines the security access level of the object. You can assign the following security access levels: • Public • Private • Controlled • Restricted • Confidential If you assign Public then all users can see and use the object. List of Values 113 2011-02-21 . then only users with the user profile of Restricted or higher can see and use the object. For example. the object can be used in a query When selected. or click the MDX Assistant button to use the MDX editor to build the expression. Database format By default. the date format for the object is defined in the Regional Settings Properties dialog box of the MS-Windows Control Panel. the date format could be US format.5. Lets you associate a list of values (LOV) to the object. Object can be used in Result Object can be used in Condition Object can be used in Sort When selected. Enter the expression directly in the text box.Working with business layers Multidimensional Expressions (MDX) is the query language used to access OLAP databases.1. or European format.12 Advanced business layer object properties The Advanced tab in business layer object properties lets you define advanced properties for the selected object. returned values can be sorted This property is only available for date objects. You can modify this to use the target database format for storing dates. The LOV applies when defining a filter on the object in the Query Panel. If you assign Restricted. You can select a security level which restricts use of the object to end users with the appropriate security level. 6. The MDX definition tab in business layer object properties lets you define the MDX expression for the selected object. the object can be used to set in a condition When selected. select the Custom Properties tab. Click Edit display format to select a pre-defined format or define a custom format.13 Source business layer object properties The Source Information tab in business layer object properties contains descriptive fields that only apply to objects used by Data Integrator. 4. To add a custom property. 3. select it in the list and click Delete.5. 6. Initial formula information describing how a column has been specified (used in Data Integrator).1. 2. click Add. for example revenue = column calculated from several sources. 114 2011-02-21 .14 Custom properties for business layer objects The Custom properties tab in business layer object properties lets you define custom properties for the selected object.Working with business layers Property Description Display You set display options for the data that is returned by the object in a query. Source columns for the formula used to calculate the column in the database. Property Description Technical Information Mapping Lineage Information about a column. Edit the property object name and number by clicking the column in the list.5. 1. 6. Open the business layer in the editor and select the object in the Business Layer pane.1. for example the original database name of the concerned column for the object. To add or edit custom properties for an object: 1. To delete a property. In the editing pane. You can also select to display the data returned by the object as HTML or Hyperlink. and Last.5. Commonly used aggregation functions are: Sum. The properties for the new object are in the editing pane. see the related topic. First. only attribute is listed as a possible child object for the dimension in the insert menu.2 Inserting an object into the business layer 1. Minimum. Select an object in the business layer tree in the Business Layer pane where you want to insert the new object. the aggregation function for the measure is inferred automatically from the database. If the Delegated function is selected. For more information on object properties. You can edit the properties for the new object. Related Topics • About dimensions and measures 6.15 About aggregation functions An aggregation function defines how the numeric information returned by a measure object is aggregated. at the top of the Business Layer pane and select the type of object Note: The list of available objects for insertion only contains the objects that can be inserted under the selected parent object. 3.5.1. 4. To insert an object at the top level.3 Inserting an object directly from the data foundation 115 2011-02-21 . if you select a dimension. Maximum.5. For example. Related Topics • About business layer objects 6. 2. Open the business layer in the editor by selecting it in the Local Project View. select the top node (business layer name) in the tree. Count. Average. Click the new object.Working with business layers 6. Click the Insert object icon you want to insert. in the Search Objects panel. a folder is automatically inserted in the business layer to contain all the objects for the columns. click the filter icon types. Select the object in the Business Layer pane to edit its properties. 6.5.5. The Search Objects panel opens below the tree view of the business layer and displays all objects. From the list of object 116 2011-02-21 .Working with business layers For business layers based on a data foundation. 3. Click the Show/Hide Search Panel icon at the top of the Business Layer browsing pane. The Business Layer browsing pane displays a tree view of the objects in the business layer. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View. The business layer objects appear in the Business Layer pane and the properties in the editing pane on the right. 2.4 Editing business layer objects 1. select the types to be included in the search. • To select a column. click the column names while holding down the CTRL key. you can drag and drop objects from the data foundation into the business layer. 6. 2. 3. Save the universe to apply modifications. click the column name in the table. • To select multiple tables. The data foundation on which the business layer is based displays in the data source pane on the lower right side of the editing tab. To filter by object type. 1. click the table header. Note: When you drop a table. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View.5 Searching for business layer objects 1. . select the objects to insert: • To select a table. click the table headers while holding down the CTRL key. Open the business layer in the editor. In the view of the data foundation. • To select multiple columns. 3. The Search Objects panel displays only objects of the types selected. Drag the selection to the Business Layer pane and drop the selection into the desired folder in the business layer. 2. 117 2011-02-21 . To perform a text search on object name. Click the Display options icon at the top of the Business Layer browsing pane. Click an object name in the Search Objects panel to open the object properties in the editing pane. again to hide the 6. 6. The display options remain in effect until you close the editor. • Display technical name to display the object name from the cube. 5. 3. In the editing pane. The first key added is the primary key. select one of three options: • Display name to display the object names assigned in the business layer object properties. The Search Objects panel displays only objects with names containing the entered text. 1. 4. 2. the Business Layer browsing pane displays a tree view of the objects in the business layer.5. Click Add key. click the Keys tab. 2. To build the statement in the SQL Editor. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View.7 Defining keys for an object Defining keys for objects is only available for dimensions built on a data foundation. select the Show / Hide search bar icon and type the text for the search. Select the dimension in the Business Layer pane. click Detect.6 Changing display options of the business layer tree view When editing a business layer. 1.5. • Display both name and technical name 3. 6. select the at the end of the Select column. click the Show/Hide Search Panel icon Search Objects panel. You can define one primary and multiple foreign keys for a dimension. select Hide non-active objects. For business layers based on an OLAP connection. When you have finished searching. Use this procedure to change the display mode of the business layer objects. 5.Working with business layers 4. To show only active objects in the business layer tree view. Select the key in the table and click the Select column to add the SQL SELECT statement. Note: To detect existing key columns in the database. Working with business layers 6. Click the Manage Business Layer Views icon at the top of the Business Layer pane. 6. select the 7. see the related topic on Business Security Profile Create Query settings. You can use business layer views to define security to grant or deny the use of business layer objects to certain users or groups. Do one of the following: • To add a view. 3. Click the Active column to enable or disable the key. The "Edit Business Layer View" dialog box opens. You can also filter the Business Layer pane in the editor by business layer view. Note: You cannot edit the Master view.6.6 About business layer views You can modify the display of business layer objects by using business layer views to restrict the number of objects displayed in the business layer pane. click Add. 118 2011-02-21 . Click the Where column to add the SQL WHERE statement. Use business layer views to group objects that share a business relationship. Related Topics • Keys business layer object properties at the end of the Where column.1 Creating and editing a business layer view 1. Business layer views can be selected in the Query Panel. For more information on defining security using business layer views. To build the statement in the SQL Editor. • To edit an existing view. 2. Related Topics • Creating and editing a business layer view • Filtering by business layer view • Business Security Profile Create Query settings 6. select the view in the list. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View. Query objects are not available to reporting and analysis products using the published universe. 6. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View. check Show selected objects only. In the Objects in view box. select or clear the check boxes next to objects in the business layer to include or exclude them from the view. You must have at least one business layer view defined. Edit the view name in the Name text box.2 Filtering by business layer view By default all the folders and objects in the business layer are displayed in the Business Layer pane of the editor.Working with business layers 4. You can filter what you see in the Business Layer pane using a business layer view. Select the business layer view in the drop down list at the top of the Business Layer pane. To work with only the objects already included in the view. Note: Queries can be used within the information design tool to test the business layer and to preview queries. Related Topics • Creating and editing a business layer view 6. 5. 6. 2.6. Enter or edit a description for the view in the Description text box. select Master from the drop down list. 1.7 About query objects in a business layer A query object is a query that is saved and associated with the business layer. Query objects are cataloged in the Query pane of the editor. Related Topics • Adding a query object to a business layer • About the Query Panel 119 2011-02-21 . and are created with the Query Panel. To return to the complete list of objects. and are available to all objects in the business layer.7. The following properties are available for parameters: Property Description If checked.1 Adding a query object to a business layer 1. Pre-defined input that specifies a fixed value for the parameter at run time. 120 2011-02-21 . Click the Insert Query icon The Query Panel opens. The prompt is a question or directive that requires a user to set one or more values to restrict a result set. In the Query Panel.Working with business layers 6. 2. You must edit them in the data foundation. Related Topics • About the Query Panel at the top of the Queries pane. 4.8 About parameters A parameter is a variable in the business layer or data foundation that requires a value at run time. build the query and click OK. Note: Parameters inserted in the data foundation are inherited by any business layer based on the data foundation. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View. Parameters are defined as individual components in a business layer or data foundation. You use parameter objects in the SQL or MDX definition of an object to prompt a user response or to implement a fixed value response to a query. Click the Queries tab under the Business Layer pane. These parameters cannot be edited in the business layer. a pre-defined value is entered at runtime for the parameter. the user is prompted to enter a value at run time. The new query is available in the Queries pane. 3. 6. A parameter can have two input types: • • User input as a response to a prompt. Prompt to users If cleared. Available when the Prompt to users check box is unselected. The properties for the parameter appear in the editor to the right of the Parameters pane. 1. click the Insert Parameter icon at the top of the Parameters pane. Note: Parameters inserted in the data foundation are inherited by any business layer based on the data foundation. Do one of the following: • To insert a parameter. Set values Data Type Allow multiple values Keep last values Index aware prompt Associated list of values Select only from list Set default value Related Topics • Inserting and editing a parameter • Associating a list of values to a prompt defined in the business layer 6. lets the user select multiple values from the list of values.Working with business layers Property Description Prompt Text The text for the prompt question or directive if Prompt to users is checked. click the parameter name in the list. The data type required for the answer to the prompt. Lets you select values to be used as default. • To edit a parameter. 2. If checked. If checked. These parameters cannot be edited in the business layer.8. You must edit them in the data foundation. Lets you enter one or more values to be used for the parameter at the run time. Click the Parameters and Lists of Values tab in the browsing pane of the editor. If checked. The key column is not visible to the user. If checked. the user is forced to select a member in the list. 121 2011-02-21 . the last value chosen by the user is kept when the prompt is re-run. A list of values to provide values for the prompt. the key column is included in the prompt to restrict the values in a list.1 Inserting and editing a parameter The parameter editor can be started from the business layer or data foundation editor tabs. Note: LOVs inserted in the data foundation are inherited by any business layer based on the data foundation.1 List of values query options 122 2011-02-21 . You can define the following types of lists of values: Type of LOV Description List of values based on business layer objects (available only in the business layer) Static list of values List of values based on custom SQL The LOV is based on either a query or a custom hierarchy that includes objects in the business layer. A LOV can be associated with an object at any time. Parameter properties are described in Related topics. The LOV is based on a list of specified values entered manually or imported from a file.9. Related Topics • About parameters • Associating a list of values to a prompt defined in the business layer 6. These LOVs cannot be edited in the business layer. A LOV is an independent component in the business layer or data foundation and is available to all business objects in the business layer. Edit properties as required. The LOV allows a data set to be restricted to the selected values.9 About lists of values A list of values (LOV) is a list that contains the data values associated with an object. Related Topics • List of values query options • List of values column properties • Inserting or editing a list of values 6.Working with business layers 3. The LOV is based on the values returned by a specified SQL expression. A LOV allows a user to chose values as a response to a prompt when an associated object is included in a query. The list is based on the values returned by the query or the hierarchy values. You must edit them in the data foundation. This can have an effect on performance each time the LOV is refreshed. Characters used to define the matching criteria are: • * . The following options are available: Option Description Allow users to edit list of values Automatic refresh before use If selected. If selected.Escapes the next character allowing you to search for a wildcard character.2 List of values column properties The Properties tab in list of values (LOV) properties lets you edit the column properties on LOVs. even zero characters. • ? .Matches exactly one character. If selected. the user running a query using this LOV can search for a LOV value in the database. If selected. You can edit the following properties by clicking the property column in the table of properties: Property Description Column Name Lets you to edit the column name. This option is useful when the user performs a search on partial LOV results. Force users to filter values before use Allow users to search values in the database Query Execution timeout Max number of rows Related Topics • About lists of values 6.9. the LOV is automatically refreshed each time the LOV is called. If selected. limits the time in seconds that the LOV query runs. 123 2011-02-21 .Working with business layers The Options tab in list of values (LOV) properties lets you set user and query constraints on LOVs. the LOV can be edited and personalized by users other than the designer. If selected. the user running a query using this LOV is required to enter search criteria before getting filtered values for the LOV.Matches any number of characters. you can enter the maximum number of rows to be returned by the LOV query. You should disable this option if the LOV returns a large number of values. Only the values that match the search criteria are returned in the LOV. • \ . The properties vary depending on the type of LOV: 124 2011-02-21 .9.Working with business layers Property Description Key Column Data Type Hidden Lets you to select a column to be the index-aware key. 2. The properties for the LOV appear in the editor to the right of the Lists of values pane. Note: Lists of values (LOV) inserted in the data foundation are inherited by any business layer based on the data foundation. For example. click the LOV name in the list. • To edit a LOV. The types are described in the related topic about lists of values. Do one of the following: • To insert a LOV. Edit properties and query options as required. click the Insert List of Values icon at the top of the Lists of values pane and select the type of LOV. You must edit them in the data foundation. Click the Parameters and Lists of Values tab in the browsing pane of the editor.3 Inserting or editing a list of values The list of values editor can be started from the business layer or data foundation editor tabs. These LOVs cannot be edited in the business layer. 1. When selected. the column will not be displayed to the user. Lets you select the data type for the column. 3. Related Topics • About lists of values 6. you can hide a column that is only used as a key for another column. b. or . You can edit column properties in the Properties tab. Use the up and down arrow keys to modify the order.txt.asc file to import as values for the static list. c. In the Query Panel. To see the values on the defined list. . click Preview. Select dimensions from the list to create the hierarchy required for the LOV. Click Edit Query. Click Add Dimension. click Import. Text Delimiter. To add rows. select List of values based on a custom hierarchy. For more information on column properties. To base the LOV on a custom hierarchy: a. Click OK.Working with business layers Option Description List of values based on business layer objects (available only in the business layer) To base the LOV on a query: a. To populate the list from a file: a. Enter the values for the columns in the table. Static list of values To add values manually: a. c.prn. and Date Format options according to the format of the data in the file. b. Select a . select objects and define query filters to define the query that returns the list of values required. The order of dimensions in the list represents the levels in the hierarchy. d. Click OK. click Add Column to add columns to the table. c. d. d. In the Definition tab. b.csv. In the Definition tab. . Click OK. b. click the Add Row icon on the right side of the table. In the Definition tab. Set the Data Separator. see the related topic. In the Definition tab. select List of values based on the query panel. List of values based on custom SQL 125 2011-02-21 . 4. 4. In the Definition tab. set the query options for the LOV. Click the Business Layer tab to open the Business Layer pane. Save the business layer or data foundation. Save the business layer. see the related topic. Associate a LOV to a business object to restrict possible input values when the object is used as a filter in the Query Panel. 6. click Preview. 5. For more information on query options. select the LOV from the list. build an SQL expression to return the required values. To see the values on the defined list. and click OK. 3. and click OK. 5.4 Associating a list of values to a business object The list of values (LOV) must be available in the business layer: The LOV is on the list in the Parameters and Lists of Values tab of the business layer editor. Click the browse icon 7. Related Topics • About lists of values • List of values column properties • List of values query options 6.Working with business layers Option Description a. In the Options tab. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View. 1. Select the Associate list of values check box. Click the business layer object in the Business Layer pane. Click the Advanced tab in the editing pane. In the SQL Editor. 2. For more information on column properties. You can edit column properties in the Properties tab. Related Topics • Inserting or editing a list of values .9. b. see the related topic. click Edit SQL. 126 2011-02-21 . 7. Select the Prompt to users check box. These are the LOVs listed in the Lists of Values pane. 3. If you want to restrict the values available in the list to default values. 8. Click the Parameters and Lists of Values tab under the Business Layer pane.Working with business layers 6. Click a parameter in the list in the Parameters pane. 2. Select values on the left to populate the Selected values list and click OK. Select the radio button for type of LOV. Type Description Business Object LOV Universe List of Values Select values for the LOV from an object in the business layer. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View.5 Associating a list of values to a prompt defined in the business layer 1. You can now include the prompt and LOV in the SQL or MDX definition of an object in the business layer using the @Prompt function with the name of the parameter defined in this procedure: @Prompt(<parameter_name>). 5. select Set Default Values. The properties for the parameter appear in the editor to the right of the Parameters pane. Select either the business layer object or a pre-defined LOV and click OK.9. 4. 6. A selection box appears that lists the available values for the selected object or list. Select a pre-defined customized LOV. and click the browse icon at the end of the field. Related Topics • Inserting or editing a list of values • About parameters • About lists of values • Advanced business layer object properties 6. Click the browse icon at the end of the Associated list of values field. or click the Insert Parameter icon to define a new parameter.10 About navigation paths for objects 127 2011-02-21 . Save the business layer. Related Topics • About navigation paths for objects 128 2011-02-21 . Click the Navigation Paths tab under the Business Layer pane. Custom You define the path based on the available dimensions. Click the Insert Navigation Path icon . The name and description are available to display in the query and reporting tools that use the published universe. 4. Use the up and down arrow keys to change the order of dimensions in the list. 2.10. Click Add to select dimensions for the path. 7. The default path cannot be edited. Otherwise.1 Inserting a navigation path object into a business layer 1. 6. 5. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View. You can view the default navigation path in the Navigation Paths tab of the business layer editor. A drill path is a list of drillable business objects that allow a report analyst to drill down on a dimension. the navigation paths are the dimensions under each folder. A navigation path object can be one of two types: Navigation path type Description Default The path is defined by the hierarchical organization of the business objects in the business layer. Select Custom at the top of the Navigation Paths pane. Related Topics • Inserting a navigation path object into a business layer 6.Working with business layers A Navigation path is an object that defines the drill path used in SAP BusinessObjects reporting tools. the navigation paths include the dimensions under each analysis dimension. If the business layer contains analysis dimensions. 3. Enter a Name and optionally a Description for the path. 2.11 About aggregate awareness Aggregate awareness is a term that describes the ability of a universe to make use of aggregate tables in a database. when all incompatible objects for all the tables are specified. Note: The dialog box also features a Detect Incompatibility button that can guide you in the process of specifying incompatible objects. Refer to the Universe Design Tool User's Guide for a full description of Aggregate Awareness and how to set it up in a universe.11. Repeat the above steps for each aggregate table in the data foundation. 3. Related Topics • Setting aggregate awareness 6. 5. you specify which tables contain objects that are not compatible with aggregate tables containing objects optimized for aggregate awareness. Click OK. Click an aggregate table in the left pane. From the information design tool main menu. Related Topics • About aggregate awareness 129 2011-02-21 . 4.1 Setting aggregate awareness 1. When you click a table and then click this button. In the right pane. not final choices. Open the business layer in the editor by double-clicking the business layer name in the Local Projects View. select the check box for each incompatible object. select Actions > Set Aggregate Navigation. You can use a function called @Aggregate_Aware in the SELECT statement for an object that directs a query to be run against aggregate tables rather than a table containing non aggregated data. objects considered as incompatible are automatically selected. Consider the incompatible objects proposed by Detect Incompatibility as suggestions.Working with business layers 6. In the "Aggregate Awareness" dialog box. 6. Based on the detections. Related Topics • About refreshing a business layer 130 2011-02-21 . For more information about what to do on a particular page.12 About refreshing a business layer For business layers based on an OLAP cube. To undo. Note: A refresh can be undone using the undo action. You can select which update actions you want to apply to the business layer. from the information design tool main menu. select Actions > Refresh Structure. 3. Related Topics • Refreshing a business layer based on an OLAP cube 6.12. 2. the wizard displays a summary of update actions on the "Refresh Summary" page. the "Refresh Business Layer" wizard detects changes in the OLAP cube and applies the changes to the business layer. the wizard lists possible update actions in the "Select Actions" page. click the help icon. Open the business layer by clicking the business layer name in the Local Project View. Undo will recover the business layer to its state before the refresh. select Edit > Undo. 1. You can save the summary to a file. Before applying the changes.1 Refreshing a business layer based on an OLAP cube Use the "Refresh Business Layer" wizard to update a business layer based on changes in the OLAP cube since the business layer was created.Working with business layers 6. You can clear and select proposed changes before applying the update. On the "Select Options" page. A summary list is shown with the changes that are proposed in the business layer based on the changes in the cube structure. You can go back and modify your selection before finishing the wizard. from the information design tool main menu. you can select which types of changes the wizard should detect in the cube. or since the last refresh. To start the wizard. Follow the instructions on the wizard pages. 1. 2. Click Compute.13. The cost-based optimizer of the data federation engine uses these statistics to determine the optimal join method and order. The "Compute Statistics" dialog box displays. open the business layer in the editor by clicking the business layer name in the Local Projects View.13 About computing statistics for optimized query execution For queries on multisource universes. you can obtain the best performance if accurate table and columns statistics are available for the data federation engine. • To compute statistics from the business layer.1 Computing statistics for a multisource universe You can compute statistics only for universes based on a multisource-enabled data foundation. open a session on the repository where the universe is published.Working with business layers 6. The Compute statistics command optimizes query execution because it allows you to compute and store statistics in the repository for the universe. The following statistics are generated for the optimization process: • • The table row count The number of distinct values for the columns You set the following options: • • • • Select all tables and columns that were computed before a certain date Select all tables and columns that were never computed Select every table and column Unselect every table and column Related Topics • Computing statistics for a multisource universe 6. When you check a table. Right-click the universe and select Compute Statistics. You should compute statistics periodically for tables that might change in volume or for which column values are changing frequently. Right-click the business layer name in the Business Layer pane and select Compute Statistics. In the Repository Resources View. 131 2011-02-21 . 3. or the published universe: • To compute statistics from the published universe. Select the tables and columns for which statistics will be computed. all the columns corresponding to this table are selected. You can compute statistics from the business layer. this process can take several minutes or longer. Related Topics • About computing statistics for optimized query execution 132 2011-02-21 . you can close the window and perform other tasks in the information design tool. For large databases. While the computation is in progress.Working with business layers The statistics are calculated and stored in the repository. You can preview the results to verify that the query returns the expected results and you can also view the query syntax that forms the query.1 About the Query Panel Use the "Query Panel" to build and test and preview queries. Related Topics • Description of the Query Panel • About the Member Selector • About queries • To build a query • To add a filter to a query 7.1 Description of the Query Panel The Query Panel consists of the following elements: 133 2011-02-21 . selected regions and so on. results greater than a given value. and you add filter objects to filter the results returned by criteria such as a date range. These result objects show in the query report.X universes.Using the Query Panel Using the Query Panel 7. You insert result objects into the "Result Objects" pane.1. Use the "Query Panel" to create the following types of queries: • Hierarchical queries for OLAP universes • Non-hierarchical queries for relational universes • Non-hierarchical queries for BusinessObjects Enterprise XI 3. Click on a node to open a branch or hierarchy. and modify the query and preview the effects of the modification. use the "Member Selector" tool to displays and select the members of the hierarchy that you want to include in the query. For example. You can click Show/Hide Query Filters Pane Drag objects into this pane to restrict the result data by limiting the query. You can move the query icons to reorganize the way that the queries are combined. Select the objects you want to include in the query from the Business layer tree view and drag them into this pane. or both caption and technical name for each object). you can limit the results returned to specific values or value ranges. drag objects from this pane to the "Result objects" or "Filter objects" pane on the right. this pane allows you to test the results of the query. "Combine Queries" pane (lower left) "Result objects "pane (on the right) "Query Filters" pane (on the right) "Data preview" pane (on the right) The "Query Panel" also has the following buttons: • Combine Queries to combine several queries for a relational universe. You can also select members that you want to exclude from the query. This pane only displays when you are combining queries. You can preview the results that the user will see. When you place hierarchical objects here. When you click Show/Hide Data Preview Pane. To build a query. Click on a query icon to display the query properties in the "Objects" and "Filters" panes. Select the display mode (caption. • Query Properties to view and edit the query properties. It shows the structure of the queries you are combining. technical name. 134 2011-02-21 . These objects are returned as column headers in the resulting report.Using the Query Panel Table 7-1: The Query Panel elements Query Panel element Description Business layer tree view (on the left) This pane shows the available classes and objects. organized in a tree structure. click again on the node to close or collapse the hierarchy. You can search for objects in this pane by clicking the Filter button and entering the search string. select Use custom query script and edit the script in the "Query script" pane. You can use mandatory or predefined filters. even if no object that belongs to the same class has been selected in the Result pane. To edit the script.X query panel. or detail) that belongs to a class with a mandatory filter. add one or more filter objects to the "Filter" pane of the "Query panel". Add a universe pre-defined filter to the "Query Filter" pane of the "Query panel".2 About the Result Objects pane This pane contains the objects that you want to appear as headers in the columns of your report. You can create filters for the following query objects: • Hierarchies • Hierarchy levels • Dimensions • Attributes • Measures 135 2011-02-21 . or detail) to the "Result" pane of the "Query Panel" in interactive analysis.1. To add an object to this pane.3 About the Query Filters pane You can restrict the results returned by using a filter or conditional statement. Note: You can select XI 3. but not in the pane.1. drag and drop from the tree view on the left into the "Result Objects" pane.1.1 About adding filters in the Query Panel To restrict the data returned by a query. Create a filter with an object (dimension. sets and calculated members. measure.Using the Query Panel • View Script to view the structure of the query. 7. measure. A mandatory filter is triggered when users add an object (dimension.3. The mandatory filter is visible in the query script. 7. 7.X universes and build queries in the same way as the XI 3. The "Member Selector" is not available and the queries cannot include dimensional objects such as hierarchy objects with their levels. Use the "View Data" dialog to preview the following: • View the query syntax • Filter the returned data by column* • Filter the returned data by row* • Undo or redo the last change • Save the previewed query results in . click View script in the "Query Panel".Using the Query Panel • Levels When you filter data from an OLAP cube. You can declare the following query properties: • Max rows: Set the maximum number of rows to be retrieved by the query preview. Note: If you want to see a report for a given hierarchy. you effectively create a sub-cube in which the data will be evaluated and aggregated.4. do not use a filter. This way. 7. You cannot edit the query script in this pane. select Use custom query script. and edit the script in the "Query script" pane.xml format. These changes are not updated in the actual query. where you can view the Query syntax and raw data.1.csv or . The query results can be updated manually or automatically (the results are updated as you modify the query). you can add row or column filters to fine-tune your query and view the results. • Advanced preview: Opens the View Data Dialog. To edit the query script. In the Raw Data pane. This reduces query time and reduces the data displayed in the results.1 About the View Data dialog The view data dialog is available from the Advanced Preview option of the Query Panel's "Data Preview" pane. 7. but on the returned data. * The filters do not filter on the query. but place the hierarchy in the Result objects pane and use the member selector to limit the query.1. the aggregated measure values are not restricted. 136 2011-02-21 .4 About the Data Preview pane The "Data Preview" pane at the bottom right of the "Query Panel" allows you to view the results of the query you are defining. • Result set display mode: allows you to select between viewing the result set as a flat layout or a hierarchical layout. 2 To preview results of a query You want to test the query that you are creating. You can do this without saving the query first.5 About the Member Selector 7.1. Click Preview above the "Results" pane The query results are returned Verify that the results returned are those that you expected from the query.1 About the Member Selector Use the "Member Selector" to select members of OLAP universe hierarchies to: • Create named sets of members when creating a universe (this feature is not available in the "Query Panel" • Create queries based on hierarchies or members of hierarchies • Define members that will be excluded from queries The "Member Selector" displays when you click an object in the "Result Objects" pane that contains a hierarchy.5. 7.4.Using the Query Panel 7.1. Check that you have added all the required results objects and filter objects 2. 1. The "Member Selector" consists of the following panes: 137 2011-02-21 .1. 1. 138 2011-02-21 . This tab displays objects by hierarchy levels.1.5. and calculated members. the country and region for a selected city.Using the Query Panel Pane Description "Member Selector" This is the top pane of the "Member Selector". sort.2 About named sets A named set is a group of members that you select and save as a personalized set of members. select. there are three tabs: pane • "Members" tab: Search for.3 About calculated members A calculated member is a complex calculation that you create in the database. An example of a hierarchy is Geography. The information you see in the "Summary" pane appears in the "Result objects" pane of the "Query Panel". all cities for a selected country. They would not normally appear together in a hierarchy. 7.1. 7. The named set is available in the "Query Panel" for creating queries for the end-user. which may group dimensions such as Country. "Summary" pane This shows the selected members.1.5. Region. • "Metadata" tab: Select or exclude by metadata criteria. and City. The calculated member is available to the "Metadata" tab of the "Member Selector". named sets. • "Prompt" tab: Create prompts so that the user selects members or metadata at query run-time. or exclude members according to specific relationships in the hierarchy. prompts.1. but correspond to queries or parts of queries that you frequently use. and excluded members of the query that you are building. and so on).1.5.1 About hierarchies A hierarchy is an ordered series of related objects (dimensions). Users can observe data related to the hierarchy from various viewpoints (All cities for a selected region. Related Topics • About calculated members • About named sets • To select a member by hierarchy relationship • To select members by level • To select a calculated member • To select named sets • To sort members • To exclude a member or member set from a selection • To insert a prompt in a selection 7. Using the Query Panel 7.1.5.2 About selecting members Use the "Member Selector" to select a hierarchy, part of a hierarchy, or members of a hierarchy of an OLAP universe. You can: • Select members according to their level or relationship within a hierarchy • Select named sets • Select calculated members • Specify members that you want to exclude from the query • Create a prompt for the end user to select criteria or members for a query When you have defined the members that are used in the query, you can use the query panel to add filters and to preview the query. Related Topics • About calculated members • About named sets • To select a member by hierarchy relationship • To select members by level • To select a calculated member • To select named sets • To sort members • To exclude a member or member set from a selection • To insert a prompt in a selection 7.1.5.2.1 To select a member by hierarchy relationship Use the member relations functions of the "Member Selector "to choose members by their relationship or position within a hierarchy. The different relationships you can select are available when you select a member in the "Member Selector" pane. Note: Children/Descendants and Parents/Ancestors are mutually exclusive pairs. You cannot choose both the children and descendants of a member, and you cannot choose the parents and ascendants of a member. 1. In the "Members" tab of the "Member Selector", click in the selection box on the left of the member name. 2. In the "Member Selector", right-click the name of the selected member. The list of available options appears. 3. Choose the appropriate relation function from those described below: 139 2011-02-21 Using the Query Panel Option Description Self Children Use only the selected member. This is the default setting. Selects members one level below the selected member that have the selected member as their parent. Selects all members at all levels below the selected member (excluding the selected member). Selects the member that is one level above the selected member and that uses the selected member to obtain part of its value. Selects all members at all levels above the selected member (excluding the selected member). Selects members at the same level that have the same parent as the selected member (excluding the selected member). Exclude the members designated by the exclusion function (Self/Children/Descendants/Parent/Ancestors/Siblings). Descendants Parent Ancestors Siblings Exclude The selection is displayed in the "Summary" pane, preceded by fx. Related Topics • About calculated members • About named sets • To select members by level • To select a calculated member • To select named sets • To sort members • To exclude a member or member set from a selection • To insert a prompt in a selection 7.1.5.2.2 To select members by level All levels of the selected hierarchy must have names. You can select all of the members of the same level in different branches of a hierarchy. For example, select all of the quarters in a time dimension, or cities in a geography dimension. 1. Drag a hierarchy into the "Result objects" pane. 2. Launch the "Member Selector" 140 2011-02-21 Using the Query Panel The "Member Selector" displays the hierarchy members in a tree view. 3. In the "Member Selector", click the "Metadata" tab. The "Member Selector" displays the available levels, calculated members, and named sets. 4. Select a level. 5. Click OK. When you run the query, the members coming from the selected level are computed dynamically when the report is created. Related Topics • About calculated members • About named sets • To select a member by hierarchy relationship • To select a calculated member • To select named sets • To sort members • To exclude a member or member set from a selection • To insert a prompt in a selection 7.1.5.2.3 To select a calculated member You have dragged and dropped a hierarchy or hierarchy member of an OLAP universe into the "Result object" pane of the "Query Panel". The hierarchy you have selected contains one or more Calculated members. 1. Drag a hierarchy into the "Result objects" pane. 2. Launch the "Member Selector" 3. In the "Member Selector", click the "Metadata" tab. The "Member Selector" displays the available levels, calculated members, and named sets. 4. Select a calculated member. 5. Click OK. Related Topics • About calculated members • About named sets • To select a member by hierarchy relationship • To select members by level • To select named sets • To sort members • To exclude a member or member set from a selection • To insert a prompt in a selection 141 2011-02-21 Using the Query Panel 7.1.5.2.4 To select named sets The hierarchy object you have placed in the "Result objects" pane of the "Query Panel" contains one or more named sets. 1. Drag a hierarchy into the "Result objects" pane. 2. Launch the "Member Selector" 3. In the "Member Selector", click the "Metadata" tab. The "Member Selector" displays the available levels, calculated members, and named sets. 4. Select a named set. 5. Click OK. Related Topics • About calculated members • About named sets • To select a member by hierarchy relationship • To select members by level • To select a calculated member • To sort members • To exclude a member or member set from a selection • To insert a prompt in a selection 7.1.5.2.5 To sort members By default the selected members are not sorted, they appear in the order they are stored in the database. You can sort lists in ascending or descending alphabetical order. This is the order that is used in the query. 1. Click on a list of members. 2. Click the Sort toolbar button to toggle between the sort order. The sort is performed locally, and is displayed in the "Member Selector". Note: The sorted list does not correspond to the order in the database, the sort is performed locally. Related Topics • About calculated members • About named sets • To select a member by hierarchy relationship • To select members by level • To select a calculated member • To select named sets • To exclude a member or member set from a selection • To insert a prompt in a selection 142 2011-02-21 Using the Query Panel 7.1.5.2.6 To exclude a member or member set from a selection You have dragged and dropped a hierarchy or hierarchy member of an OLAP universe into the "Result object" pane of the "Query Panel". You want to exclude one or more members from the query. You can exclude members from a query in order to restrict results. Use the Exclude function in the "Summary" pane of the "Member Selector", you can accurately define a member or member set that you do not want to appear in the query. For example, you could exclude one town from a query that returns sales figures for all states in a region. You can exclude: • Explicit members • Implicit members resulting from member functions • Implicit members resulting from hierarchy levels You cannot preview the expected results. You must create a report in order to observe the results. To select a member that you want to exclude from the query results, do the following: 1. Click on a hierarchy in the "Result object" pane to launch the "Member Selector". 2. Use the appropriate functions in the "Member Selector" to define the member(s) that you want to exclude. The defined member appears in the "Summary" pane. 3. Select the member to exclude. 4. Click the Exclude checkbox. The excluded member name displays in the "Summary" pane (and in the "Result objects" pane) with a line through the name to indicate that it is excluded from the query. Related Topics • About calculated members • About named sets • To select a member by hierarchy relationship • To select members by level • To select a calculated member • To select named sets • To sort members • To insert a prompt in a selection 7.1.5.2.7 To insert a prompt in a selection The prompt will appear when the selected member is used as a result object or filter object in a query. You can prompt the user to select a member for the query. 1. In the "Query Panel", click on the expand button of a hierarchy object The "Member Selector" displays 2. Click Prompt 3. Click Enable parameter 4. Edit the prompt text as required. 143 2011-02-21 you use the Member Selector to specify which members of the hierarchy you want to: • Use in the query • Exclude explicitly from the query You can preview the results of the query you are building. You can build single queries. or you can combine queries.2. Note: Queries return a maximum of 15 digits for any number. Related Topics • About calculated members • About named sets • To select a member by hierarchy relationship • To select members by level • To select a calculated member • To select named sets • To sort members • To exclude a member or member set from a selection 7. To use default values. 7. click Set default values and click Edit The Prompts dialog editor displays 6. When you add objects that are members of a hierarchy.Using the Query Panel 5.1 About query properties You can set the following properties for a query: 144 2011-02-21 . and you can view the SQL flow for the query. Edit the prompt and values as required.2 About queries Use the "Query Panel" to build queries. the result set includes rows that can contain empty cells. When the Limit Execution Time parameter is lower than this setting. The administrator can override this setting in the user security profile settings. This method is faster than using the Max rows retrieved parameter.Using the Query Panel Property Description Name Universe Retrieve duplicate rows Type a meaningful name for the query. this option is disabled. where n is the value set for the sample result set. An empty row occurs typically in multidimensional queries when the data for the intersection of two or more dimensions does not exist. When this option is unselected. 145 2011-02-21 . the query returns all related rows. the result set contains only rows with non-empty cells. You cannot use the same name for different queries. this value is the same as the Limit Execution Time parameter in the universe parameters. When this option is selected. Max rows retrieved Defines the maximum number of rows of data that are displayed when the query runs. but only displays the first n rows. You define the universe associated with the query. even if there are duplicate rows. The query retrieves all the possible rows. When you set this value to 0. where n is the maximum number of rows set for this parameter. Sample result set This parameter (when supported by the database) samples n database rows. If you do not want duplicate rows in the result set. When this option is selected. By default. the Limit Execution Time value is used for limiting the query execution time. unselect this option. Retrieve empty rows (only supported in OLAP universes) Max retrieval time Defines the maximum time (in seconds) that a query can run before the query is stopped. This option applies to all queries in the document. other users can access Query View and modify queries in the document. Prompt order 7. Click a prompt and use the up or down arrow to change the position of the prompt. • Queries using named member sets 146 2011-02-21 .1. 7.Using the Query Panel Property Description Reset contexts on refresh This is only available on relational universes.2.2. you can create and test the following types of queries: • Simple (non-hierarchical) queries on hierarchical universes. 4. the query is refreshed using the original contexts. When cleared. The "Query Panel" displays the objects of the query.1 To define property settings for query 1. The user can clear the previously selected contexts by clicking Clear Contexts. When there are several prompts in a query. when a user refreshes a query that contains contexts. Edit the query property settings as required. Allow other users to edit all queries (Web Intelligence only) When selected. Click the "Query properties" toolbar button. use this feature to set the order in which prompts are executed in a query. all the towns for a country). the user must choose the contexts again since the query is considered as a new query. The "Query Properties" dialog displays the properties of the current query. When this option is not selected. The objects in a dimension are all at the same level (for example. only the report creator can modify the document. When this option is selected. Click OK to close the "Query Properties" dialog and save the changes.2 About the different types of queries that you can create With the Query Panel. Double-click a query to open the "Query Panel". 3. If the contexts have been edited since the last run for the query. 2. the user must choose the context(s). Note: You can add a prompt to filter by clicking Prompt and using the "Prompt Editor" to define the settings. 2. 4. Drag any relevant filter objects into the "Filter object" pane. Drag objects or measures from the object pane into the "Result Objects" pane 3. Preview the query Verify the results are as you expected. and so on. You cannot change any settings.2. double-click the object into the "Filter" pane and click Prompt in the "Member Selector". Save the query The query is saved with the document and the final user will be able to use the queries in the document to create reports. and drag and drop the object into the "Filter" pane.2. When you insert a prompt. Open the "Query Panel": click on the Queries tab 2.2 To add a filter to a query You add a filter to a query to limit the returned data. The "Query Panel" allows you to build queries by dragging objects into the query panel result objects pane. Double-click a query to open the "Query Panel". the query that will return your report data.Using the Query Panel • Queries using calculated members 7. or for a specified period of time. the "Members" and "Metadata" panes are deactivated.2. 1. 3. 5. Select an object that you want to use to filter to restrict the returned data.1 To build a query You have opened or created a document based on an available data source. a query can return data in a range of values (sales figures or region codes).3 To build a combined query 147 2011-02-21 .2. These objects form.2. 7. For example.2. To add a prompt to the query. along with any filter objects. 1. 7. "Filter objects" and "Preview" panes. Initially. Click the "Combine Queries" button to add other queries to the combined query. you cannot edit the query script.5 Creating queries that use named sets and calculated members A named set is a collection of members that is defined either with an MDX expression (native member set) or using a member selector (business member set). Click the Combine Queries button to open the "Combined Queries" panel. 6. The objects for the selected query display in the "Result Objects". In the Query Panel.2. 4. edit the query. 3. 148 2011-02-21 .2. The "Show Query Script" dialog box displays. Click "OK" to save the changes. The properties of the second query are displayed.4 To edit the query script 1. You can drag and drop queries in this pane to build more complex queries. 2. The "Combined Queries" panel displays in the lower left corner of the Query panel. 7. To use this option. you must have at least two queries available. In the "Query script" pane. 5. Double-click the operator button to switch between the different combination operators. You select a named set for your query in the same way as you select an object. with two query buttons and the AND operator. 7. The combined query structure is displayed in the "Combined Queries" pane. click View script. 5. Note: This function is not available for OLAP databases. Click on the second query (Query 2 in this case) to display the objects for the second query in the Query Panel. 1.Using the Query Panel You can combine queries for relational databases. Edit the selected query. 4. Click Use custom query script You can now edit the query script. 3. Click Validate to check the script syntax.2. Click a query (Query 1 for example) in the Combined Queries pane to show the query objects.2. 2. the default value (if set) is proposed.Using the Query Panel 7.2. use the edit dialog to edit or select the prompt default values.3 Working with prompts You can add prompts to query objects or to filter objects. 149 2011-02-21 . Select Keep last values selected if you want the prompt to propose that last value that the user selected when the query was run previously. You can set default values. For the first time you use query. Using the Query Panel 150 2011-02-21 . for example the data foundation.Checking integrity Checking integrity 8. the results of the check integrity can be viewed in the Check Integrity Problems View. lists of values) in the editor 151 2011-02-21 . business layers. You can also set a background integrity check that performs the integrity check automatically whenever you save a resource. parameters. parameters. contexts. queries. After closing the "Check Integrity" dialog box. the check integrity starts and displays the results in the "Check Integrity" dialog box. This view allows you to click results and go directly to the appropriate editor to correct problems. connections and shortcuts) in the Local Projects View • Published universes in the Repository Resources View • Elements in the data foundation and business layer (tables. The list of rules varies depending on the object for which you a running a check integrity. and lists of values. business layer objects. Once you have selected the rules and click Check Integrity. You can export the results to a file.2 Running check integrity You can run a check integrity for different objects and resources in the information design tool: • Resources (data foundations. business layer. Running a check integrity helps to avoid problems when running queries and reports on the published universe. The "Check Integrity" dialog box displays the rules available to include in the check. Related Topics • Running check integrity • Reviewing check integrity problems • About check integrity rules 8. You select pre-defined rules that check the validity of the SQL and MDX expressions. as well as for adherence to design restrictions.1 About check integrity Use the Check Integrity function to verify aspects of the design of your universe or its elements. click OK. When you are finished reviewing the results. The editor opens for the object concerned in the result. 3.3 Reviewing check integrity problems 1. Click Apply. To save the results in a text file. Right-click the resource or object you wish to run a check integrity for and select Check Integrity 2.Checking integrity 1. 2. the Data Foundation Editor opens with the table Customer highlighted.4 Setting background integrity check 1. From the information design tool main menu. The results of the check integrity are listed in the right-hand pane of the "Check Integrity" dialog box. or run another check integrity. Select the rules to include in the background check. double-click the result in the list. The Check Integrity Problems View opens listing the results of the latest check integrity. Check the Enable background check integrity on save. To correct a problem. Related Topics • About check integrity rules • Reviewing check integrity problems 8. if the result concerns a problem with table Customer. 4. Click Check Integrity. select Window > Preferences > Information Design Tool > Check Integrity. For example. For more information. 4. 152 2011-02-21 . The results of the check integrity can be reviewed in the Check Integrity Problems View until you run the next check integrity. select Window > Check Integrity Problems. 3. The list of results remains in the Check Integrity Problems View until you close the view. The background check takes effect immediately. 2. Related Topics • About check integrity rules 8. 5. see the related topic. click Export. From the information design tool main menu. select the rules you want to apply. In the left-hand pane of the "Check Integrity" dialog box. then OK. Warning about a missing object (for example.5 About check integrity rules When a check integrity is completed. You must resolve the problem. a missing key or a missing link).1 Check integrity rules for multisource universes The check verifies that: • The SQL-92 expressions are compliant with the SQL-92 syntax. The check was OK. Related Topics • Check integrity rules for the data foundation • Check integrity rules for multisource universes • Check integrity rules for parameters • Check integrity rules for Lists of Values (LOV) • Check integrity rules for Data Access Security Profiles • Check integrity rules for OLAP universes • Check integrity rules for MDX objects in OLAP universes 8. Was expecting one of: {3} 153 2011-02-21 . The errors have the following format: Encountered “{0}” at line {1}.Checking integrity 8. the results display a description of the problem detected. derived tables) are compliant with the syntax of their specific databases. column {2}. • The database-specific SQL expressions (calculated columns. the result of a rule check can have one of three severities: Severity Description Error Warning Information The check has detected something that will not work. the resource in which the problem was found. and the object. A green check mark is displayed next to the rule. For results with severity Error or Warning. The SQL expressions are parsed based on the SQL-92 BNF grammar.5. and is checked against the appropriate database in case of a databasespecific derived table. Error Check calculated column Error Check derived table Error 8.2 Check integrity rules for the data foundation Check integrity can be used to check the following rules in the data foundation: Rule name Description Severity Check connection Check the validity of the connection Error 154 2011-02-21 . In a database-specific Data Foundation. rules already exist to check the validity of the SQL expressions of joins. The validity of the SQL is checked against the Data Foundation Query Server in case of a source-independent calculated column. Table 8-3: Database-specific rules Rule name Description Severity Check join The validity of the SQL is checked against the Data Foundation Query Server. column {2} The errors cannot be more precise due to limitations in the parser.5. The validity of the SQL is checked against the DF Query Server in case of a source-independent derived table.Checking integrity In case of an unknown function the error message is: Unknown function at line {1}. and is checked against the appropriate database in case of a databasespecific calculated column. calculated columns and derived tables. the results can be inaccurate. If your database is large. do not select this option. or may have incomplete data entries.3 Check integrity rules for Lists of Values (LOV) Check integrity can be used to check the following rules in LOVs: 155 2011-02-21 .5. If there is ambiguous or missing data. 8.Checking integrity Rule name Description Severity Check table structure Check if the data foundation table structure is the same as the physical table Check that the table has a primary key Check if the table is not isolated Check that the join is correctly formed Check if the cardinality of the join is defined Check if the cardinality of the join is the same as the detected cardinality Check if the context is wellformed in regard to all loops that it covers Check the validity of the alias table Check the validity of the derived table Check that the calculated column is correctly defined Check the validity of the calculated column data type Error Check table primary key Check isolated table Check join SQL Check cardinality definition Check cardinality same as detected Warning Warning Error Error Warning Check contexts Error Check alias table Check derived table Check calculated column SQL Check calculated column data type Error Error Error Error Note: The option Check Cardinalities can be slow to run when there are large amounts of data. If YES. details. check if the query LOV has contexts. and measures Check that Cascading LOV can be only assigned to dimensions Warning Warning Warning Warning Warning Warning Warning Warning Warning Warning Warning Warning Warning Warning 156 2011-02-21 .Checking integrity Rule name Description Severity Check static LOV filter before use Check static LOV automatic refresh Check static LOV users cannot search values on database Check static LOV timeout disabled Check static LOV max rows Check Business Objects query LOV business item Check Business Objects query LOV contexts Check Cascading LOV based on Business Objects Check LOV based on Custom SQL not empty Check LOV based on Custom SQL connection Check LOV based on Custom SQL filter Check LOV based on Custom SQL users cannot search database Check the Tabular LOV assignment conditions Check the Cascading LOV assignment Check that the Filter before use option is set to False Check that the Automatic Refresh before Use option is set as True Check that the Allow users to search values on the database option is set as False Check that the Query Timeout option is disabled Check that the Max Rows option is disabled Check for each business item the current LOV depends on For the relational universes. check if the context is fixed for the LOV Check each business item used by the current LOV Check that the SQL script is not empty Check that the LOV connection and the LOV data structure are available Check that the Filter Before Use option is well disabled Check that the Allow users to search values on the database option is well disabled Check that a Tabular LOV can be only assigned to dimensions. 4 Check integrity rules for parameters Check integrity can be used to check the following rules for parameters: Rule name Description Severity Check parameter name Check parameter data type Check that the parameter name is not empty. 157 2011-02-21 . Error Error Check parameter selection type Error Check the prompt text Error Check for Prompt to user default values Check associated LOV Error Error At the design time. Check that the default values are not empty when the “Prompt To User” option is selected.Checking integrity Rule name Description Severity Check the Hierarchy LOV assignment and inheritance Check that Hierarchy LOV (based on hierarchies) can be only assigned to Hierarchies. Check that the hierarchy levels automatically inherit to the LOV associated to their hierarchy parent Warning 8. replace it by the parameter name.5. Check that the parameter data type is correctly set. Check that the associated list of values (LOV) is valid. The check integrity on the parameter will accept an object without a LOV for a parameter as long as the parameter allows manual entry. If it is empty. otherwise an error is returned. Check that the parameter type is correctly set (mono or multiple). check that the Prompt Text is not empty. it is possible to define a parameter with no associated LOV. When the “Prompt To User” option is selected. 6 Check integrity rules for OLAP universes Check integrity can be used to check the following rules in OLAP business layers: 158 2011-02-21 .5 Check integrity rules for Data Access Security Profiles The following rules are used to detect inconsistencies between a Data Security Profile and the universe on which it is defined: Rule name Description Severity Profile exists The connection referenced in the Data Security Profile must exist The connection referenced in the Data Security Profile must be a relational connection The connection referenced in the Business Security Profile must be an OLAP connection Check the syntax in the Row Restriction definition Table Mapping Data Security Profile: the table must exist Create Query Business Security Profile: a view does not exist anymore in the Business Layer Create Query Business Security Profile: an object does not exist anymore in the Business Layer Error Profile is relational Error Profile is OLAP Error Check row restriction Check table mapping Check view exists in Business Layer Check object still exists in Business Layer Error Warning Warning Warning 8.5.Checking integrity 8.5. Checking integrity Table 8-8: Generic rules for all objects Rule name Description Severity Check object names Check that the name is unique and valid Error Table 8-9: Analysis dimension rules Rule name Description Severity Check nested analysis dimension Check that analysis dimension and its folders do not contain another analysis dimension Error Table 8-10: Dimension rules Rule name Description Severity Check for measures in dimension Check nested dimension Check that the dimension does not contain measures Check that a dimension does not contain another dimension Check that a dimension does not contain an analysis dimension Check that attributes reference the same OLAP characteristic Error Error Check for analysis in dimension Error Check attribute references Error Table 8-11: Hierarchy rules Rule name Description Severity Check hierarchy Check for dimension Check that the hierarchy does not contain another hierarchy Check that the hierarchy does not contain a dimension Check that the hierarchy does not contain an analysis dimension Error Error Check for analysis dimension Error 159 2011-02-21 . Checking integrity Rule name Description Severity Check for measures in hierarchy Check that the hierarchy does not contain measures Check that the hierarchy attributes reference the same OLAP characteristic Parse the MDX expression of the hierarchies Error Check attributes Check hierarchy MDX expression Error Error Table 8-12: Attribute rules Rule name Description Severity Check attributes Check for parent dimension Check attribute MDX expression Check that the attribute does not have attributes Check that the attribute has a parent dimension Parse the MDX expression of the attribute Error Error Error Table 8-13: Measure rules Rule name Description Severity Check Aggregation function complete Check for measures Check measure MDX expression Check that the Aggregation function is not empty Check that the business layer contains at least one measure Parse the MDX expression of the measure Error Warning Error Table 8-14: Folder rules Rule name Description Severity Check for broken dependencies Check that folders containing linked objects are not missing Error 160 2011-02-21 . 7 Check integrity rules for MDX objects in OLAP universes The following rules are checked for MDX objects in OLAP universes: Table 8-16: Object Member rules Rule name Description Severity Mandatory object name Check that the object name is not missing When an expression contains an @Select function.Checking integrity Table 8-15: Universe view rules Rule name Description Severity Check view contents Check that view is not empty Warning 8.5. check that there is not a circular reference Check that the @Prompt expression parses correctly Check that the @Variable expression parses correctly Check that the MDX expression parses correctly Error Circular reference check Error @Prompt parse failure @Variable parse failure Validate MDX expression Error Error Error Table 8-17: Calculated Measure/Member rules Rule name Description Severity Solve order Language value Check that the solve order value is a number Check that the language value is not a number Error Error 161 2011-02-21 . Checking integrity Table 8-18: Calculated Measure rules Rule name Description Severity Calculated measure incorrect type Calculated measure mandatory aggregate function Calculated measure name unique in the Business Layer Check that the object data type matches the type of the data returned by the expression Check that the Aggregation function is not empty Check that the name is not already used by a calculated measure defined in the business layer Check that the name is not already used by a measure defined on the OLAP server (Search the string [Measures].[<calc measure name>] in the OLAP catalog) Error Error Error Calculated measure name collision with server Error Table 8-19: Calculated member specific rules Rule name Description Severity Calculated member mandatory Hierarchy Calculated member name collision with server Check that the hierarchy is specified Check that the name is not already used by a named set predefined on the OLAP server Fatal Warning Table 8-20: Specific named set rules Rule name Description Severity Named-set Mandatory Hierarchy Named-set name Unique in Business Layer Named-set name collision with server Check that the hierarchy is specified Check that the name is not already used by a named set defined in the Business Layer Check that the name is not already used by a named set predefined on the OLAP server Error Error Warning 162 2011-02-21 . Checking integrity Rule name Description Severity Crossjoin Check that the expression does not contain the string 'crossjoin' Warning 163 2011-02-21 . Checking integrity 164 2011-02-21 . connection shortcuts. the wizard exports the business layer and the resources it references (local connection. The universe inherits the object-level security and user security rights defined for the CMS. you must publish it first to a repository on a Central Management Server (CMS). To work on it. you publish a business layer to either your local file system or a repository. Publishing locally Only business layers built on local connections can be published locally. you must retrieve it using the Retrieve Universe Wizard.1 About publishing resources Publication is the last step in the universe creation process. and creates these resources in a local project where they can be edited. connection shortcuts. Using the Publish Universe Wizard. The published universe is saved in the local file system folder that you specify. The Publish Connection Wizard creates the secured connection and provides a connection shortcut for the local project. you must edit it from the Repository Resources View. Connections can only be published to a repository.Publishing resources Publishing resources 9. The wizard retrieves the universe from the local folder or the repository. When you publish a business layer. separates it into the business layer and the resources it references (local connection. reporting and analysis tools. publish it to a repository on a CMS. and data foundation). The data and metadata in the universe are secured by defining security profiles in the information design tool Security Editor. data foundation). To edit a published connection. This can be a business layer based on a local OLAP connection. use the Repository Resources View. it is an unsecured local connection and must be published before you can publish a business layer that references the connection. To browse and manage resources once they are published to a repository. 165 2011-02-21 . Editing published resources You cannot edit a published universe directly in the information design tool. To secure a connection. When you create a connection in a local project. and creates a universe which is then available to users of query. Publishing to a repository To secure a universe. or a business layer based on a single-source data foundation with a local connection. the business layer must reference one or more secured connection shortcuts. synchronize the project to ensure that all changes are taken into account in the published universe. select the business layer in the Local Projects view . The Publish Universe Wizard gives you the option to run a check integrity before publishing. right-click the business layer and select Publish > To a Repository. All shortcuts must reference connections defined in the repository where the universe is to be published. first publish the connection and change the connection reference in the data foundation (relational). the business layer must reference only a local connection that is not secured in any repository. 2. Note: If the business layer references a local connection and you want to publish to a repository. Related Topics • Publishing a local connection to the repository • About check integrity • Opening a session 166 2011-02-21 . Start the Publish Universe Wizard: • To publish to a repository. For more information about what to do on a particular page. select the business layer in the Local Projects view. right-click the business layer and select Publish > To a Local Folder. If the business layer references resources that are shared. • To publish to a local folder. if applicable. Follow the instructions on the wizard pages. 1. click the help icon in the lower left corner. the data foundation. or in the business layer (OLAP) to use the connection shortcut. To publish a universe locally.Publishing resources Related Topics • Publishing a universe • Retrieving a published universe • Publishing a local connection to the repository • Overview of universe security • About managing repository resources 9.2 Publishing a universe To publish a universe to a repository. Recommended actions before publishing a universe: • • Save the business layer and all the resources it references. • Check integrity of the business layer and. the wizard prompts you for a local folder. right-click the connection and select Publish Connection to a Repository. 1. When publishing a resource to a repository. click Browse. To remove the local security requirement. navigate to the repository folder in the navigation tree in the left-hand pane. Enter the path to a folder accessible from your local machine. You have the choice to create connection shortcut in the local project. You can insert a folder. Note: By default. navigate to the repository folder in the left-hand pane. select the Save for all users check box. select the connection in the Local Projects View.Publishing resources 9.1 Selecting a repository folder When publishing or retrieving resources on a repository. When retrieving a published universe. Related Topics • Opening a session • About connection shortcuts 167 2011-02-21 . and select the universe in the universe list in the right-hand pane. To publish a business layer based on this connection. click the help icon in the lower left corner. To start the Publish Connection Wizard.3 Publishing a local connection to the repository 1. the wizard displays the folders in the repository in the left-hand pane. 2. For more information about what to do on a particular page.2 Selecting a local folder When publishing or retrieving a resource in a local folder. the resources are retrieved into the local project and are secured locally by requiring you to enter the CMS authentication when opening a retrieved data foundation or business layer. To browse the file system and select a folder. 9. 9. 2. edit the business layer or data foundation to refer to the new shortcut. The table in the right-hand pane lists the resources in the folder. Follow the instructions on the wizard pages.2.2. The connection is published in the repository. The local connection is deleted from the Local Projects View. Publishing resources • Changing a connection in a data foundation • Changing the data source of a business layer • Synchronizing a project 168 2011-02-21 . Run a query. Universe management You can do the following tasks on . and not the underlying business layer. The Universe folder contains universes published with the information design tool (. This command saves the business layer and its referenced resources in a local project so that you can edit them. Delete a secured connection from the repository. see the related topic. The following sections summarize the tasks you can do from the Repository Resources View. Create a connection shortcut in a local project from an existing secured connection. open a session on the CMS where the repository is stored. Retrieve a universe.unx universes (published using the information design tool): • • • • • Run a check integrity. This command opens the Query Panel. The security settings defined in the security profiles for the universe are applied according to the username in the session. you can insert. This command renames only the universe. Secured Connection management • • • • Edit an existing connection.unv universes). To navigate a repository.unx universes). The Connections folder contains the secured connections created using the information design tool and universe design tool. The Repository Resources View lets you navigate and interact with the folders and resources in repositories. You can do the following tasks on . and delete sub-folders in the Connections and Universes folders. Rename a universe. Delete a universe from the repository. Folder management With appropriate rights.Working with repository resources Working with repository resources 10. rename.unv universes (created using the universe design tool or migrated from earlier versions): 169 2011-02-21 . For more information about sessions.1 About managing repository resources Repository resources are the universes and connections that have been secured in a repository on a Central Management System (CMS). Insert a new secured relational or OLAP connection in the repository. as well as universes created and exported with the universe design tool or migrated from earlier versions (. it is retained in the Repository Resources View. or publish the converted . Workflows in the information design tool that require access to secured resources prompt you with the "Open Session" dialog box. You can save the converted resources in a local project. You can also define a session with the Insert Session command in the Repository Resources View.2 About session management A session contains the Central Management Server (CMS) system name and authentication information needed to access resources stored in a repository. Once a session is opened it stays open until you exit the information design tool. you will only need to enter the password. If you no longer need a session and want to delete it from the list. use the Delete Session command in the Repository Resources View. If you have not already defined a session for the repository you want to access.unv universes 10. Several sessions can be open at the same time. as long as the sessions are on different CMS systems.Working with repository resources • • Convert a universe. Related Topics • About session management • About editing connections and connection shortcuts • Creating a relational connection • Creating an OLAP connection • About connection shortcuts • About check integrity • Running a query on a universe published in a repository • Retrieving a published universe • About converting . and also on the Sessions list. you can select New Session from the Sessions list box. Once the session is defined.unx universe in the repository. you must first close the open session. you must do so from the Repository Resources View. Related Topics • CMC rights for information design tool users • Opening a session • Closing a session 170 2011-02-21 . The next time you open the session. To explicitly close a session. Delete a universe from the repository. If you need to open a session with a different username and password on a CMS that has another session open. click OK. To open a session on a repository not already defined in the information design tool: 1. select Insert Session. you need to provide the host information in a hosts file on the client.com instead of myuser@domain. click OK. from the Insert Select New Session from the Sessions list box. Note: If you try to open a session on a repository which has another session already open. 4. Next. enter the name of the Central Management System where the repository is located. Do one of the following: • • In the Repository Resources View. To change sessions on a repository. select the authentication method to use. an error message displays. Note: For Authentication type Windows AD. 3. Enter your User Name and Password. 171 2011-02-21 . 5. or Connect. 2. a list of predefined sessions is available. specify the complete domain name in the User Name. If you are prompted to open a session. If the session is not already open. enter your Password. you must first close the open session in the Repository Resources View.1 Opening a session Different workflows require you to open a session. Next. enter myuser@domain. or Connect. 2. Do one of the following: • • In the Repository Resources View. The authentication information for the CMS is filled in for you. Depending on the workflow. In the System box. In the Authentication list. For example. Select the session in the Sessions list box. right-click the repository name and select Open Session. menu. Update the hosts file is in the following location: C:\WINDOWS\system32\drivers\etc\hosts 3. Depending on the workflow. Note: To insert a session for a repository that is hosted on a machine in a different domain than the client hosting the application.Working with repository resources 10. The Sessions list box is organized in the following order: • • • Open sessions in alphabetical order Closed sessions in alphabetical order New Session To open a session on a repository already defined in the information design tool: 1.2. Right-click and select Close Session. 2. 2. 1. To explicitly close a session: 1. In the Repository Resources View.3 Running a query on a universe published in a repository When you run a query on a universe published in a repository. select the session you want to close. In the Repository Resources View. 172 2011-02-21 . the Query Panel applies the settings defined in the security profiles for the universe according to the user name defined in the session. or exit the information design tool.2. Note: Select .Working with repository resources The session remains open until you explicitly close it in the Repository Resources View. Right-click the universe name and select Run Query.unx universes only. Related Topics • Closing a session 10. The Query Panel opens with a list of views and objects granted for your user name. select the universe. 10.2 Closing a session All open sessions close when you exit the information design tool. 1. universes.1 Overview of universe security Universe security starts when the universe is published to a repository on a Central Management Server (CMS). Once the profile is assigned to a user or a group. you define security profiles for the universe and assign these profiles to users and groups. resources. you grant the right to access specific folders. Published universes are stored in the Universes folder and secured connections are stored in the Connections folder. the settings in the profile determine what objects. As a first level of security. The basics of how security profiles work are presented in this topic. Multiple profiles can be defined for each universe. To create this level of security. The settings control the data that is displayed and modify the parameters defined in the data foundation and/or business layer. 173 2011-02-21 . You can restrict the data that is returned in a query using query limits and controls. and row restrictions. You define another level of security using the information design tool Security Editor. data. You can also grant or deny access to objects and views in the business layer. and connections in the repository to specific users and groups. You secure universes based on the users and groups that are defined in the system repository using the Central Management Console (CMC).1 Introduction to security in the information design tool 11. using the CMC. How to define these rights is described in the SAP BusinessObjects Business Intelligence platform Administrator's Guide. The profiles are saved in the repository.Managing security Managing security 11. and connections the user sees when connecting to the universe. Business Security Profiles have security settings defined on objects in the business layer. Security profiles A security profile is a group of security settings that apply to a universe published in the repository. filters. There are two types of profiles: • • Data Security Profiles have security settings defined on objects in the data foundation and on data connections. including any changes. When more than one profile is assigned to a user. changes in a profile are independent of assignments. so you do not have to reassign a profile when it is modified. run a check integrity on the universe to flag any discrepancies between the universe and its security profiles. In the information design tool.1. the profiles are aggregated to produce a single group of settings called the net profile. If you republish a universe. and preview net profiles for a user or group. can see all the objects in the universe and all the data returned by those objects. Aggregation follows priority and restriction levels that you can modify in the Security Editor. the security settings defined in the profile are applied whenever the user runs a query on the universe. Profile maintenance Profiles are stored independently from the universe itself: changes in the data foundation or business layer of the universe do not affect the profiles when the universe is republished. security profile settings do not apply. Profiles created for a universe are deleted when the universe is deleted. A user might be assigned a profile and also inherit profiles from groups. and who has no security profiles assigned or inherited. When you run a query from the Business Layer Editor.Managing security How profiles work A user of query and reporting tools who has been granted access to a universe using the CMC. It remains assigned. 174 2011-02-21 . They are applied according to the username you used to open the CMS session. How multiple profiles are handled You can assign more than one profile to a user or group.2 Overview of securing resources in the information design tool No authentication is required to start the information design tool. When you assign a profile to the user. Similarly. security profiles are applied when you run a query from the Repository Resources View or the Security Editor. Related Topics • Data Security Profiles • Business Security Profiles • Security profile aggregation • Displaying profiles assigned to a user and previewing net profiles • Running a query on a universe published in a repository • Using the Security Editor 11. You can also see which profiles a user or group inherits. it reopens any resources that were open when you last closed the tool. Related Topics • About local projects • About connection shortcuts 11. the user must enter the CMS authentication for the repository where the connection is published. Resources can also be retrieved from a shared project during project synchronization. If secured resources are open. Secured connections must be edited directly in the repository from the Repository Resources View. Secured connections cannot be retrieved from the repository and stored locally in the information design tool. or publishes universes or connections to a repository. a shortcut to the connection in the repository is stored in the local project. you need to enter your CMS authentication to start the tool. universe. Instead. business layers. Note: To remove the local security requirement. A user with appropriate rights can retrieve a published universe from the repository for editing. The system uses the authentication to determine what rights the user has for that connection. In both cases. Rights are granted in the Central Management Console (CMC). The resources are saved in a local project. show table values or run a query). any user can open the resource without entering CMS authentication. connections) in the Local Projects view. When you start the information design tool. and connection rights necessary to do tasks in the information design tool are summarized in this topic.1. To open a session on the repository system and do all secured tasks in the information design tool: • You must have a username and password configured by the system administrator in the CMC for the CMS where the repository is stored. you must have the "Save for all Users " right granted in the CMC.Managing security A user can create and edit unsecured resources (data foundations. the resources are retrieved into the local project and are secured locally by requiring the user to enter the CMS authentication when opening a retrieved data foundation or business layer. How to define these rights is described in the SAP BusinessObjects Business Intelligence platform Administrator's Guide.3 CMC rights for information design tool users The application. When a resource is saved for all users. How to define these rights is described in the SAP BusinessObjects Business Intelligence platform Administrator's Guide. Resources are secured when a user shares a local project and its resources. Application rights are granted in the Central Management Console (CMC). Shared projects and published resources are stored securely in a repository on the Central Management Server (CMS). 175 2011-02-21 . To be able to access data from a secured connection (for example. or delete connections" application right "Add objects to the folder" on the connection folder (to create) "Edit objects" connection right "Publish universes" application right "View objects" right on the universes folder "Add objects to the folder" right on the universe folder "Edit objects" universe right (to republish) "Retrieve universes" application right "View objects" right on the universe folder "View Objects" universe right "Retrieve universe" universe right No rights are required. or delete connections" application right "View objects" right on the connections folder "Add objects to the folder" right on the connections folder "Create. but the user must provide the CMS authentication of the user who saved the resources. modify. modify. Task Rights required • Publish a connection to a repository • • "Create.Managing security • You must have the right "Connect the CMS with Information design tool and view this object in the CMC" granted in the CMC. "Save for all users" application right "Retrieve universes" application right "View objects" right on the universes folder "View Objects" universe right "Retrieve universe" universe right "Save for all users" universe right "Administer security profiles" application right "View objects" universe right "Edit security profiles" universe right "View objects" universe right "Assign security profiles" universe right • Edit a secured connection from the Repository Resources View • • • • • • • • • • • Edit secured local resources • • • • • • • • • • • Publish a universe to a repository Retrieve a published universe from a repository Unsecure local resources Open the Security Editor Define security profiles Assign security profiles to users and groups 176 2011-02-21 . Additional rights needed are listed in the table by task. unv universe stored in the repository • • • "View objects" right on the universe folder "Add objects to the folder" right on the universe folder "View objects" universe right "Compute statistics" application right "View objects" universe right "View objects" universe right "Delete objects" universe right "Create. 177 2011-02-21 . or delete connections" application right "View objects" connection right "Delete objects" connection right Compute statistics for a multisource universe • • • • • Delete a universe from the repository Delete a connection from the repository • • Related Topics • About session management 11.2 Data Security Profiles A Data Security Profile is a group of settings that define security on a published universe using objects in the data foundation and the data connections. All Data Security Profile settings apply to relational universes only. modify.Managing security Task Rights required • • Run a query on a published universe • • • "View objects" universe right "Create and edit queries based on this universe" universe right "Data Access" universe right "View objects" right on underlying connections "Data Access" right on underlying connections Share project resources: • Share a local project • Open the Project Synchronization View • Synchronize project resources • Lock and Unlock resources • Rename or delete a shared project • "Share projects" application right Convert a . 2.1 Data Security Profile Connections settings Connections settings can be defined for relational universes only. Only secured connections can be defined as replacement connections. Once a user is assigned or inherits a profile that contains a replacement connection. Use the Data Security Profile Connections setting to define replacement connections that can override the connections defined in the universe.Managing security Table 11-2: Security settings in Data Security Profiles Security Setting Description Connections Controls SQL Rows Tables Defines replacement connections Defines replacement query timeout and size limits Defines replacement query options Defines an SQL WHERE clause to restrict rows returned in the query Defines replacement tables Each type of Data Security Profile setting is described in a related topic. The replacement connection must be of the same type as the original connection. when the user runs a query on the universe. • • • SAP NetWeaver BW relational databases SAS relational databases Other relational databases You can select a connection in the Connections folder and sub-folders for which you have the "View objects" right granted for the repository where you are defining the security profiles. Related Topics • Data Security Profile Connections settings • Data Security Profile Controls settings • Data Security Profile SQL settings • Data Security Profile Rows settings • Data Security Profile Tables setting • Security profile aggregation • Inserting and editing a security profile 11. Relational connections fall into one of three types. listed below. the replacement connection is used instead of the connection defined in the universe. 178 2011-02-21 . the replacement limits are used instead of the limits defined in the business layer properties. In the editor for Data Security Profiles. Related Topics • About business layer properties • Security profile aggregation 179 2011-02-21 . Use the Data Security Profile Controls settings to define replacement query limits to override default limits when retrieving data from the database. or enter a new value for a limit.2 Data Security Profile Controls settings Controls settings can be defined for relational universes only.Managing security For multisource universes that rely on multiple connections. you can define a replacement for each connection.2. When you select or unselect a limit. Default query limits are set by the universe designer in the business layer. the label appearance changes to bold. This shows that the limit is an override and not the default limit defined in the universe. see the related topic about business layer properties. Query Limit Possible values Limit size of result set to • • • • • • True and a numerical size between 0 and 2147483647 rows False True and a numerical size between 0 and 2147483647 minutes False True and a numerical size between 0 and 10000 minutes False Limit execution time to Warn if cost estimate exceeds For more information on query limits. when the user runs a query. Once a user is assigned or inherits a profile with replacement Controls settings. Related Topics • Security profile aggregation 11. the limits selected and the limit values defined in the business layer are displayed. When you select or unselect an option. the label appearance changes to bold. when the user uses the query panel. Query Option Possible values Allow use of subqueries • • • • • • • • • • • • True False True False True False True False True False Warn Prevent Allow use of union.3 Data Security Profile SQL settings SQL settings can be defined for relational universes only. the replacement options are used instead of the query options defined in the universe. see the related topics about business layer and data foundation properties. Use the Data Security Profile SQL settings to define replacement query options. This shows that the option is an override and not the default defined for the universe.2.Managing security 11. In the editor for Data Security Profiles. Once a user is assigned or inherits a profile with SQL settings. the SQL settings selected in the business layer and data foundation are displayed. The universe designer defines default query options in the business layer and data foundation properties. Related Topics • About business layer properties • About data foundation properties • Security profile aggregation 180 2011-02-21 . intersect and minus operators Allow complex operands in Query Panel Multiple SQL statements for each context Multiple SQL statements for each measure Allow Cartesian products For more information on query options. Use Data Security Profile Rows settings to restrict the rows returned in a query. references to other tables in any connection defined for the universe For multisource-enabled universes. when the user runs a query that references the original table. Once a user is assigned or inherits a profile with a Rows setting.Managing security 11. when the user runs a query on the universe. Once a user is assigned or inherits a profile with a Tables setting. Use the Data Security Profile Tables setting to define replacement tables. Remember to manage the user's rights in the reporting tool to prevent the user from modifying the SQL. SAP BusinessObjects SQL functions The SQL for the WHERE clause cannot include: • • Calculated columns Derived tables Related Topics • Security profile aggregation 11. You restrict the rows by defining an SQL WHERE clause for a specified table. 181 2011-02-21 .2. the replacement table is used instead.2.4 Data Security Profile Rows settings Rows settings can be defined for relational universes only. the defined WHERE clause is added to the SQL generated if the table is referenced in the query. Remember to manage the user's rights in the reporting tool to prevent the user from modifying the SQL. Note: A user who has the right to edit the generated SQL in the reporting tool can change the replacement table name.5 Data Security Profile Tables setting Tables settings can be defined for relational universes only. You can define the WHERE clause for any standard table in the data foundation. The SQL for the WHERE clause can include: • • • @Functions such as @Variable and @Prompt For multisource enabled universes. Note: A user who has the right to edit the generated SQL in the reporting tool can change the WHERE clause generated by the Rows setting. Create Query Note: Create Query settings secure metadata only. or another standard table in the data foundation.3 Business Security Profiles A Business Security Profile is a group of settings that define security on a published universe using objects in the business layer. designers can set the status of objects to Active. and not as part of the table name. Display Data Filters Each type of Business Security Profile setting is described in a related topic. you must enter these in the fields provided. In the business layer. When defining profile settings. Hidden. Table 11-3: Security settings for Business Security Profiles Security Setting Description Defines the universe views and business layer objects available to the user in the query panel. For more information about data foundation table names. Note: If you want to specify an owner and qualifier for the replacement table. you have access to all active objects in the business layer. or Deprecated.Managing security You can replace a standard table in the data foundation with a database table in any connection defined for the universe. Related Topics • About data foundation tables • Security profile aggregation 11. Related Topics • Business Security Profile Create Query settings • Business Security Profile Display Data settings 182 2011-02-21 . Objects that are hidden or deprecated in the business layer never appear in the query panel or on reports. see the related topic. Defines filters using objects in the business layer. Grants or denies access to the data retrieved by objects in the business layer when the user runs a query. Managing security • Business Security Profile Filters settings • Security profile aggregation • Inserting and editing a security profile 11. The All objects option allows you to grant or deny all objects in the business layer. By object: You can grant or deny the objects listed below.3. There are two ways to grant or deny objects: • • By business layer view: Grants or denies all objects in a view. and then deny the ones that are not allowed. 183 2011-02-21 . Using the All business layer views and All objects options has the advantage that any new view or object defined in the business layer is automatically included in the Create Query setting when the universe is published. For more information about aggregating profiles. • Analysis dimensions: Grants or denies all objects in the dimension. Unlike objects that are explicitly denied. Once the user is assigned or inherits a profile with a Create Query setting. • Hierarchies: Grants or denies all objects in the hierarchy. Note: It is not possible to grant or deny a hierarchy level.1 Business Security Profile Create Query settings Use the Business Security Profile Create Query setting to grant or deny the use of business layer objects in the query panel. only the views and objects granted by the setting are displayed and can be selected for a query. The All business layer views option allows you to grant or deny all views defined for the universe. see the related topic. By default. Tip: If most views are allowed. it is easiest to grant all views. it is denied by default. objects that are denied by default could be granted by inheritance after aggregating Business Security Profiles to determine the net profile for a user. a user with access to the universe granted in the repository can see all universe objects in the query panel. If an object is not granted and not denied explicitly. • Dimensions • Attributes • Measures • Calculated members • Filters • Prompts • Named sets • Folders: Grants or denies all objects in the folder. Managing security If the All business layer views or All objects option is used, the settings are aggregated to determine the net setting for this profile, for example: • • • • If All business layer views are denied and one view is granted, this profile denies all views except the one granted. If All business layer views are granted and one view is denied, this profile grants all views except the one denied. If All objects are denied and one object is granted, any parent folders in the path to access the object are granted, but only to access the object. The other objects in the parent folders are denied. If All objects are granted and one object is denied, the parent folders in the path to access the object are denied, but only to prevent access to this object. The other objects in the parent folders are granted. The objects in a granted view are granted in that view only. If the same object is contained in another view, it is not automatically granted. Whether or not a user sees a particular object in the query panel is determined after aggregating the Create Query settings in all profiles assigned to the user, and taking into consideration object access level. For more information about aggregating profiles, see the related topic. Related Topics • Security profile aggregation 11.3.2 Business Security Profile Display Data settings Use the Business Security Profile Display Data settings to grant or deny access to the data retrieved by objects in the business layer. By default, a user with access to the universe granted in the repository can see the data retrieved by all universe objects. Once the user is assigned or inherits a profile with a Display Data setting, only the data corresponding to the objects granted by the setting is displayed. If an object is not granted and not denied explicitly, it is denied by default. Unlike objects that are explicitly denied, objects that are denied by default could be granted by inheritance after aggregating Business Security Profiles to determine the net profile for a user. For more information about aggregating profiles, see the related topic. The following objects can be granted or denied. The All objects option allows you to grant or deny all objects in the business layer. • • • • • • Dimensions Attributes Measures Calculated Measures Calculated Members Named Sets 184 2011-02-21 Managing security • • Folders: Grants or denies all the objects in the folder. Hierarchies Using the All objects option has the advantage that any new object defined in the business layer is automatically included in the display data setting when the universe is published. If the All objects option is used, the settings are aggregated to determine the net setting for this profile, for example: • • If All objects are denied and one object is granted, any parent folders in the path to access the object are granted, but only to access the object. The other objects in the parent folders are denied. If All objects are granted and one object is denied, the parent folders in the path to access the object are denied, but only to prevent access to this object. The other objects in the parent folders are granted. A user who is denied an object by a Display Data setting might refresh a report containing the denied object. You can specify what the refresh should do in this case by setting the SQL generation parameter AUTO_UPDATE_QUERY in the business layer. • If this parameter is set to No, then refreshing the report generates an error message. • If this parameter is set to Yes, then the denied objects are removed from the query and from any filters defined in the business layer. Data for other granted objects is retrieved and displayed to the user in a partial report. Whether or not a user sees data for a particular object is determined after aggregating the Display Data settings in all profiles assigned to the user, and taking into consideration object access level. For more information about aggregating profiles, see the related topic. Related Topics • Security profile aggregation 11.3.3 Business Security Profile Filters settings Use the Business Security Profile Filters setting to define a filter using objects in the business layer, or named member sets. You create and edit filters explicitly for the Business Security Profile using the Security Editor. Filters in the Business Security Profile are not accessible in the business layer. If the Business Security Profile is deleted, the filter or named set is also deleted. Once the user is assigned or inherits a profile with a Filters setting, the filter is added to the query script (and therefore combined with any filters defined in the business layer) to restrict the data displayed. Relational universes For relational universes, you define filters on dimensions and measures in the business layer. You can define compound filters that are linked by the AND and OR operators. You can also define multiple filters to apply to the query. 185 2011-02-21 Managing security When a user runs a query, the filters are always applied to the query and to the returned data. This is different from the Data Security Profile Rows setting which only applies if a defined table is referenced in the query. OLAP universes For OLAP universes, you define a named set of members. You can include or exclude members for any dimension in the business layer. The excluded members are removed from the query when data is retrieved from the cube. Note: The filter does not impact the aggregation of values in the report. Only the display of members is filtered. You can include or exclude members from multiple dimensions. You can also define multiple named sets to apply to the query. Related Topics • About the Member Selector • About filters • Security profile aggregation 11.4 Security profile aggregation More than one Data Security Profile or Business Security Profile defined for a universe may be assigned to the same user. Multiple profiles can be directly assigned to a user or group, and be inherited from parent groups. When this happens, the security settings in the different profiles are aggregated to result in one effective Data Security Profile, and one effective Business Security Profile, called net profiles. The settings in the net profiles are applied when the user creates a query or views a report. Two methods are used for aggregating security settings: priority and restriction level. Priority is used to aggregate Data Security Profile settings. You can prioritize the Data Security Profiles in the Security Editor. Some Data Security Profile settings and all Business Security Profile settings are aggregated based on restriction level: very restrictive, moderately restrictive, or less restrictive. The restriction level defines which operators to use to aggregate profiles. Different aggregation operators are used depending on if the profile is inherited or merged: • • • If the user or group is assigned Profile A and belongs to a group that is assigned Profile B, Profile A and Profile B are inherited. If the user or group belongs to a group assigned Profile A and another group assigned Profile B, Profile A and Profile B are merged. If the user or group is assigned both Profile A and Profile B, Profile A and Profile B are merged. You can change these restriction levels in the Security Editor to affect how the profiles are aggregated. 186 2011-02-21 Managing security • • • The less restrictive level is appropriate when security is designed with roles, each role granting new rights to the user. The most restrictive level is appropriate when each profile is used to restrict what the user can see. The moderately restrictive level uses the most restrictive level for inherited profiles and the less restrictive level for merged profiles. The operations used to aggregate profile settings (for example AND, OR) vary for the different settings. For detailed information about aggregation for each type of setting, see the related topic. The Data Security Profile Rows setting and Business Security Profile Filters setting both generate a WHERE clause to filter the query. The Rows setting is applied first. The WHERE clause in the Filters setting is then applied to the results of the first query. In effect, the two WHERE clauses are aggregated with the AND operator. Related Topics • Aggregation of Connections settings • Aggregation of Controls settings • Aggregation of SQL settings • Aggregation of Rows settings • Aggregation of Tables settings • Aggregation of Create Query settings • Aggregation of Display Data settings • Aggregation of Filters settings • Changing Data Security Profile priority • Changing security profile aggregation options 11.4.1 Aggregation of Connections settings If more than one Data Security Profile for a universe is assigned to or inherited by the same user, the connection defined in the Data Security Profile with the highest priority is used. If the universe has multiple connections, aggregation of the Connections setting is done for each connection independently. Related Topics • Changing Data Security Profile priority • Data Security Profile Connections settings 11.4.2 Aggregation of Controls settings 187 2011-02-21 Managing security If more than one Data Security Profile for a universe is assigned to or inherited by the same user, the following rules are used to aggregate the Controls settings. The rules are applied to each query limit to determine the value to be used when the user runs a query or report. Restriction level Aggregation Rule Very Restrictive The limit is active only if it is selected in all merged and inherited profiles. The value used is the minimum value for the limit among all the merged and inherited profiles. Moderately Restrictive The limit is active only if it is selected in all inherited profiles and selected in at least one merged profile. First, the minimum value is determined for the limit comparing the inherited profiles. This value is compared to the values among the merged profiles. The value used is the maximum among these values. Less Restrictive The limit is active if it is selected in any merged or inherited profile. The value used is the maximum value for the limit among all the merged and inherited profiles. Priority (default) The activation and value of the limit in the Data Security Profile with the highest priority is used. Note: For a definition of inherited and merged profiles, see the related topic on security profile aggregation. Related Topics • Security profile aggregation • Changing security profile aggregation options • Changing Data Security Profile priority • Data Security Profile Controls settings 11.4.3 Aggregation of SQL settings If more than one Data Security Profile for a universe is assigned to or inherited by the same user, the following rules are used to aggregate the SQL settings. The rules are applied to each query option to determine the value to be used when the user creates a query. 188 2011-02-21 Managing security Restriction level Aggregation Rule Very Restrictive The option is active only if it is selected in all merged and inherited profiles. For Cartesian products, Prevent is used only if the value is Prevent in all merged and inherited profiles. Moderately Restrictive The option is active if it is selected in all inherited profiles and selected in at least one assigned profile. For Cartesian products, Prevent is used if the value is Prevent in all inherited profiles and Prevent in at least one merged profile. Less Restrictive The option is active if it is selected in any merged or inherited profile. For Cartesian products, Warn is used if the value is Warn in any merged or inherited profile. Priority (default) The activation and value of the option in the Data Security Profile with the highest priority is used. Note: For a definition of inherited and merged profiles, see the related topic on security profile aggregation. Related Topics • Security profile aggregation • Changing security profile aggregation options • Changing Data Security Profile priority • Data Security Profile SQL settings 11.4.4 Aggregation of Rows settings If more than one Data Security Profile for a universe is assigned to or inherited by the same user, the following rules are used to aggregate the Rows settings and determine the WHERE clause to be used when the user runs a query or report. First, the WHERE clauses for each table are aggregated according to the restriction level: 189 2011-02-21 Managing security Restriction level Aggregation Rule Very Restrictive (default) Moderately Restrictive The WHERE clauses in all profiles that apply to the same table are combined with the AND operator. Inherited WHERE clauses are aggregated using the AND operator. Merged WHERE clauses are aggregated using the OR operator. Less Restrictive The WHERE clauses in all profiles that apply to the same table are combined with the OR operator. After aggregation according to restriction level, the WHERE clauses for each table are aggregated together with the AND operator to produce the final WHERE clause that is applied to the query. Note: For a definition of inherited and merged profiles, see the related topic on security profile aggregation. Related Topics • Security profile aggregation • Changing security profile aggregation options • Data Security Profile Rows settings 11.4.5 Aggregation of Tables settings If more than one Data Security Profile for a universe is assigned to or inherited by the same user, the replacement table defined in the Data Security Profile with the highest priority is used. If settings are defined for multiple tables, the aggregation is done for each table independently. Related Topics • Changing Data Security Profile priority • Data Security Profile Tables setting 11.4.6 Aggregation of Create Query settings 190 2011-02-21 Managing security If more than one Business Security Profile for a universe is assigned to or inherited by the same user, the Create Query settings are aggregated. Object access levels, if they are defined, are applied to determine whether or not a user sees a particular object in the query panel. First, the list of views that the user can select in the query panel is determined by aggregating the profiles according to the restriction level: Restriction level Aggregation Rule Very Restrictive (default) Moderately Restrictive The user can select the view in the query panel only if it is granted in all inherited and merged profiles. The user can select the view in the query panel only if it is granted in all inherited profiles and granted in at least one merged profile. The user can select the view in the query panel if it is granted in any inherited or merged profile. Less Restrictive Once a view is selected in the query panel, an object appears if it is included in the view, and if it is not explicitly denied after aggregating the profiles according to restriction level: Restriction level Aggregation Rule Very Restrictive (default) Moderately Restrictive The object is denied if it is explicitly denied in any inherited or merged profile. The object is denied if it is explicitly denied in any inherited profile and denied in all merged profiles. The object is denied only if it is explicitly denied in all inherited and merged profiles. Less Restrictive After aggregation, the denied objects are not displayed even if they belong to a granted view. If a folder is denied, then all sub-folders and objects in the folder are denied. Finally, the access level granted to the user in the Central Management Console determines which of the objects granted by the net Business Security Profile are available in the query panel. The user sees only the objects with an access level lower than or equal to his authorized access level. You assign access levels to objects in the business layer editor. Note: For a definition of inherited and merged profiles, see the related topic on security profile aggregation. For more information about object access levels, see the SAP BusinessObjects Business Intelligence platform Administrator's Guide. 191 2011-02-21 Note: For a definition of inherited and merged profiles. The data appears if the object is granted in any inherited or merged profile. Object access levels. Finally.7 Aggregation of Display Data settings If more than one Business Security Profile for a universe is assigned to or inherited by the same user. The user sees data only for the objects with an access level lower than or equal to his authorized access level. if they are defined.Managing security Related Topics • Security profile aggregation • Changing security profile aggregation options • Business Security Profile Create Query settings 11. You assign access levels to objects in the business layer editor. are applied to determine whether or not a user sees the data for an object in the business layer. see the SAP BusinessObjects Business Intelligence platform Administrator's Guide. see the related topic on security profile aggregation. then the data for all objects in the folder and its subfolders is denied.4. the list of objects that the user can see data for is determined by aggregating the profiles according to restriction level. Restriction level Aggregation Rule Very Restrictive (default) Moderately Restrictive The data appears only if it is granted in all inherited and merged profiles. First. the Display Data settings are aggregated. The data appears only if the object is granted in all inherited profiles and granted in at least one merged profile. the access level granted to the user in the Central Management Console determines which of the objects granted by the net Business Security Profile the user sees data for. Less Restrictive If a folder is denied. For more information about object access levels. Related Topics • Security profile aggregation • Changing security profile aggregation options • Business Security Profile Display Data settings 192 2011-02-21 . Managing security 11. the following rules are used to aggregate the filters settings and determine the filter to be added to the query script when the user runs a query or report. Less Restrictive Note: For a definition of inherited and merged profiles. Related Topics • Security profile aggregation • Changing security profile aggregation options • Business Security Profile Filters settings 193 2011-02-21 . The resulting filter is added to the WHERE clause applied to the query. Merged filers are aggregated using the OR operator.4. Less Restrictive The filters in all profiles are combined using the OR operator. Restriction level Aggregation Rule Very Restrictive (default) Moderately Restrictive The filters in all profiles are combined using the AND operator. The user sees a member if it is included in any named set defined in any profile. Restriction level Aggregation Rule Very Restrictive (default) Moderately Restrictive The user sees a member only if it is included in every named set defined in all profiles. the named sets are aggregated according to the restriction level. Inherited filters are aggregated using the AND operator. the filters are aggregated according to the restriction level. see the related topic on security profile aggregation. For relational universes. The user sees a member if it is included in every named set defined in the inherited profiles.8 Aggregation of Filters settings If more than one Business Security Profile for a universe is assigned to or inherited by the same user. For OLAP universes. and included in at least one named set defined in the merged profiles. This is the default display. Shows all groups and users they contain. Application rights granted to you in the Central Management Console control what tasks you can perform in the Security Editor. it means you have made changes to the security profiles or assignments in the Security Editor that have not yet been saved in the repository. Groups are thus displayed with their different parent groups. The Users / Groups tab lets you to do tasks by first selecting a user or group. • • The Universes / Profiles tab lets you to do tasks by first selecting a universe in the repository. The three icons in the Users / Groups panel lets you to display users and groups in three ways: Icon Description Shows only users. see the related topics. The Security Editor can be viewed in two ways: by universe. and assign profiles to users and groups. For more information. Related Topics • Overview of universe security • Inserting and editing a security profile • Changing Data Security Profile priority • Changing security profile aggregation options • Assigning Security Profiles to users 194 2011-02-21 . The session name displays on the tab of the Security Editor. A group is shown even if it has no groups or users assigned.Managing security 11. For an overview of creating security with the Security Editor. see the Rights Appendix in the SAP BusinessObjects Business Intelligence platform Administrator's Guide. If the session name is prefixed by an asterisk. Select the tab on the left-hand side of the Security Editor to display the view you want to work with. or by users/groups. Shows all groups and the groups and users they contain.unx universes only. Groups are displayed as a flat list. Note: You can create security for .5 Using the Security Editor Use the Security Editor to create and edit security profiles. or to get help on tasks. click the Security Editor icon . Note: You can open more than one session of the Security Editor at one time. right-click the universe name and select Insert Data Security Profile or Insert Business Security Profile • To edit a profile.1 Opening the Security Editor 1.Managing security • Displaying profiles assigned to a user and previewing net profiles 11. In the "Open Session" dialog box. To save the changes to the security settings in the repository. double-click the profile name.5. Define security settings in each of the tabs by clicking on the tab you want.2 Inserting and editing a security profile 1. select the session you want to open. Note: Clicking the Reset button returns the settings on all tabs to the default values as they are defined in the data foundation and business layer. 3. In the Security Editor Universes / Profiles panel. The sessions must be on different repositories. On the information design tool toolbar. click the save icon in the main tool bar. 3. 4. Related Topics • Opening the Security Editor 195 2011-02-21 . 2. select the universe. 2. Do one of the following: • To insert a profile. enter the required information. click the help icon. click OK. To get more information on the types of information to enter on each tab. 5. When you have defined all of the settings.5. Related Topics • Opening a session • Using the Security Editor 11. If you are not already logged into the selected session. The Security Editor opens in a new tab. The first profile in the list has highest priority.4 Changing security profile aggregation options 1. To save the changes in the repository.Managing security 11.5. Note: The command is only available if the universe has more than one Data Security Profile defined. Related Topics • Security profile aggregation • Opening the Security Editor 11. right-hand side of the editor. 5.5. select the universe. In the dialog box listing the Data Security Profiles. select the universe. 2. click the save icon in the main tool bar. Right-click the universe name and select Change Data Security Profile Priority. 2. The options apply only to the universe currently selected. select the universe. 196 2011-02-21 . Any currently assigned users or groups appear in the Assigned Users list.3 Changing Data Security Profile priority 1. 3. click OK. For each security setting. Related Topics • Security profile aggregation • Opening the Security Editor 11. When you have finished prioritizing. To save the changes in the repository. use the drop-down list to select a new aggregation option.5. click the save icon in the main tool bar. In the Security Editor Universes / Profiles panel. In the Security Editor Universes / Profiles panel. use the arrow buttons to move profiles up and down in the list. In the Security Editor Universes / Profiles panel. The current aggregation options for the universe display on the lower. 3.5 Assigning Security Profiles to users 1. 4. Caution: The double-arrow icon unassigns all users and groups whether they are selected or not. Related Topics • Opening the Security Editor 11. In the Users / Groups panel. The Data Security Profile or Business Security Profile editor opens in read-only mode. select the user or group.5. select the user or group in the list of users on the right-hand side of the editor. 4. 4. To preview the net Data Security Profile or net Business Security Profile. click the Users / Groups panel on the left-hand side of the editor. and click the arrow that points to the Assigned Users list. 3. To assign. select the universe. To save the changes in the repository. Related Topics • Security profile aggregation • Opening the Security Editor 197 2011-02-21 . click Preview Net Profile below the corresponding profile list. 3. In the Security Editor. To unassign. Tip: You can change the display to list only universes that have profiles assigned to the selected user or group by selecting the check box Display only universes assigned to the selected user/group.Managing security 2. 2. click the save icon in the main tool bar. Once you have selected a user and a universe. The settings on each tab represent the settings that will be used after aggregation of all the profiles assigned to the user is taken into account. select the user or group in the Assigned Users list and click the arrow that points to the list of all users. In the Universes / Profiles panel in the upper right-hand side of the editor.6 Displaying profiles assigned to a user and previewing net profiles 1. the assigned profiles appear in the profiles list on the lower right-hand side of the editor. Managing security 198 2011-02-21 . For a complete description of these @functions. see the related topic about parameters. for example: @Prompt(<parameter_name>) For more information. Prompts the user to enter a value each time the object using the @Prompt function is included in a query. @DerivedTable @Prompt @Select Lets you to use the SELECT statement of another object. 199 2011-02-21 . Note: The existing syntax of the @Prompt function is supported in the information design tool. The Functions box in the SQL and MDX Expression Editor lists the allowed @functions for the expression you are defining. References a derived table. @Function Description @Aggregate_Aware Directs an object to query first of all the aggregate tables listed as parameters in the @Aggregate_Aware function.@Function reference @Function reference @Functions are special functions that provide more flexible methods for specifying the query script for an object. You can also define a named parameter for the prompt and reference the parameter in the query script using the @Prompt function. A nested derived table (also known as a 'derived table on a derived table') is a table that is derived from at least one existing derived table. Following is a list of @functions supported in the information design tool. refer to the Universe Design Tool User's Guide. @Function Joins Calculated Columns Derived Tables Business Objects @Aggre gate_Aware Not allowed Not allowed Not allowed Allowed (SQL only) 200 2011-02-21 . The following variables are supported: Variable Description BOUSER DBUSER UNVID UNVNAME @Variable User's login name Name used for authorization when connecting to the data source ID of the universe Name of the universe PREFFERED_VIEW. The following table shows which @functions are allowed in the different query expressions.The user's preferred locale for viewing report and ING_LOCALE query objects in an application DOMINANT_PREFA pre-defined fallback locale that is used when no FERED_VIEWfallback locale is defined for the resource ING_LOCALE DPTYPE DPNAME DOCNAME Data provider type Data provider name Document name @Where Lets you to use the WHERE clause of another object.@Function reference @Function Description Used in the WHERE clause to call a value assigned to a system variable. Not allowed Allowed Note: In database-specific SQL (multisource-enabled data foundations).@Function reference @Function Joins Calculated Columns Derived Tables Business Objects Allowed Note: In database-specific SQL (multisource-enabled data foundations). @DerivedTable Not allowed Not allowed Not allowed Allowed Note: Not allowed in database-specific SQL in multisource-enabled data foundations. all arguments must reference tables or columns from the same connection. all arguments must reference tables or columns from the same connection. Not allowed @Prompt Allowed Allowed Allowed @Select Not allowed Not allowed Allowed @Variable Allowed Allowed Allowed @Where Not allowed Not allowed Allowed (SQL only) Related Topics • About parameters 201 2011-02-21 . @Function reference 202 2011-02-21 . the query server will use the values it finds in the following order: 1. if it is set. 2. At query time. 13. The value in the business layer. Some parameters (concerning lists of values) can also be overridden in the business layer properties. The default value. if it is set. Default values can be overridden in the data foundation properties. The parameters all have default values. Related Topics • SQL generation parameters reference • About data foundation properties • About business layer properties 13.2 SQL generation parameters reference The following reference describes the SQL generation parameters that can be overriden in the data foundation properties and business layer properties.2.1 About SQL Generation Parameters SQL generation parameters affect the generation of the query script. 3.SQL generation parameters reference SQL generation parameters reference 13.1 ANSI92 ANSI92 = Yes|No Values Yes/No 203 2011-02-21 . The value in the data foundation. 2. 13. Description Yes: Enables the SQL generation compliant to ANSI92 standard.SQL generation parameters reference Default No Specifies whether the SQL generated complies to the ANSI92 standard. Description Yes: Query is updated and the object is removed from the query.2 AUTO_UPDATE_QUERY AUTO_UPDATE_QUERY = Yes|No Values Default Yes/No No Determines what happens when an object in a query is not available to a user profile.3 BEGIN_SQL BEGIN_SQL = <String> Values Default String Empty string 204 2011-02-21 . 13.2. No: SQL generation behaves according to the PRM parameter OUTER_JOIN_GENERATION. No: Object is kept in the query. LiveOffice.SQL generation parameters reference This is used to prefix SQL statements for accounting. including document generation and LOV queries. the returned value is enclosed in single quotes: BEGIN_SQL=SET QUERY_BAND='USER='@Variable('BOUSER'). Description 13. But it is ignored by Desktop Intelligence and Crystal Reports. prioritization.Document='@Vari able('DPNAME')'.' for transaction. and workload management.4 BLOB_COMPARISON BLOB_COMPARISON = Yes|No Values Default Can be edited? Yes/No No No 205 2011-02-21 . This parameter requires a string that contains one or more name-value pairs. Example of three name-value pairs: BEGIN_SQL=SET QUERY_BAND='UserID=Jones. It is supported in Web Intelligence .Ap pID=TRM' for transaction.2. You can also use the @Variable function as the value in the name-value pair. The name-value pairs entered in this parameter are written in the Get QueryBandPairs system table. This parameter applies to any SQL generation. Example for Teradata: BEGIN_SQL=SET QUERY_BAND='string' for transaction.JobID=980. all inside single quotes. All SQL statements are prefixed with the parameter that follows BEGIN_SQL. separated by a semicolon. and QaaWS. FROM Table_Name WHERE simple condition).... 13.. If the table size (number of rows) is greater than the entered value.2. or any negative number means that this optimization is not used.. or a negative integer] -1 Allows you to optimize the FROM clause when tables have many rows. . 0. Optimization is not implemented when: • The operator OR is in the query condition • Limitations • • • Only one table is involved in the SQL The query contains an outer join No condition is defined on the table that is being optimized The table being optimized is a derived table. 206 2011-02-21 . It is related to the setting No Duplicate Row in the query properties. Description Yes: The DISTINCT statement can be used within the query.... No: The DISTINCT statement cannot be used within the query even if the query setting No Duplicate Row is on.5 BOUNDARY_WEIGHT_TABLE BOUNDARY_WEIGHT_TABLE = Integer 32bits [0-9] Values Default Integer 32bits [0-9. coln. col2. -1.SQL generation parameters reference Species if a query can be generated with a DISTINCT statement when a BLOB file is used in the SELECT statement.... the table is declared as a subquery: Description FROM (SELECT col1.. A simple condition is defined as not having a subquery. 7 CUMULATIVE_OBJECT_WHERE CUMULATIVE_OBJECT_WHERE = Yes|No Values Default Yes|No No 207 2011-02-21 .2. Description Yes: Columns are displayed in alphabetical order No: Columns are displayed in the order they were retrieved from the database 13.6 COLUMNS_SORT COLUMNS_SORT = Yes|No Values Default Yes/No No Determines the order that columns are displayed in tables in the Structure pane.SQL generation parameters reference 13.2. Specifies how to combine the objects WHERE clause with the query condition on those objects.first_name <> 'John' AND customer_country. Yes: Queries use the default value set.8 DISABLE_ARRAY_FETCH_SIZE_OPTIMIZATION DISABLE_ARRAY_FETCH_SIZE_OPTIMIZATION = Yes|No Values Default Yes/No No An optimization algorithm can be used to optimize the size of the returned arrays instead of using the default setting. the SQL is: Description Yes: (customer.city <> 'New York AND customer_country.2. Example: If the condition is find all French clients different from John or American cities different from New York.SQL generation parameters reference This parameter applies to filtered objects only.country = 'USA' ) 13. Yes: Specifies that WHERE clauses are combined with the main query condition with the AND operator.city <> 'New York' AND city_country.first_name <> 'John') OR (city.country = 'USA' No: (customer. No : Specifies that the object's WHERE clause is combined with the condition for this object.country = 'France' AND city_country. 208 2011-02-21 .country = 'France' ) OR (city. Description No: All queries run on the universe will benefit from the optimization. for example.2. SELECT cust_name FROM Customers GROUP BY cust_name 13.9 DISTINCT_VALUES DISTINCT_VALUES = GROUPBY|DISTINCT Values Default GROUPBY|DISTINCT DISTINCT Specifies whether SQL is generated with a DISTINCT or GROUP BY clause in a list of values and Query pane when the option "Do not retrieve duplicate rows" is active.SQL generation parameters reference 13.2. for example. Description 209 2011-02-21 . Description DISTINCT: The SQL is generated with a DISTINCT clause.10 END_SQL END_SQL = String Values Default String <empty string> The statement specified in this parameter is added at the end of each SQL statement. SELECT DISTINCT cust_name FROM Customers GROUPBY: The SQL is generated with a GROUP BY clause. Example Another example: END_SQL=’write ‘ UNVID To Usage_Audit. For example.SQL generation parameters reference For IBM DB2 databases. Yes: Brackets are removed from the SELECT statement for a function @Select(Class\object) No: Brackets are added around the Select statement for the function @Select(Class\object). Description then the operation is (A-B) * (C). If the SQL(object1) = A-B and SQL(object2) =C. you can use the following: END_SQL=FOR SELECT ONLY The server will read blocks of data much faster.2. The operation is then A . when combining two @Select statements.11 EVAL_WITHOUT_PARENTHESIS EVAL_WITHOUT_PARENTHESIS = Yes|No Values Default Yes|No No By default. the function @Select(Class\object) is replaced by the SE LECT statement for the object <Class\object> enclosed within brackets. @Select(objet1) *@Select(objet2). 210 2011-02-21 .B * C. this can be used to record other data such as user and tables queried. 13. You avoid the default adding of brackets by setting EVAL_WITH OUT_PARENTHESIS = Yes.Querieded_uni verse Would write universe id to an audit table. or LEFT OUTER joins). In this case. Allows you to force the system to generate SQL syntax with all the inner joins in the WHERE clause when ANSI92 is set to yes . the system generates ANSI92 join syntax in the FROM clause except when the query contains only inner joins. You must manually add the parameter to activate it. the inner joins go into the WHERE clause.12 FORCE_SORTED_LOV FORCE_SORTED_LOV = Yes|No Values Default Yes|No No Retrieves a list of values that is sorted.SQL generation parameters reference 13.2. 211 2011-02-21 . Description Yes: If ANSI92 is set to yes. Description Yes: Specifies that the list of values is sorted.2. No: If ANSI92 is set to Yes. the system generates ANSI 92 join syntax in the FROM clause. No: Specifies that the list of values is not sorted. 13. RIGHT OUTER. This is only possible if a query contains only inner joins (Does not contain FULL OUTER.13 INNERJOIN_IN_WHERE INNERJOIN_IN_WHERE = Yes|No Values Default Yes|No No. 2.15 MAX_INLIST_VALUES MAX_INLIST_VALUES = [0-99] Values Default Integer: min-1. Description Yes: Specifies that multiple SQL statements are combined. 212 2011-02-21 . max depends on DB -1 Allows you to set the maximum number of values you may enter in a condition when you use the IN LIST operator. This is the default value.2. Description The maximum authorized value you may enter depends on your database.SQL generation parameters reference 13. No: Specifies that multiple SQL statements are not combined. except that imposed by the database. Multiple statements can be combined (provided that the database permits this). 99: Specifies that you may enter up to 99 values when you create a condition using the IN LIST operator.14 JOIN_BY_SQL JOIN_BY_SQL = Yes|No Values Default Yes|No No Specifies how multiple SQL statements are handled. 13. The value of -1 means that there is no restriction on the number of values returned. 2. a comma could be used to separate multiple fields in an object Select statement.16 REPLACE_COMMA_BY_CONCAT REPLACE_COMMA_BY_CONCAT= Yes|No Values Default Yes|No No In previous versions of the universe design tool.17 SELFJOINS_IN_WHERE SELFJOINS_IN_WHERE = Yes|No Values Default Yes|No No 213 2011-02-21 . Description 13. In the current version of the universe design tool. so that any expressions using a comma in this way are automatically changed to use concatenation syntax. No: Keep the comma as it is. The comma was treated as a concatenation operator.2. this parameter is set to Yes by default. For universes that already use the comma in this way you can set REPLACE_COM MA_BY_CONCAT to No to keep this behavior. Yes: Comma is replaced by the concatenation expression when multi field object is found.SQL generation parameters reference 13. Description Yes: The conditions of a self-join go in the WHERE clause of the SQL query. and Successive corresponds to No. The value Global corresponds to Yes. Description 214 2011-02-21 . Note: This parameter was formerly listed as GLOBAL_SHORTCUTS in the PRM files. and conditions for a self-join go in the ON clause of the table join definition in the FROM clause of the SQL query. This allows you to force the system to generate SQL syntax with all the conditions of a self-join in the WHERE clause. You must manually add the parameter to the list to activate it. Successive: applies shortcuts one after the other. If the resulting query creates a Cartesian product.18 SHORTCUT_BEHAVIOR SHORTCUT_BEHAVIOR = ShortestPath|Global|Successive Values Default ShortestPath|Global|Successive ShortestPath Specifies how shortcut joins are applied.SQL generation parameters reference Self-joins are usually included in the FROM clause. No: The syntax for self-joins is generated according to the ANSI 92 convention. no shortcut joins are applied. Global: applies all shortcuts. The ANSI92 parameter must be set to Yes for this parameter to be taken into account. ShortestPath: applies shortcuts so as to obtain the smallest number of tables in the query. 13.2. the successive shortcut is not applied. If a shortcut removes a table involved in a potential successive shortcut. 20 THOROUGH_PARSE THOROUGH_PARSE = Yes|No Values Default Yes|No No 215 2011-02-21 . This ensures that a universe object based on a ratio is correctly aggregated.19 SMART_AGGREGATE SMART_AGGREGATE = Yes|No Values Default Yes|No No Determines how aggregate tables are used for smart measures that are based on an aggregate tables. The universe designer must manually insert it in the parameter list before activating it (value Yes). By default the system takes the advantage of the pre-calculated values from the aggregated tables. No: The system takes the most appropriate aggregate table. Yes: Any additional grouping set query should be based on the aggregate table of the initial query for the smart measure based on aggregate table.2. if these table are not consistent during time (different time periods). you use this parameter to ensure the most detailed aggregate tables are used.2. Description This parameter is not visible in the universe parameter list (by default not activated).SQL generation parameters reference 13. 13. No: No optimization is implemented. are transformed to sub queries to ensure that tables that may return false results for the measure are not included in the query. Yes: For queries that include a measure. Description 13. DESCRIBE. Yes: PREPARE. all conditions that inflate the measure and do not appear in the Result Objects.2.2. Description 13. and EXECUTE statements are used to parse SQL for objects.SQL generation parameters reference Specifies the methodology used for default Parsing in the Query pane and individual object parsing.21 TRUST_CARDINALITIES TRUST_CARDINALITIES = Yes|No Values Default Yes|No No Allows you to optimize the SQL in case of inflated results.22 UNICODE_STRINGS UNICODE_STRINGS = Yes|No Values Yes|No 216 2011-02-21 . Prepare+DescribeCol+Execute No: PREPARE and DESCRIBE statements are used to parse SQL for objects. for example for MS SQL Server (sqlsrv. Yes: Conditions based on strings are formatted in the SQL according to the value for a parameter UNICODE_PATTERN in the PRM file. the datatype should be 'U' not 'C' No: All conditions based on strings are formatted in the standard SQL. then it is necessary to modify the SQL generation to handle specific Unicode column types like NCHAR and NVARCHAR.SQL generation parameters reference Default No Specifies whether the current universe can manipulate Unicode strings or not. Note: When you create a prompt with @Prompt syntax based on Unicode value. If the database character set in the SBO file is set as Unicode. For example the condition Customer_name='Arai ' remains Customer_name='Arai' 217 2011-02-21 .prm) : UNICODE_PATTERN=N$ Description The condition Customer_name='Arai ' becomes Customer_name=N'Arai'. Only applies to Microsoft SQL Server and Oracle 9. SQL generation parameters reference 218 2011-02-21 . A1 ) ) 219 2011-02-21 . 14.1.A1 + S1.1 Aggregate functions Aggregate functions perform an operation over a set of data. DECIMAL AVG(INTEGER n) Syntax DECIMAL AVG(DECIMAL d) • to calculate the average of the sums of two columns that contain INTEGERS or DECIMALS: = AVG( S1. 14.A2 ) Examples • to calculate the average of the values in a column that contains numbers written as STRINGSs: = AVG( toInteger( S1.SQL function reference SQL function reference The following reference describes the SQL functions available when defining SQL expressions in multisource-enabled data foundations and their dependent business layers. In aggregate functions. you can use the SQL keyword distinct in front of column names.1 AVG Returns the average of a set of values. A1 ) 14.3 MAX Returns the maximum value in a set. INTEGER COUNT(INTEGER n) INTEGER COUNT(DECIMAL c) INTEGER COUNT(DOUBLE d) INTEGER COUNT(STRING s) Syntax INTEGER COUNT(TIMESTAMP m) INTEGER COUNT(TIME t) INTEGER COUNT(DATE a) INTEGER COUNT(BOOLEAN b) • Examples to count the number of values in a column: = COUNT( S1.2 COUNT Counts the number of values in a set. 220 2011-02-21 .1.1.SQL function reference 14. INTEGER MIN(INTEGER n) DECIMAL MIN(DECIMAL c) DOUBLE MIN(DOUBLE d) Syntax STRING MIN(STRING s) TIMESTAMP MIN(TIMESTAMP m) TIME MIN(TIME t) DATE MIN(DATE d) • Examples to return the minimum value of a column: = MIN( S1.A1 ) 14.4 MIN Returns the minimum value in a set.A1 ) 221 2011-02-21 .1.SQL function reference INTEGER MAX(INTEGER n) DECIMAL MAX(DECIMAL c) DOUBLE MAX(DOUBLE d) Syntax STRING MAX(STRING s) TIMESTAMP MAX(TIMESTAMP m) TIME MAX(TIME t) DATE MAX(DATE d) • Examples to return the maximum value of a column: = MAX( S1. 2.SQL function reference 14.A1 ) 14.5 SUM Returns the sum of a set of values. positive value of the numeric argument.1 abs Returns the absolute. decimal abs(decimal n) Syntax double abs(double n) integer abs(integer n) abs(-2^31) = -2^31 Restrictions returns null if the argument is null 222 2011-02-21 .2 Numeric functions 14. DECIMAL SUM(INTEGER n) Syntax DECIMAL SUM(DECIMAL c) DECIMAL SUM(DOUBLE d) • Examples to calculate the sum of the values in a column: = SUM( S1.1. in the range of -pi/2 through pi2 Syntax double atan(double d) 14.2 acos Returns the arc cosine of an angle. returns null 14. in the range of 0 through pi.2. returns null 14.2.3 asin Returns the arc sine of an angle.2. in the range of -pi/2 through pi/2. Syntax Restrictions double acos(double d) if abs(d) > 1 .4 atan Returns the arc tangent of an angle.2.SQL function reference 14.5 atan2 223 2011-02-21 . Syntax Restrictions double asin(double d) if abs(d) > 1. y) to polar (r. Syntax Restrictions double atan2(double x.6 ceiling Returns the smallest value that is not less than the argument and is equal to a mathematical integer. theta). double y) if x==0 and y==0.SQL function reference atan2(x. integer ceiling(integer n) Syntax double ceiling(double n) decimal ceiling(decimal n) 14.2. Syntax double cos(double d) 14.2.7 cos Returns the cosine of an angle. Returns null if sine is equal to 0.2. This method computes the phase theta by computing an arc tangent of y/x in the range of -pi to pi. 14. Syntax double cot(double d) 224 2011-02-21 .8 cot Returns the cotangent of an angle. y) converts rectangular coordinates (x. returns null. 14.2. Syntax Examples Restrictions double exp(double d) exp(10) == e^10 == 22 026. This is the value of e raised to the exponent d.SQL function reference Restrictions if sin(d) == 0.4658 Throws exception if overflow.2. returns null. of type double. 14. double degrees(integer n) Syntax double degrees(double d) double degrees(decimal c) 14.11 floor Returns the largest value that is not greater than the argument and is equal to a mathematical integer.10 exp Returns the exponential value of a number "d". 225 2011-02-21 .2.9 degrees Converts an angle measured in radians to an approximately equivalent angle measured in degrees. Syntax double log10(double d) 14. Returns null if the argument is negative or equal to 0. when n1 is divided by n2.14 mod Returns the remainder of two integers. use a conversion function like toInteger(). The argument d must be greater than 0.2. The argument "d" must be greater than 0.2. integer floor(integer n) Syntax double floor(double n) decimal floor(decimal n) 14. 226 2011-02-21 .0. floor (1.13 log10 Returns the base 10 logarithm of double number "d".9) == 1.2. If you want to convert the value to an integer. Returns null if the argument is negative or equal to 0. Syntax Restrictions double log(double d) if d <= 0. returns null 14.12 log Returns the base e logarithm of double number "d".SQL function reference Note: The type of the value returned is not converted. Therefore. double power(integer n1.SQL function reference Syntax Restrictions integer mod(integer n1. integer n2) if n1 == 0 and n2<0. Syntax double pi() 14. returns null 14.16 power Returns the number raised to an exponent. The exponent must be an integer.2.2.17 radians Converts an angle measured in degrees to an approximately equivalent angle measured in radians. integer n2) if n2 == 0. returns null.2. 227 2011-02-21 . integer n2) Syntax double power(double n1. integer n2) decimal power(decimal n1.15 pi Returns the constant pi. Restrictions throws exception if overflow 14. e rounds away from zero). You can provide a seed integer to initialize the random number generator. Therefore. The function rounds towards the nearest neighbor unless both neighbors are equidistant. this function rounds to zero decimal places. integer round(integer n. In this case. If you do not specify p. double rand(integer n) Syntax double rand() 14. integer p) double round(double n. If you want to convert the value to an integer. integer p) decimal round(decimal n.SQL function reference double radians(integer n) Syntax double radians(double d) double radians(decimal c) 14.2. integer p) Syntax integer round(integer n) double round(double n) decimal round(decimal n) 228 2011-02-21 .0.9) == 2.2. it rounds up (i. use a conversion function like toInteger().18 rand Returns a double value d 0 <= d < 1. Note: The type of the value returned is not converted.19 round Returns the closest value to specified number of decimal places "p". round(1. Syntax Restrictions double sqrt(double d) if d<0. Returns null if the argument is negative. Syntax double sin(double d) 14. zero (0).21 sin Returns the sine of an angle.20 sign Returns the positive (1). integer sign(integer n) Syntax decimal sign(decimal c) double sign(double d) 14. returns null 229 2011-02-21 . 14.SQL function reference Restrictions The function rounds towards the nearest neighbor unless both neighbors are equidistant.2. The argument must be positive.22 sqrt Returns the square root of a number.2.2. or negative (-1) sign of the argument. in which case it rounds away from zero. SQL function reference 14.12 Examples trunc( 1862. n is truncated to 0 decimal places. returns null 14. 2 ) == 10. -2 ) == 1800 230 2011-02-21 . -1 ) == 1860 trunc( 1862. Syntax Restrictions double tan(double d) if cos(d) == 0.23 tan Returns the tangent of an angle. the function starts at the mth digit left of the decimal point and sets to zero all the digits to the right of that position. integer m) decimal trunc(decimal n.24 trunc Returns the value n truncated to m decimal places. If m is omitted.1 trunc( 10.2. 1) == 10. If the value m is negative.1234. integer trunc(integer n.1234.1234.2.1234. integer m) Syntax integer trunc(integer n) double trunc(double n) decimal trunc(decimal n) Alias truncate() trunc( 10. integer m) double trunc(double n. 1 curdate returns the current date date Returns the current date as a date value.3. 14. not from the data source.3.2 curtime returns the current time time Returns the current local time as a time value. This function is a system function and has the following characteristics: • • It is non-deterministic. string dayName(date a) Syntax string dayName(timestamp m) 231 2011-02-21 . 14.3. This function is a system function and has the following characteristics: • • It is non-deterministic. It returns the value from the data federation service. not from the data source.3 Date/Time functions 14. It returns the value from the data federation service.SQL function reference 14.3 dayName Returns a character string representing the day component of date a or timestamp m. 'en_US' ) = SUNDAY Examples dayNameL( toTimestamp( '2001-12-30 10:12:32. Restrictions Related Topics • dayName 232 2011-02-21 .4 dayNameL Returns a character string representing the day component of date a or timestamp m. string l) dayNameL( toTimestamp( '2001-12-30 10:12:32. The possible return values are: • SUNDAY • Restrictions • • • • • MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY 14.SQL function reference The name is returned in English and in upper case. For the locale l.222' ). string dayNameL(date a. string l) Syntax string dayNameL(timestamp m.3. use the format of locale codes for the functions in multisource-enabled data foundations.222' ). 'de_DE' ) = SONNTAG In Latin-based scripts. the name is returned in upper case. using the locale l.222' ). 'fr_FR' ) = DIMANCHE dayNameL( toTimestamp( '2001-12-30 10:12:32. use the format of locale codes for the functions in multisource-enabled data foundations. 14. integer dayOfWeek(date a) Syntax integer dayOfWeek(timestamp m) Restrictions The first day of the week is Sunday. For the locale l. 233 2011-02-21 .3. The first day of the week depends on the locale l. integer dayOfMonth(date a) Syntax integer dayOfMonth(timestamp m) 14.5 dayOfMonth Returns an integer from 1 to 31 representing the day of the month in date "a" or timestamp "m".3.7 dayOfWeekL Returns an integer from 1 to 7 representing the day of the week in date a or timestamp m.SQL function reference • Locale codes for functions in multisource-enabled data foundations 14. The first day of a week is Sunday.3.6 dayOfWeek Returns an integer from 1 to 7 representing the day of the week in date a or timestamp m. 222' ).SQL function reference integer dayOfWeekL(date a.0/docs/api/java/util/Calendar. string l) dayOfWeekL( toTimestamp( '2001-12-30 10:12:32.222' ). Restrictions For more information. see the definition of the Calendar class in the Java API.com/j2se/1.3. 'ja_JP' ) = 1 The first day of the week depends on the locale l.sun.5. Related Topics • dayOfWeek • Locale codes for functions in multisource-enabled data foundations • http://java.222' ).222' ). integer dayOfYear(date a) Syntax integer dayOfYear(timestamp m) 234 2011-02-21 . string l) Syntax integer dayOfWeekL(timestamp m. 'de_DE' ) = 7 dayOfWeekL( toTimestamp( '2001-12-30 10:12:32. 'fr_FR' ) = 7 Examples dayOfWeekL( toTimestamp( '2001-12-30 10:12:32. 'en_US' ) = 1 dayOfWeekL( toTimestamp( '2001-12-30 10:12:32.html 14.8 dayOfYear Returns an integer from 1 to 366 representing the day of the year in date "a" or timestamp "m". date decrementDays(date a.9 decrementDays Decrements the given number of days "n" from date "a" or timestamp "m".SQL function reference 14. integer n) 14. integer n) Syntax timestamp decrementDays(timestamp m.10 hour Returns an integer from 0 to 23 representing the hour component of time "t" or timestamp "m".11 incrementDays Increments the date "a" or timestamp "m" argument with the given number of days "n".3. integer n) Syntax timestamp incrementDays(timestamp t. date incrementDays(date a.3.3. integer hour(time t) Syntax integer hour(timestamp m) 14. integer n) 235 2011-02-21 . integer month(date a) Syntax integer month(timestamp m) 14.SQL function reference 14.3.13 month Returns an integer from 1 to 12 representing the month component of date "a" or timestamp "m".12 minute Returns an integer from 0 to 59 representing the minute component of time "t" or timestamp "m". string monthName(date a) Syntax string monthName(timestamp m) 236 2011-02-21 .3.14 monthName Returns a character string representing the month component of date a or timestamp m.3. integer minute(time t) Syntax integer minute(timestamp t) 14. using the locale l.222' ).SQL function reference The name is returned in English and in upper case.222' ). string monthNameL(date a. 'fr_FR' ) = DÉCEMBRE monthNameL( toTimestamp( '2001-12-30 10:12:32. 'de_DE' ) = DEZEMBER 237 2011-02-21 . string l) monthNameL( toTimestamp( '2001-12-30 10:12:32. For the locale l. The possible return values are: • JANUARY • • • • Restrictions • • • • • • • FEBRUARY MARCH APRIL MAY JUNE JULY AUGUST SEPTEMBER OCTOBER NOVEMBER DECEMBER 14.222' ). 'en_US' ) = DECEMBER Examples monthNameL( toTimestamp( '2001-12-30 10:12:32. use the format of locale codes for the functions in multisource-enabled data foundations.15 monthNameL Returns a character string representing the month component of date a or timestamp m. string l) Syntax string monthNameL(timestamp m.3. SQL function reference Restrictions In Latin-based scripts, the name is returned in upper case. Related Topics • monthName • Locale codes for functions in multisource-enabled data foundations 14.3.16 now returns the current timestamp date Returns a timestamp value representing date and time. This function is a system function and has the following characteristics: • • It is non-deterministic. It returns the value from the data federation service, not from the data source. 14.3.17 quarter Returns an integer from 1 to 4 representing the quarter in date "a" or timestamp "m". The value 1 represents January 1 through March 31. integer quarter(date a) Syntax integer quarter(timestamp m) 14.3.18 second Returns an integer from 0 to 59 representing the second component of time "t" or timestamp "m". 238 2011-02-21 SQL function reference integer second(time t) Syntax integer second(timestamp m) 14.3.19 timestampadd Returns a timestamp calculated by adding "count" numbers of interval(s) to timestamp "m". timestamp timestampadd(string interval-constant, integer count, timestamp t) timestamp timestampadd(integer interval-constant, integer count, timestamp t) The interval-constant may be one of the following values: • 'SQL_TSI_FRAC_SECOND' or 0 • Syntax • • • • • • • • Restrictions 'SQL_TSI_SECOND' or 1 'SQL_TSI_MINUTE' or 2 'SQL_TSI_HOUR' or 3 'SQL_TSI_DAY' or 4 'SQL_TSI_WEEK' or 5 'SQL_TSI_MONTH' or 6 'SQL_TSI_QUARTER' or 7 'SQL_TSI_YEAR' or 8 The computation can depend on the daylight savings of the locale for 'SQL_TSI_HOUR'. 14.3.20 timestampdiff 239 2011-02-21 SQL function reference Returns an integer representing the number of intervals by which timestamp 2 is greater than timestamp 1 integer timestampdiff(string interval-constant, timestamp m1, timestamp m2) integer timestampdiff(integer interval-constant, timestamp m1, timestamp m2) The interval-constant may be one of the following values: • 'SQL_TSI_FRAC_SECOND' or 0 • Syntax • • • • • • • • • Restrictions • 'SQL_TSI_SECOND' or 1 'SQL_TSI_MINUTE' or 2 'SQL_TSI_HOUR' or 3 'SQL_TSI_DAY' or 4 'SQL_TSI_WEEK' or 5 'SQL_TSI_MONTH' or 6 'SQL_TSI_QUARTER' or 7 'SQL_TSI_YEAR' or 8 If the difference is very large, the result can trigger an exception. Currently, the computation can depend on the daylight saving of the local for SQL_TSI_HOUR. The first day of a week is Sunday. 14.3.21 trunc Truncates the timestamp "m" to the nearest day. Syntax timestamp trunc(timestamp "m") 240 2011-02-21 SQL function reference 14.3.22 week Returns an integer from 1 to 53 representing the week in the year of date a or timestamp m. A week is defined as the days starting Sunday and ending Saturday. integer week(date a) Syntax integer week(timestamp m) The first day of a week is Sunday. The first week contains one day at least. If the first day of a year is a Saturday, then the following applies. • January 1st is considered as week 1 • • January 2nd to 8th is considered week 2 December 25th to 31st is considered week 53 Restrictions 14.3.23 weekL Returns an integer from 1 to 53 representing the week in the year of date a or timestamp m. A week is defined as a seven-day period whose start and end depends on the locale l. For the locale l, use the format of locale codes for the functions in multisource-enabled data foundations. integer weekL(date a, string l) Syntax integer weekL(timestamp m, string l) 241 2011-02-21 SQL function reference weekL( toTimestamp( '2001-12-30 10:12:32.222' ), 'en_US' ) = 1 weekL( toTimestamp( '2001-12-30 10:12:32.222' ), 'fr_FR' ) = 52 Examples weekL( toTimestamp( '2001-12-30 10:12:32.222' ), 'de_DE' ) = 52 weekL( toTimestamp( '2001-12-30 10:12:32.222' ), 'ja_JP' ) = 1 The first day of a week and the minimum number of days that start a year that can be considered a week depend on the locale l. For more information, see the definition of the Calendar class in the Java API. Restrictions Related Topics • week • Locale codes for functions in multisource-enabled data foundations • http://java.sun.com/j2se/1.5.0/docs/api/java/util/Calendar.html 14.3.24 year Returns an integer from representing the year component of date "a" or timestamp "m". integer year(date a) Syntax integer year(timestamp m) 14.4 String functions 242 2011-02-21 4. Returns the ascii value of the INTEGER "n" where n is between 0 and 255.4. Returns NULL if n is out of range. Syntax Restrictions string char(integer n) returns NULL if n < 0 or n > 255 14. Returns NULL if n is out of range.4. Syntax Restrictions integer ascii(string s) returns NULL if s == '' ( NULL string) 14.2 char Returns the character whose ascii value corresponds to the INTEGER "n" where n is between 0 and 255.3 concat Concatenates two strings.1 ascii Returns an integer representing the code value of the leftmost character in string s.SQL function reference 14. Returns NULL if the string is NULL. 243 2011-02-21 . and inserting string "s2" into string "s1" at start. Returns NULL if the start or the length is out of range. string s2) Syntax Restrictions if start is not in the range [1 . integer length. Syntax boolean containsOnlyDigits(string s) 14. returns NULL 14. integer start. 'CD') = 'ABCD' if s1 == NULL or s2 == NULL.4.. s1.SQL function reference Syntax string concat(string s1. string s2) Examples Restrictions concat('AB'. string insert(string s1.5 insert Returns a character string formed by deleting "length" characters from string "s1" beginning at the position "start". returns NULL 244 2011-02-21 . The value of the position "start" must be an INTEGER in the range of 1 to the length of the string s1 plus one. The value of length must be an INTEGER in the range of 0 to the length of the string s1.length] or length < 0.4 containsOnlyDigits Returns true if the string "s" contains only digits.4. false otherwise. "100%") = true isLike("10000". in the pattern s2. If an '_' or '%' occurs in the string s1. preceding the '_' or '%' by s3. "100\%". preceding the '_' or '%' by s3 boolean isLike(string s1. "AB_D") = true Examples isLike("10000". "\") = true 245 2011-02-21 . See restrictions below. The pattern follows the SQL 92 standard.4. in the pattern s2. string s3) Syntax Note: The third argument above is a character used to escape metacharacters. "\") = false isLike("status: 100%".SQL function reference 14. "AB%") = true isLike("ABCD". string s2. you can match it by defining a character s3 and. you can match it by defining a character s3 and. The string s3 can be used to specify an escape character in the pattern. "100\%". which include any character that is not a metacharacter a '_' matches any single character a '%' matches any string of characters any regular character in the pattern s2 matches the same character in s1 if an '_' or '%' occurs in the string s1. The pattern is as follows. isLike("ABCD".6 isLike Checks a string s1 for a matching pattern s2. • characters are either: • • • • • • the "metacharacters" '%' (percent) or '_' (underscore) "regular characters". string s2) boolean isLike(string s1. 4. any occurence of s3 must be followed by '_' or '%' or a second s3 14. returns NULL.SQL function reference • • Restrictions • ( strings1.8 leftStr Returns "n" characters from the left of a string "s". returns NULL 246 2011-02-21 . strings2.7 left Returns "n" characters from the left of a string "s". returns NULL 14. returns NULL ( strings1. Syntax Alias Restrictions string left(string s. integer n) leftStr() if n <= 0. ( strings1. strings3): in s2. strings2. Syntax Alias Restrictions string leftStr(string s. strings2): if s1 == NULL or s2 == null.4. strings3): if s1 == NULL or s2 == NULL or s3 == NULL. integer n) left() if n <= 0. returns leftStr(s1. s1 is truncated.11 lTrim 247 2011-02-21 . n) Restrictions if n <= 0 . returns NULL Note: If n is less than the length of s1. string s2. 2) = 'AB' lPad('ABC'. integer n) lPad('AB'.9 len Returns the length of a string "s". Syntax string lPad(string s1.length.'cd'.'x'.10 lPad Pads a string "s1" on the left side to a specified length "n" using another string "s2". 14. Syntax Alias integer len(string s) length() 14.'x'. 4) = 'xxab' Examples lPad('ABC'. returns NULL if s2 == '' (null string).SQL function reference 14.4. 7) = 'cdcdABC' if n < s1. Spaces are counted.4.4. The letters are matched according to their position. the first 'M' to the fourth character and so on. '\t'. whose reference pattern is supplied in the second argument referencepattern. where 'D' is the day. The new pattern permutes the characters that were assigned in the reference pattern. The reference pattern can be described as 'DD/MM/YYYY'. lTrim removes the first sequence of s2 from the left side of s1. the first 'D' refers to the first character in string s. as follows. can be converted to '1999-09-22'. For example. and applies a new pattern new-pattern to produce a resulting string. string lTrim(string s) Syntax string lTrim(string s1. returns NULL (string s1. The length of reference-pattern must be equal to the length of s.SQL function reference Removes the first sequence of spaces and tabs from the left side of the string s. 'M' the month and 'Y' the year. The new pattern is expressed by permuting the letters defined in the reference pattern. 14. which represents a date. string s2): if ltrim(s1. returns NULL (string s1.12 permute Permutes a string using two templates. string s2) lTrim(' ABCD') = 'ABCD' Examples lTrim(' AB CD ') = 'AB CD ' • • Restrictions • • (string s): the characters removed are: ' '. This is why the length 248 2011-02-21 . '\r' (string s): if ltrim(s) == ''. s2) == ''.4. The string s2 must be a single chacter. In this example. • • The reference pattern assigns each character in string s to the character in the corresponding position in reference-pattern. If you specify s1 and s2. the second 'D' to the second character in s. the character string s = '22/09/1999'. Takes the first string s1. '/' to the third character in s. string s2): s2 must be a single character. encoding). provided none of the letters are already used in the reference pattern. using the new pattern 'MM/DD Year: YYYY' produces the following string: '09/22 Year: 1999'. but also in extracting information from a code of pre-defined length (refer to the examples below). if 'YYYY-MM-DD' is the new pattern. 249 2011-02-21 . For example. new-pattern must be provided to transform string s.SQL function reference of reference-pattern must always equal the length of the string s. Thus. the function defines the transformation of s to a new date format. Once letter mapping has been defined. for s = '22/09/1999' we get '1999-09-22'. times. The permute function is helpful not only in transforming formats (dates. string s reference-pattern new-pattern result 22/09/1999 MM/DD/YYYY YYYY-MM-DD 1999-22-09 Text can also be inserted into the new pattern. The function returns an error if the two strings are of different lengths. For example. 'DD/MM/YYYY'. 'YYYY-MM-DD') = '2003-08-21' 14. string new-pattern) • change the format of how a date is represented: permute('02/09/2003'. 'YYYY-MM-DD') = '2003-09-02' permute('02-09/200'. 'DD/MM/YYYY'. the search begins from position "start" in s2. 250 2011-02-21 . = '2003-09-02' 'DD/MM/YYYY'. If "start" is specified. 'YYYYXXXXXXMMXDD'. The first character is in position 1.4.13 pos Returns the position of the first occurrence of string "s1" in string "s2". 'DL :MM/DD An :YYYY') = 'DL :09/02 An :2003' • Examples extract a month and year from a string of characters representing one date: permute('2003-09-02'. 'YYMMDDNNNN') = '0303210123' • extract date information from internal code permute('2003NL987M08J21'. 'bbbYY/MM/DD-NNNN'. 'DDYY-MM-YY'. Returns 0 if string s1 is not found. string reference-pattern. 'YYYY-MM-DD') permute('02/09_2003'. 'MM/YY') = '09/03' • compose a number from an internal code: permute('03/03/21-0123'.SQL function reference Syntax string permute(string s1. 4) = 5 pos('ef'. integer n) if n <= 0.15 replace Replaces all occurences of string "s2" in string "s1" with string "s3". 251 2011-02-21 . Returns NULL if the count is negative. The string is repeated "n" times.4. string s2.'abcd') = 3 pos('abc'. 'abcd') = 1 pos('cd'. returns 0 14. 'abcdcd'.4. Syntax Restrictions string repeat(string s.SQL function reference Syntax integer pos(string s1. 3) = 3 pos('cd'. integer start) Alias locate() pos('cd'.14 repeat Returns a string formed by repeating string "s". returns NULL 14. 'abcdcd') = 3 Examples pos('cd'. 'abcd') = 0 • Restrictions • start < 1 is equivalent to start == 1 if start > length of s1. 'abcdcd'. SQL function reference Syntax string replace(string s1. following the syntax of a Java regular expression. returns NULL 252 2011-02-21 . Syntax Alias Restrictions string right(string s.4.html string replaceStringExp(string s1. string s2.4. string s3) Syntax 14.4. string s2.17 right Returns "n" characters from the right of a string "s".com/j2se/1. integer n) rightStr() if n <= 0. 'ada' ) returns 'radar' if s2 == '' (null string).16 replaceStringExp Replaces all occurences of string "s2" in string "s1" with string "s3".sun. string s3) Examples replace( 'rar'. does not return NULL 14.2/docs/api/java/util/regex/Pattern. returns s1 Restrictions if s3 == '' (null string). 'a'. Refer to the Sun Java documentation for more information on Java regular expressions at http://java. and the counting proceeds from left to right. returns NULL 14. integer n) right() if n <= 0. Syntax string rPad(string s1. integer n) if n < length of s1.4.19 rPad Pads a string "s1" on the right side to a specified length "n" using another string "s2". s1 is truncated.20 rPos Returns the position of the last occurrence of string "s1" in string "s2". returns NULL Note: If n is less than the length of s1.18 rightStr Returns "n" characters from the right of a string "s". returns NULL if s2 == '' (null string). 253 2011-02-21 . The first character is in position 1. 14.4. returns leftStr(s1. Returns 0 if string s2 is not found. Syntax Alias Restrictions string rightStr(string s.SQL function reference 14.4. string s2. n) Restrictions if n <= 0 . string s2) rPos('CD'.SQL function reference Syntax integer rPos(string s1. '\r' (string s): if rtrim(s) == ''.4. 'ABCDCD') = 5 Examples rPos('ABC'. If you specify s1 and s2. string rTrim(string s) Syntax string rTrim(string s1. string s2): s2 must be a single character 254 2011-02-21 . returns NULL (string s1. string s2): if rtrim(s1. s2) == ''. returns NULL (string s1.'ABCD') = 3 rPos('CD'.21 rTrim Removes the first sequence of spaces and tabs from the right side of the string s. 'ABCD') = 0 14. '\t'. string s2) rTrim('ABCD ') = 'ABCD' Examples rTrim(' AB CD ') = ' AB CD' • • Restrictions • • (string s): The characters removed are: ' '. 'ABCD') = 1 rPos('EF'. rTrim removes the first sequence of s2 from the right side of s1. The string s2 must be a single chacter. 10) = 'BCD' Examples substring('ABCD'. If string s is too short to make "n2" characters. integer n1. 0. 2. 255 2011-02-21 .4.23 subString Returns a substring from a string. This function extracts the sub-string beginning in position "n1" that is "n2" characters long. 2) = 'BC' substring('ABCD'. If you do not specify n2. integer n) Syntax string substring(string s. integer n2) substring('ABCD'. returns NULL. from string "s". returns NULL 14. the sub-string from n to the end of s will be returned. 2. string substring(string s.SQL function reference 14. Syntax Restrictions string space(integer n) if n <= 0. Returns NULL if "n" is negative. integer n): if length <= 0 or start > length of s or start <= 0 or s == ''.4. the end of the resulting sub-string corresponds to the end of string "S" and is thus shorter than "n2". 2) = NULL Restrictions (string s.22 space Returns a string of "n" spaces. 25 toUpper Converts a string into uppercase.4.24 toLower Converts a string into lower case.4.4. Syntax Alias string toLower(string s) lcase() toLower('ABCD') = 'abcd' Examples toLower('Cd123') = 'cd123' 14.SQL function reference 14. 256 2011-02-21 .26 trim Removes the first sequence of spaces and tabs from the left and right sides of the string s. If you specify s1 and s2. Syntax Alias Examples string toUpper(string s) ucase() toUpper('abcd') = 'ABCD' 14. trim removes the first sequence of s2 from the left and right sides of s1. The string s2 must be a single chacter. • If b resolves to 'true'. string s2) • • Restrictions • • (string s): the characters removed are: ' '. the function returns the second argument.5.2 ifElse Returns a value based on a condition "b". not from the data source. returns NULL (string s1. '\t'. string s2): if trim(s. returns NULL (string s1. '\r' (string s): if trim(s) == ''. This function is a system function and has the following characteristics: • • It is non-deterministic. The condition b must be a boolean expression.SQL function reference string trim(string s) Syntax string trim(string s1. 257 2011-02-21 .5 System functions 14. s2) == ''.1 database returns the name of the database string Returns the name of the database (catalog). 14. string s2): s2 must be a single character 14. It returns the value from the data federation service.5. double d2) Syntax integer ifElse(boolean b. timestamp m2) time ifElse(boolean b. time t2) • In any of the above signatures. time t1. If the first argument is not null. null u1.SQL function reference • • If b resolves to 'false'.5.3 nvl Checks if the first argument is null. the function does not necessarily return null 14. string s1. • • If the first argument is null. date a2) decimal ifElse(boolean b. boolean b2) date ifElse(boolean b. integer n2) null ifElse(boolean b. decimal c1. double d1. the third argument may be null. timestamp m1. boolean b1. Restrictions if one of the second or third arguments is null. null u2) string ifElse(boolean b. date a1. integer n1. this function returns the first argument. 258 2011-02-21 . the function returns the third argument boolean ifElse(boolean b. string s2) timestamp ifElse(boolean b. decimal c2) double ifElse(boolean b. this function returns the second argument. string s2) timestamp nvl(timestamp m1. time t2) null nvl(null u. integer n2) string nvl(string s1. not from the data source. date a2) decimal nvl(decimal c1. null u) Alias ifNull() if one of the arguments is null. boolean b2) date nvl(date a1. It returns the value from the data federation service. double d2) Syntax integer nvl(integer n1. this function does not necessary return null Restrictions 14. timestamp m2) time nvl(time t1. decimal c1) double nvl(double d1.4 user returns the user name string Returns the user name. This function is a system function and has the following characteristics: • • It is non-deterministic.SQL function reference boolean nvl(boolean b1.5.6 Conversion functions 259 2011-02-21 . 14. The second argument is a keyword that can have the following values: • • • • • • • NULL VARCHAR DOUBLE DECIMAL DATE TIME TIMESTAMP null cast(type x AS NULL) string cast(type x AS VARCHAR) integer cast(type x AS INTEGER) double cast(type x AS DOUBLE) Syntax decimal cast(type x AS DECIMAL) date cast(type x AS DATE) time cast(type x AS TIME) timestamp cast(type x AS TIMESTAMP) 14. The second argument is a string constant that can have the following values: • • ' NULL' ' DOUBLE' 260 2011-02-21 .6.1 cast Casts the first argument x as the type specified by the second argument.2 convert Converts the first argument x to the type specified by the second argument.6.SQL function reference 14. 'TIMES TAMP') 14. Syntax Examples integer hexaToInt(string s) hexaToInt( 'AF' ) == 175 14. 'DECIMAL') date convert(type x.SQL function reference • • • • ' DECIMAL' ' DATE' ' TIME' ' TIMESTAMP' null convert(type x. If n < 0. Syntax string intToHexa(integer n) 261 2011-02-21 . intToHexa(-1) == FFFFFFFF.4 intToHexa Converts an integer "n" into a hexadecimal value. 'NULL') integer convert(type x.6.3 hexaToInt Converts the hexadecimal value of the string "s" into an integer. Returns the hexadecimal value as a string. 'TIME') timestamp convert(type x. 'DOUBLE') Syntax decimal convert(type x. this function returns the hexadecimal value of 2^32 + n.6. 'INTEGER') double convert(type x. Thus. 'DATE') time convert(type x. SQL function reference 14. boolean toBoolean(boolean b) Syntax null toBoolean(null u) boolean toBoolean(string s) toBoolean('true') = true toBoolean('TrUe') = true toBoolean('tru') = false Examples toBoolean('False') = false toBoolean('F') = false toBoolean('f') = false Restrictions string s: if trim(s) == ''. this function returns the value true if s equals true or any mixed case variation of the string true. • • • If the argument is a string s. If the argument is null.6. If the argument is a booleanb.6 toBooleanL Converts the argument to a boolean value. 262 2011-02-21 . This function returns the value false. Otherwise. it throws an error. in the language of locale l. it returns false.6. using the locale l. Otherwise. this function returns the value true if s equals true or any mixed case variation of the string true. • If the argument is a string s. this function returns null. in the language of locale l. if s equals false or any mixed case variation of the string false.5 toBoolean Converts the argument to a boolean value. this function returns the value b. returns NULL 14. day or year digit values. mm is the month and dd is the day. string l) boolean toBooleanL(string s. If the month digit is greater than 12 or the day digit does not exist in the corresponding month. No restrictions are imposed on month.SQL function reference • • If the argument is a booleanb.mm. this function returns null. use the format of locale codes for the functions in multisource-enabled data foundations. 'fr_FR') = true Examples toBooleanL( 'true'. An error is returned if the format is wrong. 'de_DE') throws an error toBooleanL( 'wahr'. The string s should appear as yyyy. If the argument is null. 'en_US') = true toBooleanL( 'vrai'. boolean toBooleanL(boolean b.7 toDate Converts character string s to a date. returns null Related Topics • toBoolean • Locale codes for functions in multisource-enabled data foundations 14. string l) toBooleanL( 'TrUe'. the toDate function uses the internal calendar 263 2011-02-21 . this function returns the value b. string l) Syntax null toBooleanL(null u. 'de_DE') = false Restrictions string s: if trim( s) == '' .dd where yyyy is the year.6. 'de_DE') = true toBooleanL( 'falsch'. For the locale l. Examples of character strings that respect this format: 2003-09-07 and 2003-11-29. SQL function reference to convert to the correct date. returns NULL 264 2011-02-21 . Thus. double. An error is returned if s is not in the decimal number format. this function returns null. If the argument is null. or integer. this function returns the decimal value of the argument. If the argument is a decimal. decimal toDecimal(string s) decimal toDecimal(decimal c) Syntax decimal toDecimal(double d) decimal toDecimal(integer n) decimal toDecimal(null) Restrictions (string s): if trim(s) == ''.8 toDecimal Converts the argument to a decimal. date toDate(date a) null toDate(null u) Syntax date toDate(string s) date toDate(timestamp m) toDate('2003-02-12') = '2003-02-12' toDate('2003-02-29') = '2003-03-01' Examples toDate('2002-14-12') = '2003-02-12' toDate('1994-110-12') = '2003-02-12' 14.6. • • • If the argument is a string s. 2003-02-29 will be converted to 2003-03-01 and 2002-1412 to 2003-02-12. s must be in the decimal number format where the period is used as a separator for the decimal portion. An error is returned if s is not in the decimal number format. 'de_DE') = 1.SQL function reference 14. If the argument is a decimal.123'. string l) Syntax decimal toDecimalL(double d. string l) toDecimalL( '1. If the argument is null. 'en_US') = 1.9 toDecimalL Converts the argument to a decimal.123'. using the locale l. returns null Related Topics • toDecimal • Locale codes for functions in multisource-enabled data foundations 265 2011-02-21 .123 Restrictions (string s): if trim( s) == '' .6.123'. 'fr_FR') = 1. string l) decimal toDecimalL(decimal c. this function returns null. • • • If the argument is a string s. use the format of locale codes for the functions in multisource-enabled data foundations. string l) decimal toDecimalL(null. double. For the locale l.123 toDecimalL( '1. decimal toDecimalL(string s.123'. 'fr_FR') = 1123 Examples toDecimalL( '1.123 toDecimalL( '1. 'en_US') = 1123 toDecimalL( '1 123'. this function returns the decimal value of the argument. or integer. s must be in the decimal number format where the separator for the decimal portion depends on the locale l. 'de_DE') = 1123 toDecimalL( '1.123'. string l) decimal toDecimalL(integer n. For the locale l.SQL function reference 14. • • • If the argument is a string s. this function returns null.11 toDoubleL Converts the argument to a double. An error is returned if s is not in decimal number format. this function returns null. • • • If the argument is a string s. s must be in the decimal number format where the separator for the decimal portion is a period ( . If the argument is a decimal.9') = 2987 Examples toDouble ('-2987. this function returns the double value of the argument.10 toDouble Converts the argument to a double. s must be in the decimal number format where the separator for the decimal portion depends on the locale l. double toDouble(string s) double toDouble(decimal c) Syntax double toDouble(double d) double toDouble(integer n) double toDouble(null u) toDouble ('2987. If the argument is null. double. using the locale l. or integer. If the argument is null.9 Restrictions (string s): if trim( s) == '' . this function returns the double value of the argument. or integer. use the format of locale codes for the functions in multisource-enabled data foundations.6. An error is returned if s is not in decimal number format. returns null 14.6.). 266 2011-02-21 . double. If the argument is a decimal.9') = -2987. this function returns floor( s) . this function returns null. string l) decimal toDoubleL(null. 'de_DE') = 1123.SQL function reference decimal toDoubleL(string s.123 toDoubleL( '1.12 toInteger Converts the argument to an integer. string l) decimal toDoubleL(decimal c.6. 'fr_FR') = 1123. An error is returned if the integer represented by s is too big. double.123'.123'. 'de_DE') = 1. returns null Related Topics • toDouble • Locale codes for functions in multisource-enabled data foundations 14.0 toDoubleL( '1. string l) toDoubleL( '1. If the argument is null.0 toDoubleL( '1 123'. 'en_US') = 1123. 267 2011-02-21 .123'. If the argument is a decimal.123 Restrictions (string s): if trim( s) == '' . or integer. string l) decimal toDoubleL(integer n. • • • If the argument is a string s. this function returns the integer value of the argument.0 Examples toDoubleL( '1.123'. 'en_US') = 1.123'.123 toDoubleL( '1. string l) Syntax decimal toDoubleL(double d. 'fr_FR') = 1. returns NULL 14. this function returns null. string l) integer toIntegerL(decimal c. double. this function returns floor( s) .6. • • • If the argument is a string s. or integer. For the locale l. this function returns the integer value of the argument. If the argument is null. string l) 268 2011-02-21 .13 toIntegerL Converts the argument to an integer. An error is returned if the integer represented by s is too big. string l) integer toIntegerL(integer n. use the format of locale codes for the functions in multisource-enabled data foundations. If the argument is a decimal. string l) integer toIntegerL(null u. integer toIntegerL(string s. using the locale l. string l) Syntax integer toIntegerL(double d.SQL function reference integer toInteger(string s) integer toInteger(decimal c) Syntax integer toInteger(double d) integer toInteger(integer n) integer toInteger(null u) toInteger ('2987') = 2987 Examples toInteger ('-2987') = -2987 Restrictions (string s): if trim(s) == ''. 'de_DE') = 1123 toIntegerL( '1. 'en_US') = 1 toIntegerL( '1.123'.14 toNull Converts the value of the argument into a null value.123'. 'de_DE') = 1 Restrictions (string s): if trim( s) == '' . 'fr_FR') = 1123 Examples toIntegerL( '1.123'. returns null Related Topics • toInteger • Locale codes for functions in multisource-enabled data foundations 14. 'fr_FR') = 1 toIntegerL( '1. NULL toNull(BOOLEAN b) NULL toNull(DATE a) NULL toNull(DECIMAL c) NULL toNull(DOUBLE d) Syntax NULL toNull(INTEGER n) NULL toNull(NULL u) NULL toNull(STRING s) NULL toNull(TIME t) NULL toNull(TIMESTAMP m) 269 2011-02-21 .SQL function reference toIntegerL( '1.123'. 'en_US') = 1123 toIntegerL( '1 123'.123'.6. 15 toString Converts the value of the argument into a string value.com/j2se/1. integer n ) and toString( decimal c.SQL function reference 14. STRING toString(BOOLEAN b) STRING toString(DATE a) STRING toString(DECIMAL c) STRING toString(DOUBLE d) STRING toSTRING(INTEGER n) string toSTRING(NULL u) Syntax string toSTRING(STRING s) STRING toString(TIME t) STRING toString(TIMESTAMP m) STRING toString(DECIMAL c. the integer n represents the number of fractional digits to include in the resulting string. For example. see the Java 2 Platform API Reference for the java. 'yyyy/MM/dd' ) == '2001/12/30'. For toString( double d. at the following URL: "http://java.SimpleDateFormat class. INTEGER n) STRING toString(DOUBLE d.6. integer n ). INTEGER n) STRING toString(TIMESTAMP m. STRING s) Alias str() • 270 2011-02-21 . For toString( timestamp m.4.text.2/docs/api/java/text/SimpleDateFormat.sun. The pattern defines the format in which you want to extract the elements of the timestamp m. the string s represents a pattern. toString( 2001-12-30 10:12:32. string s ) . For details on date formats. • • If you provide a single argument.html".222. The decimal is rounded up to fit the number of fractional digits. the argument is converted into a string. For toStringL( double d.0') = '2002-03-03 23:08:08' toString(true) = 'T' toString(false) = 'F' • Restrictions • (double d. integer n): n must be a constant (decimal c. locale l ).text.9' toString (-45. locale l ) and toStringL( decimal c.16 toStringL Converts the value of the argument into a string value.SimpleDateFormat class. use the format of locale codes for the functions in multisource-enabled data foundations.9) = '-45. integer n. For the locale l. see the Java 2 Platform API Reference for the java. the argument is converted into a string. using the locale l. 271 2011-02-21 . • • If you provide a single argument.6. integer n): n must be a constant 14. For details on date formats. The decimal is rounded up to fit the number of fractional digits.9) = '45. the integer n represents the number of fractional digits to include in the resulting string. integer n.SQL function reference toString(45) = '45' toString (-45) = '-45' toString(45.9' Examples toString('2002-09-09') = '2002-0909' toString('23:08:08') = '23:08:08' toString('2002-03-03 23:08:08. string l) string toStringL(double d. string l) string toStringL(timestamp m. string l) string toStringL(decimal c. string l) string toStringL(string s. integer n. string l) string toStringL(integer n. string l) string toStringL(double d. string l) string toStringL(time t. string l) Syntax string toStringL(null u. string l) string toStringL(date a.SQL function reference string toStringL(boolean b. integer n. string l) string toStringL(decimal c. string l) Alias str() 272 2011-02-21 . 12.222' ). 'en_US' ) throws an error toStringL( 1.123.com/j2se/1. string l): n must be a constant Examples Related Topics • toString • Locale codes for functions in multisource-enabled data foundations • http://java. 2.222' ). An error is returned if the format is wrong. If the number of minutes or seconds is greater than 60 or the number of hours is greater than 24.html 14.123. 'fr_FR' ) = 30/12/01 10:12 toStringL( toTimestamp( '2001-12-30 10:12:32. • If the argument is a STRING "s".17 toTime Converts the argument to a time. minute or second values.12 toStringL( 1. No restrictions are imposed on hour. 'de_DE' ) = 30.6.12 • Restrictions • (double d.2/docs/api/java/text/SimpleDateFormat.SQL function reference toStringL( toTimestamp( '2001-12-30 10:12:32. 'MM' minutes and 'SS' seconds. This STRING should in the format 'HH :MM :SS' where 'HH' is hour. 'en_US' ) = 12/30/01 10:12 AM toStringL( toTimestamp( '2001-12-30 10:12:32. this function converts s to a TIME. 2. integer n.222' ). string l): n must be a constant (decimal c. integer n.222' ). 2. the toTime() 273 2011-02-21 .sun. 'de_DE' ) = 1. 'fr_FR' ) = 1.01 10:12 toStringL( toTimestamp( '2001-12-30 10:12:32.123.12 toStringL( 1. Examples of STRINGS that respect this format: '23 :09 :07' and '03 :11 :29'.4. 'yyyy/MM/dd'. 'en_US' ) = 1. Thus. time or timestamp.18 toTimeL Converts the argument to a time.SQL function reference function uses an internal clock to convert to the correct time. An error is returned if the format is wrong. this function returns NULL. TIME toTime(STRING s) TIME toTime(DATE a) Syntax TIME toTime(TIME t) TIME toTime(TIMESTAMP m) TIME toTime(NULL u) toTime('02:10:09') = '02:10:09' Examples toTime('0:450:29') = '07:30:29' 14. For the locale l. If the argument is NULL. using the locale l. this function converts s to a time. No restrictions are imposed on hour. '0 :450 :29' will be converted to '07 :30 :29' and '25 :14 :180' to '01 :17 :00'. If the number of minutes or seconds is greater than 60 or the number of hours is greater than 24. this function converts the argument to a TIME. minute or second values.6. • If the argument is a strings. If the argument is null. this function returns null. mm minutes and ss seconds. 274 2011-02-21 . use the format of locale codes for the functions in multisource-enabled data foundations. • • If the argument is a DATE. this function converts the argument to a time. Examples of string that respect this format: 23:09:07 and 03:11:29. TIME or TIMESTAMP. • • If the argument is a date. 0:450:29 will be converted to 07:30:29 and 25:14:180 to 01:17:00. the toTime function uses an internal clock to convert to the correct time. Thus. This string should in the format hh: mm: ss where hh represents hours. 0. 'DD' is the day. 'MM' is the month. The pattern defines the format in which you want to extract the elements of the string s1. string l) time toTimeL(timestamp m. 275 2011-02-21 . 'HH' is the hour.SQL function reference time toTimeL(string s. string l) null toTimeL(null u. month and day number values or on hour. An error is returned if the format is wrong. string l) toTimeL('02:10:09'.sun. minute and second number values. yyyy' ) == 1976-01-03 16:30:26.SimpleDateFormat class. toTimestamp( '4:30:26 PM on January 3. see the Java 2 Platform API Reference for the java. For example. this function converts s to a TIMESTAMP. at the following URL: http://java.text. s2 ). string l) Syntax time toTimeL(time t.html.2/docs/api/java/text/SimpleDateFormat.4. the string "s2" represents a pattern.19 toTimestamp Converts the argument to a TIMESTAMP. No restrictions are imposed on year. 1976'. • If the argument is a STRING "s". For details on date formats.6.ssss)' where 'YYYY is the year.com/j2se/1. 'fr_FR') = 00:45:00 Examples Related Topics • toTime • Locale codes for functions in multisource-enabled data foundations 14. 'KK:mm:ss a \'on\' MMMM d. 'mm' is the minute. 'SS' is the second. and 'ssss' is the millisecond. string l) time toTimeL(date a. This STRING s should be in the format 'YYYY-MM-DD HH:mm:SS(. • For toTimestamp( s1. Examples of character strings that respect this format: '2003-02-17 23:09:07' and '2003-11-12 03:11:29'. 'en_US') = 02:10:09 toTimeL('0:45'. the timestamp function uses an internal clock and calendar to covert to the correct timestamp.0' Examples toTimestamp('1994-110-12 02:10:09') = '2003-02-12 02:10:09.SQL function reference If the month number is greater than 12. STRING s2) Syntax TIMESTAMP toTimestamp(DATE a) TIMESTAMP toTimestamp(TIME t) TIMESTAMP toTimestamp(TIMESTAMP m) TIMESTAMP toTimestamp(NULL u) toTimestamp('2003-02-12 02:10:09') = '2003-02-12 02:10:09.0' toTimestamp('2003-02-12 0:450:29') = '2003-02-12 07:30:29.6.0' toTimestamp('2002-14-12 02:10:09') = '2003-02-12 02:10:09.0' toTimestamp('2002-09-09 25:14:180') = '2002-09-09 01:17:00. '2002-09-09 25:14:180' will be converted to '2002-09-10 01:17:00'. TIMESTAMP toTimestamp(STRING s) TIMESTAMP toTimestamp(STRING s1. or the hour digit is greater than 24. the day of the month does not exist in the corresponding month.0' (time t): The date value of the constant is 197001-01 Restrictions 14.0' toTimestamp('2003-02-29 02:10:09') = '2003-03-01 02:10:09. 276 2011-02-21 . the number of minutes or seconds is greater than 60. Thus.20 val Converts a STRING "s" into a DECIMAL. 9') = 2987. An error is returned if s is not in the decimal number format.0 Restrictions if trim(s) == ''.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_ele ments. The locale l must appear in the form ln_ CY. Related Topics • http://www.7 Locale codes for functions in multisource-enabled data foundations When the SQL expression requires you to provide a locale l.9 val('UUYGV76') = 0. as defined by ISO 3166-1-alpha-2.SQL function reference The string "s" must be in the decimal number format where the period is used as a separator for the decimal portion.9 Examples val('-2987. • • • • • • • de for German en for English es for Spanish fr for French it for Italian ja for Japanese The country CY is a two-letter country code. with ln and CY defined as follows. Syntax DECIMAL val(STRING s) val('2987.htm 277 2011-02-21 . • The language ln is one of the following ISO codes.iso. returns NULL 14.9') = -2987. you must enter it in the following form. SQL function reference 278 2011-02-21 . and an interactive feedback channel. Customers with a maintenance agreement have an authorized user ID to access this site.com/businessobjects and on the "SAP BusinessObjects Overview" side panel click All Products.sap.sap. You can download PDF versions or installable HTML libraries.sap. Certain guides are stored on the SAP Service Marketplace and are not available from the SAP Help Portal. These guides are listed on the Help Portal accompanied by a link to the SAP Service Marketplace. release notes and Supported Platforms documents.More Information More Information Information Resource Location SAP BusinessObjects product information http://www.com/ Developer resources https://www.sap.com/releasenotes SAP Help Portal SAP Service Marketplace The SAP Service Marketplace stores certain installation guides. To obtain an ID. Customers with a maintenance agreement have an authorized user ID to access this site.com/irj/sdn/businessobjects-sdklibrary 279 2011-02-21 . upgrade and migration guides.sdn.com/cw/community/docupedia Docupedia Docupedia provides additional documentation resources.com/bosap-support > Documentation • • Installation guides: https://service.sap. If you are redirected to the SAP Service Marketplace from the SAP Help Portal.com/bosap-instguides Release notes: http://service.sdn.sdn. You can access the most up-to-date documentation covering all SAP BusinessObjects products and their deployment at the SAP Help Portal. contact your customer support representative. https://boc. Contact your customer support representative to obtain an ID. use the menu in the navigation pane on the left to locate the category containing the documentation you want to access.sap. deployment guides. http://service.com Navigate to http://help.sap. https://cw. a collaborative authoring environment.sap. com/irj/boc/businessobjects-articles These articles were formerly known as technical papers. contact your customer support representative. Customers with a maintenance agreement have an authorized user ID to access this site.sap.sap.sap. 280 2011-02-21 . we can offer a training package to suit your learning needs and preferred learning style.com/bosap-support Online customer support The SAP Support Portal contains information about Customer Support programs and services.sap. https://service.com/irj/scn/forums http://www. To obtain an ID. It also has links to a wide range of technical information and downloads.sdn.com/services/education Training From traditional classroom learning to targeted e-learning seminars. and customized embedding technology. http://service. connectivity. database design tools.More Information Information Resource Location SAP BusinessObjects articles on the SAP Community Network https://www. http://www.sap. Expertise is available in topics such as relational and multidimensional databases.sap.com/notes Notes These notes were formerly known as Knowledge Base articles.com/services/bysubject/businessobjectsconsulting Consulting Consultants can accompany you from the initial analysis stage to the delivery of your deployment project. Forums on the SAP Community Network https://www.sdn. unv universe about 35 convert 35 opening local files 44 upgrade 35 DISTINCT_VALUES universe parameter 209 domain names 171 functions (continued) floor 225 hexaToInt 261 hour 235 ifElse 257 ifNull 258 incrementdays 235 insert 244 intToHexa 261 isLike 245 lcase 256 left 246 leftStr 246 len 247 length 247 locate 250 log 226 log10 226 lPad 247 lTrim 248 minute 236 mod 226 month 236 monthname 236 monthNameL 237 now 238 numeric 222 nvl 258 permute 248 pi 227 pos 250 power 227 quarter 238 radians 227 rand 228 repeat 251 replace 251 replaceStringExp 252 right 252. 253 round 228 rPad 253 rPos 253 rTrim 254 second 238 sign 229 sin 229 space 255 sqrt 229 str 270 String 271 E editing query script 133 END_SQL universe parameter 209 EVAL_WITHOUT_PARENTHESIS universe parameter 210 A ANSI92 universe parameter 203 authentication MSAS connections 64 SAP NetWeaver BW connections 62 AUTO_UPDATE_QUERY universe parameter 204 F filter adding to a query 147 FORCE_SORTED_LOV B universe parameter 211 BEGIN_SQL function universe parameter 204 conversion type 259 BLOB_COMPARISON string type 242 universe parameter 205 functions BOUNDARY_WEIGHT_TABLE abs 222 universe parameter 206 acos 223 ascii 243 asin 223 C atan 223 atan2 223 cast cast 260 functions 260 ceiling 224 COLUMNS_SORT char 243 universe parameter 207 codes for locales 277 connection parameters concat 243 datasources 56. 59 dayofweek 233 date/time dayOfWeek 233 functions 231 dayofyear 234 DISABLE_ARRAY_FETCH_SIZE_OPTIMIZATION decrementdays 235 universe parameter 208 degrees 225 exp 225 281 2011-02-21 . 59 containsonlydigits 244 SAP NetWeaver BW 56 convert 260 SAS 59 cos 224 conversion functions 259 cot 224 CUMULATIVE_OBJECT_WHERE curdate 231 universe parameter 207 curtime 231 database 257 D date/time 231 dayname 231 database table 75 dayNameL 232 datasources dayofmonth 233 connection parameters 56. 253 rightStr 252.Index . 268 toLower 256 toNull 269 toString 270 toTime 273. 265. 240 truncate 230 ucase 256 user 259 val 276 week 241 year 242 localized functions (continued) weekL 241 R REPLACE_COMMA_BY_CONCAT universe parameter 213 M MAX_INLIST_VALUES universe parameter 212 member selector about 137 multi-source universe optimize queries 131 S SAP NetWeaver BW connection parameters 56 SAS connection parameters 59 properties 59 resources 59 script editing 133 SELFJOINS_IN_WHERE universe parameter 213 SHORTCUT_BEHAVIOR 214 Show dependencies 69 Single Sign On (SSO) MSAS 2005 64 SMART_AGGREGATE universe parameter 215 standard table 75 state join 88 table 88 string functions 242 system functions 257 N Numeric functions 222 O open . 274 toTimestamp 275 toUpper 256 trim 256 trunc 230. 266 toDouble 266 toInteger 267.unv universe stored locally 44 optimize queries compute statistics for multi-source universe 131 for multi-source universe 131 owner 75 I INNERJOIN_IN_WHERE universe parameter 211 P preview query results 137 Profile column data 78 J join state 88 JOIN_BY_SQL universe parameter 212 T table owner 75 qualifier 75 table state 88 THOROUGH_PARSE universe parameter 215 Time column 81 TRUST_CARDINALITIES universe parameter 216 Q qualifier 75 query add filter 147 building 144 combined 148 preview results 137 properties 144 query panel description 133 filter pane 135 preview query results 137 query pane 136 result object pane 135 query script editing 133 L locale codes for functions 277 localized functions dayNameL 232 dayOfWeekL 233 monthNameL 237 StringL 271 toBooleanL 262 toDecimalL 265 toDoubleL 266 toIntegerL 268 toTimeL 274 U UNICODE_STRINGS universe parameter 216 universe opening a locally stored .unv file 44 282 2011-02-21 .Index functions (continued) subString 255 system type 257 tan 230 timestampadd 239 timestampdiff 239 toBoolean 262 toDate 263 toDecimal 264.
Copyright © 2024 DOKUMEN.SITE Inc.