Академический Документы
Профессиональный Документы
Культура Документы
Cognos ReportNet -
Metadata Modeling
COGNOS REPORTNET – METADATA MODELING
Cognos ReportNet – Metadata Modeling Portions Copyright (C) 1998–2002 The OpenSSL Project. All
CR1052 rights reserved. This product includes software developed by
the OpenSSL Project for use in the OpenSSL Toolkit.
Published November 2003 (http://www.openssl.org/).
This product contains Webfx Copyright (C) Erik Arvidsson and
While every attempt has been made to ensure that the Emil A Eklund.
information in this document is accurate and complete, some Portions Copyright (C) Netegrity Inc. ALL RIGHTS RESERVED.
typographical or technical errors may exist. Cognos cannot Portions Copyright (C) 2002–2003, Systinet Corporation. All
accept responsibility for any kind of loss resulting from the use Rights Reserved.
of this document. Portions Copyright (C) 2001 MetaStuff, Ltd. All rights reserved.
This page shows the original publication date. The information Portions Copyright (C) 1995–1998 Jean–loup Gailly and Mark
contained in this book is subject to change without notice. Any Adler.
improvements or changes to either the product or the course Portions Copyright (C) 1999, 2000 Boris Fomitchev. This
will be documented in subsequent editions. software product includes STLPort libraries, which are provided
This guide contains proprietary information that is protected by "as is", with absolutely no warranty express or implied. Any use
copyright. All rights are reserved. No part of this document may is at your own risk. Permission to use or copy these libraries for
be photocopied, reproduced, or translated into another any purpose is hereby granted without fee provided this notice
language without the prior written consent of Cognos is retained on all copies.
Incorporated.
Restricted Rights Legend. The Software and all accompanying Permission to modify the code and to distribute modified code
materials are provided with Restricted Rights. Use, duplication, for the libraries is granted, provided this notice is retained, and a
or disclosure by the U.S. Government is subject to restrictions notice that the code was modified is included with the copyright
as set forth in subdivision (b) (3) (ii) of the Rights in Technical notice.
Data and Computer Software clause at 252.227–7013. The Portions of this software are Copyright (C) 1996–2002 The
Contractor is Cognos Corporation, FreeType Project (www.freetype.org). All rights reserved.
67 South Bedford St., Burlington, MA 01803–5164. This product includes software developed by IBM. Portions
Copyright (C) 1995–2002 International Business Machines
The following acknowledgments represent all packages of Corporation and Others. All rights reserved. This software is
ReportNet. Some may not apply to each component. provided "as is" and any expressed or implied warranties,
Portions Copyright (C) Sun Microsystems, Inc. Sun, Sun including, but not limited to, the implied warranties of
Microsystems, the Sun Logo, iForce, Solaris, and the Java logo merchantability and fitness for a particular purpose are
are trademarks or registered trademarks of Sun Microsystems, disclaimed. In no event shall IBM or its contributors be liable for
Inc. in the United States and other countries. any direct, indirect, incidental, special, exemplary or
Portions Copyright (C) Adobe Systems Incorporated. consequential damages (including but not limited to,
Portions Copyright (C) 2000 The Legion Of The Bouncy Castle procurement of substitute goods or services; loss of use, data,
(http://www.bouncycastle.org). or profits; or business interruption) however caused and on any
theory of liability, whether in contract, strict liability, or tort
Portions Copyright (C) 2000–2002 Glenn Randers–Pehrson.
(including negligence or otherwise) arising in any way out of the
Contributing authors Simon–Pierre Cadieux, Eric S. Raymond,
use of this software, even if advised of the possibility of such
Gilles Vollant.
damage.
Portions Copyright (C) Meta Integration Technology, Inc. 1997–
This product includes software developed by the Apache
2003 . All Rights Reserved. Meta Integration(R) Model Bridge
Software Foundation (http://apache.org/). Portions Copyright (C)
(MIMB), Works (MIW), Repository (MIR), Repository SDK
1999 The Apache Software Foundation. All rights reserved. This
(MIRSDK), and Database SDK (MIDBSDK) are trademarks of
software is provided "as is" and any expressed or implied
Meta Integration Technology, Inc.
warranties, including, but not limited to, the implied warranties of
Portions Copyright (C) JSQLConnect (TM) software merchantability and fitness for a particular purpose are
components are provided by Net Direct LLC. Copyright (C) disclaimed. In no event shall the Apache Software Foundation
1998–2003 Net Direct LLC. All rights reserved. JSQLConnect is or its contributors be liable for any direct, indirect, incidental,
a trademark of Net Direct LLC. special, exemplary or consequential damages (including but not
Portions Copyright (C) Three D Graphics, Inc. limited to, procurement of substitute goods or services; loss of
Sample product images with the pound symbol (#) in the lower use, data, or profits; or business interruption) however caused
right hand corner are copyright (C) 1998 PhotoDisc, Inc. and on any theory of liability, whether in contract, strict liability,
This product uses the Andalé WT typeface under license from or tort (including negligence or otherwise) arising in any way out
Agfa Monotype Limited. Copyright (C) Agfa Monotype Limited. of the use of this software, even if advised of the possibility of
All rights reserved. Andalé is a trademark of The Monotype such damage.
Corporation registered in the U.S. Patent and Trademark Office This software/documentation contains proprietary information of
and certain other jurisdictions. Cognos Incorporated. All rights are reserved. Reverse
Portions Copyright (C) 1986–2002 AccuSoft Corporation. engineering of this software is prohibited. No part of this
AccuSoft and ImageGear are registered trademarks or service software/documentation may be copied, photocopied,
marks, and the patent–pending ReviewNow, DocsNow, NetVue, reproduced, stored in a retrieval system, transmitted in any form
Image Guarantee, ScanDex, and the patented Network or by any means, or translated into another language without
Document Streaming technology are trademarks of AccuSoft the prior written consent of Cognos Incorporated.
Corporation. Other company and product names mentioned Cognos, the Cognos logo and Cognos ReportNet are
herein may be trademarks or registered trademarks of their trademarks or registered trademarks of Cognos Incorporated in
respective holders. the United States and/or other countries. All other names are
trademarks or registered trademarks of their respective
companies.
Contents
CONTENTS............................................................................................................................ III
COURSE OVERVIEW.......................................................................................................... IV
COURSE OVERVIEW ................................................................................................................IV
INTENDED AUDIENCE ..............................................................................................................IV
TOPICS COVERED ....................................................................................................................IV
COURSE PREREQUISITES .........................................................................................................IV
COURSE OUTLINE................................................................................................................ V
INSTRUCTIONAL MATERIALS .................................................................................... VIII
STUDENT GUIDE.................................................................................................................... VIII
INSTRUCTOR GUIDE .............................................................................................................. VIII
INSTRUCTOR INSTALLATION CD .............................................................................................IX
IMPORTANT SETUP INSTRUCTIONS FOR THIS COURSE......................................... X
CONFIGURE THE INSTRUCTOR AND STUDENT COMPUTER CHECKLIST ......................................X
INSTALL MICROSOFT SQL SERVER 2000 ...................................................................XII
CREATE THE REPORTNET CONTENT STORE .........................................................XIV
RESTORE THE SAMPLE DATABASES .......................................................................... XV
CONFIGURE REPORTNET...........................................................................................XVIII
CREATE LOCAL NT USERS............................................................................................XIX
SET UP WEB ALIASES....................................................................................................... XX
PREPARE FOR SAMPLES AND SOLUTIONS DEPLOYMENT............................... XXII
IMPORT SAMPLE REPORTS, AND DEMO AND WORKSHOP SOLUTIONS.....XXIII
REMOVE ADMINISTRATIVE TOOLS FOR REPORT AUTHORS ......................... XXV
TEST DEPLOYMENT AND SECURITY ......................................................................XXVI
INSTALL AND CONFIGURE CONCURRENT VERSION SYSTEM SOFTWARE
........................................................................................................................................... XXVII
GENERAL SETUP AND INSTRUCTOR PREPARATION .....................................XXVIII
PRE–CLASS AGENDA ....................................................................................................... XXVIII
PREPARE TO TEACH ......................................................................................................... XXVIII
DOCUMENT CONVENTIONS.......................................................................................XXIX
POWERPOINT TIPS ........................................................................................................ XXX
GET THE CLASS STARTED..........................................................................................XXXI
STUDENT GUIDE TABLE OF CONTENTS .............................................................. XXXII
POST–CLASS AGENDA ..............................................................................................XXXIII
SUBMIT FEEDBACK AND LOCATE ADDITIONAL PRODUCT INFORMATION
..........................................................................................................................................XXXIV
SUBMIT FEEDBACK .......................................................................................................... XXXIV
ADDITIONAL PRODUCT INFORMATION.............................................................................. XXXIV
Course Overview
Course Overview
Cognos ReportNet – Metadata Modeling is a two–day instructor–led course
that covers how to use the Framework Manager environment to import
metadata, prepare it for presentation and publish it to the web so that end
users can easily author reports. Attendees will learn how to create
calculations, filter data and apply security to model objects as well as learn
some advanced modeling techniques.
Intended Audience
This course is intended for data modelers.
Topics Covered
In this course we will:
Course Prerequisites
Participants should have attended:
Course Outline
The following table outlines the high–level topics for each module, and the
number of slides, demos and workshops included, as well as the estimated
teaching time.
• create a project
• import Metadata
• organize objects
• check a project
Instructional Materials
Student Guide
The Student Guide contains explanations and features of the product, along
with the presentation slides that are presented by the instructor. Student
demos and workshops are incorporated in the course to enrich the learning
experience through hands–on practice.
Demos
Demos appear after covering one or more topics or features of the application.
While not every product function is demonstrated, participants work with the
more important and complex features through a series of tasks. Demo tasks
contain a number of steps related to a specific action or feature of the product.
Workshops
Instructor Guide
The Instructor Guide contains the same content presented in the Student
Guide, along with additional notes to supplement and add value to the lecture.
The information can be generic, non–technical information, such as multiple
ways to perform the same command or a more in–depth discussion of a topic.
It may also be used to address more technical questions from participants or
as supplementary technical discussion, at the discretion of the instructor. It
helps to provide the appropriate level of information to a specific audience.
Instructor Installation CD
The Instructor Installation CD contains an executable file that can install any or
all of the following files. By inserting the CD into your computer and following
the prompts as the auto install runs, these files will be installed in
C:\Edcognos\CR1052.
Instructor Slides
These files contain the Microsoft PowerPoint slide presentation for each
module of the course as presented in the Student Guide:
• StartCR1052.ppt
• IntroCR1052.ppt
• Mod1CR1052.ppt
• Mod2CR1052.ppt
• Mod3CR1052.ppt
• Mod4CR1052.ppt
• Mod5CR1052.ppt
• Mod6CR1052.ppt
• Mod7CR1052.ppt
• Mod8CR1052.ppt
These files are the Instructor Guide Microsoft Word documents in PDF.
Student Data
The CD contains the files that are necessary to complete the demos and
workshops. By inserting the CD into the student PCs and allowing the auto
install to run, these files will be installed to the C:\Edcognos\CR1052 directory.
The Student Data CD contains the following folders and files:
• solutions folders with models as completed in the demos and
workshops
• cvs–1.11.5.exe
• Run Locale Map.txt
• GOSL
• CR1052_Report_Solutions.zip
Demos, Workshops, and Workshop Solutions
The previous items cannot be accessed directly from the CD. They must be
installed on your computer by using the EXE auto install.
Setup Complete
Installation requirements:
• Windows 2000 with Internet Information Services installed
• RAM Minimum: 512 MB, Recommended: 1 GB
• Disk space Minimum: 1 GB
• A Web server installed and started
• one of the following databases available to store Cognos data: Oracle
(version 8.1.7.2 or later if Oracle Server is on a different operating
system from ReportNet), DB2, or Microsoft SQL Server and all
recent patches.
For all Web browsers, the following enabled:
• cookies
• JavaScript
• Microsoft Data Access Component (MDAC) 2.6 or later for use with
product samples
For IE only, the following enabled:
• Run ActiveX controls and plug–ins
• Script ActiveX controls marked safe for scripting
• Active scripting
• a Web browser configured to accept cookies
• use v.6.0 or later
Perform a default installation of ReportNet. Finish the installation without
configuring.
Perform a default installation of Framework Manager. Finish the installation
without configuring.
Install Microsoft SQL Server 2000. See steps on Page xii.
Create ReportNet Content Store in Microsoft SQL Server Enterprise
Manager. See steps on Page xiv.
Restore the Sample Databases. See steps on Page xiv.
Configure ReportNet. See steps on Page xviii.
Create Local NT users. See steps on Page xix.
Set up Web Aliases. See steps on Page xx.
Setup Complete
Prepare for Samples and Solutions Deployment. See steps on Page xxii.
Import Sample Reports and Demo and Workshop Report Solutions. See
steps on Page xxiii.
Remove Administrative Tools for Report Authors. See steps on Page xxv.
Test Deployment and Security. See steps on Page xxvi.
Install and Configure Concurrent Version System (CVS) Software on Page
xxvii
Customize the introductory slide in STARTCR1052.PPT (optional).
6. Click Create a new instance of SQL Server, and then click Next.
7. Edit the Name, Co., etc., and then click Next.
8. Accept the License Agreement.
10. Select Default as the Instance Name, and then click Next.
12. For Services Accounts, click Use a Domain User account (and use your
account to your domain), or click Use the Local System account, which
should be Administrator.
13. Click Next.
14. For Authentication Mode, click Mixed Mode, and type sa in the Enter
password and Confirm password boxes.
15. Click Next.
16. Click Next again.
The installation continues, and the Microsoft Data Access Components are
installed. The complete installation may take a few minutes.
17. Once the install is complete, click Finish.
18. Install and run any recent patches.
9. In the Restore database files as pane, ensure the Restore as path for both files
in the Move to physical file name column points to the location of the GORT
database.
If you chose the default location when you created the database, the path
should read, <SQL Sever location>\MSSQL\Data\GORT.mdf for the first
file, and <SQL Sever location>\MSSQL\Data\GORT_log.ldf for the
second file.
Please note: The GORT.mdf file may be called GORT_Data.mdf.
The result should appear similar to the one shown below:
In the screen capture, the data file is listed first in the logical file name column,
followed by the log file. If the positions are reversed (in other words, if the log
file is listed first), ensure that each logical file name points to the correct
physical file location.
10. Click OK.
A message appears saying the restoration was successful.
11. Click OK to close the message.
12. Repeat Task 2 to restore the databases for GOSL and GOSLDW (with the
exception that GOSL will be restored from C:\Edcognos\CR1052). Ensure
the logical files are pointing to the correct databases.
Configure ReportNet
6. Click the cell in the Namespace ID row and the Value column, and type Local
NT ID, and then press Enter.
7. In the Explorer pane under Authentication, click Cognos.
8. To the right of Allow anonymous access, click True in the Value column, and
then click False to change the setting.
With Anonymous access now set to False, students will need to log in to
Cognos Connection and provide a user name and password.
9. In the Explorer pane under ReportNet service, click Cognos ReportNet.
10. In the Dispatcher maximum memory in MB row, change the value to 512.
This property specifies the maximum amount of memory in MB that can be
used by the ReportNet dispatcher. The value specified here determines the
amount of memory used by the Java Virtual Machine and depends on how
much memory is available. If you are using a computer that has a lower
amount of RAM, increasing this value will improve performance.
1. From the Start menu, point to Settings, and then click Control Panel.
2. Double–click Users and Passwords.
3. In the Users and Passwords dialog box, click the Advanced tab, and then
under Advanced User Management, click the Advanced button.
4. In the Local Users and Groups window, in the left pane, right–click Users, and
then click New User.
5. In the New User dialog box, in the User name box, type report_author, and
then in the password and confirm password boxes, type ra1234.
6. Click the User must change password at next logon checkbox to clear it,
click the Password never expires checkbox to select it, and then click Create.
7. With the New User dialog box still open, repeat steps 4–6 to create the
following users:
User Name = admin_person, password = admin1234
User Name = atorta, Full Name = Allessandra Torta, password = password
User Name = arodriguez, Full Name = Alex Rodriguez, password =
password
8. Click Close to close the dialog box.
9. In the left pane, click Users to ensure that the four users have been added.
10. Close the Local Users and Groups window, and the Users and Passwords
dialog box.
4. Click the Import tab, and then on the toolbar, click New Import .
5. On the Select a deployment archive screen, ensure the Cognos_Samples
archive is selected, and then click Next.
6. On the Specify name and description screen, click Next.
7. On the Select the public folders screen, click the checkbox beside the
GO Sales and Retailers folder to select it, and then click Next.
8. On the Specify the general options screen, click Next.
9. On the Review the summary screen, click Import Now, and then in the Finish
screen, click Finish.
10. Repeat step 4 to 9 to import the demo and workshop report solutions.
This is only required for the instructor’s machine.
For step 5, select the CR1052_Report_Solutions archive, and enter the
encryption password of admin1234. In step 7, select the
CR1052_Report_Solutions and GO Model folders.
11. In the top right corner, click Return.
Task 2. Create data sources.
1. At the top of Cognos Connection beside Tools, click the Directory link.
2. On the Directory screen, click the Data Sources tab.
7. Under Signon, click the checkbox beside User ID to select it, and
click the Password checkbox to select it.
8. In the User ID box, type sa, and in the Password and Confirm password
boxes, type sa, and then click Finish.
9. Repeat steps 3 to 8 to create the following data sources:
Data source name = goretailers, Database name = GORT
Data source name = GOSLDW, Database name = GOSLDW
Note: The last data source (GOSLDW) is specific to the course, whereas the
first two are specific to the bundled ReportNet examples.
10. Click Return.
1. At the top of Cognos Connection beside Tools, click the Directory link
The Directory page shows two namespaces, Cognos and Local NT.
2. Click the Cognos link, and then click Set properties for the
Consumers role.
3. On the Set properties – Consumers page, click the Members tab.
We are going to make report_author a member of the Consumers role,
because members of this role do not have access to the administrative tools.
We also need to remove the Everyone group because all users in this group
(which is everyone including Anonymous users) have access to the
administrative tools.
4. Click the Add link to add a member to the Consumers role.
5. Click the Show users in the list checkbox to select it, and then click the
Local NT link to access users in that namespace.
6. Click the checkbox beside report_author, and then click Add.
7. Scroll down to the bottom of the page, under Entries to be added, click the
checkbox beside report_author, and then click OK.
The report_author user is added to the Consumers role.
8. Click the checkbox beside Everyone, click the Remove link, and then
click OK.
9. On the Directory page, click Set properties for the System Administrators
role.
10. Repeat steps 3 to 8 to add the admin_person user to, and remove the
Everyone group from the System Administrators role.
We need to add a member to this role before removing the Everyone group
because we do not want the role to be empty.
Perform steps 4 –6 on the instructor machine only and the remaining steps on all
machines.
1. In the top right corner of the screen, click Log Off, and then
click Log on again.
2. In the User ID box, type report_author, in the Password box, type ra1234,
and then click OK.
The Cognos Connection welcome page appears with all tools in the upper
right corner removed except for Schedule Management.
3. In Cognos Connection, click the Public Folders tab.
4. Click the CR1052_Report_Solutions link, and then click the Calculations
link.
Query Studio opens and generates a simple list report.
5. Click Return to go back to Cognos Connection.
6. In the top left corner, click the Public Folders link.
7. Click the GO Sales and Retailers link, and then click the Report Studio
Report Samples link.
8. Click the Actual Sales against Target Sales link.
The report appears in Report Viewer.
9. Navigate through the report using the Page down links at the bottom
of the report.
10. Click Return to go back to Cognos Connection.
11. Close Internet Explorer.
Pre–Class Agenda
To ensure that the class runs smoothly, you should know the answers to the
following questions. If you need help in obtaining answers, contact the customer
or customer's sales representative (if the course is scheduled for a client site), or
the local office responsible for course logistics.
• What hours are available for accessing the teaching site, copying the
files to the hard disk, tuning the color on the PC viewer, and so on?
• If the course has been previously taught on the computers you are
using, have the Preferences been reset to their defaults, and have
student files been deleted?
Prepare to Teach
After you have configured the instructor and student computers, consider the
following:
• Make sure you complete each of the demos before teaching the course
so that you become familiar with each step required.
• Make sure that there is a Student Guide for each participant and that
they have the student data files so that they can practice after leaving
the course.
Document Conventions
Conventions used in this guide follow Microsoft Windows application
standards, where applicable. As well, the following conventions are observed:
PowerPoint Tips
Here are valuable keyboard commands you can use to improve your
presentation.
Command Key(s)
Help ?
Move between PowerPoint and Alt+Tab or click the application name on the
the product status bar
You can also jump to a specific slide by typing its slide number and pressing
the Enter key. However the slide number is not the same as the printed page
number because a page may be built from several slides to produce an
animation sequence.
Important Tips:
Class Format Use this slide to explain the class format and
emphasize that participants are encouraged to actively
lecture with slides
student guides as
perform the hands–on demos while following along
reference material
independent workshop
exercises for more practice
Mention that the Student Guide contains copies of the slides and further
supporting notes for the participants to use as reference material in the future.
Introduction
Index
Post–Class Agenda
• Have participants complete the Course Evaluation forms.
• If you brought any hardware or course media, take them with you when
you leave. Erase any files copied to the hard disks of the computers in
the classroom. Change the Preferences back to their initial settings.
• Make notes for yourself about what went well during the course and
what needs improvement. When you are preparing for your next teach,
you can refer to these.
Submit Feedback
Instructional Designers from the Cognos Education Development team
designed these course materials.
Tip: To determine if you already have a user name and password for the
Customer Support web site, visit http://support.cognos.com/support.
Objectives
Intended Audience
• Modelers
Prerequisites
Task-oriented You are working in the product and you need Framework Manager – Help
online specific task-oriented help. menu/Contents
Books for Printing You want to use search engines to find Framework Manager - Help
(.pdf) information. You can then print out selected menu\Contents\Introduction,
pages, a section, or the whole book. click an online book
Windows Start
menu/Programs/Cognos
ReportNet/Documentation/
Framework Manager
Task-Oriented Help
The Help function is always available from the main menu bar.
The following dialog box appears with the Contents tab selected:
Contents
Click the Index tab. The dialog box changes as shown below.
Index
An index is a tool that points to or leads you to the related topic. Each topic in a help
file has one or more index terms from which that topic can be accessed. Either type the
term you are looking for or scroll through the interactive list of terms available.
Click the Search tab, in the box type relationship, and then click the Search button.
The dialog box changes as shown below:
Search
The Search tab accesses a search engine that will find instances of a term within the
contents of the help file. Use this tab when you cannot find a term in the index.
For example, ancestor is not an index term. Using the Search tab, type ancestor, and
the search engine will find this term. You can then display this help topic, and all
instances of the term builds will be highlighted.
Use the Search tab to search for words or phrases that do not have an index entry.
Online help
From any help window, you can click Additional Materials to open an online guide.
Business Scenario
Organization
Great Outdoors Company
Role
data modeler
Task
Provide report authors and query users with a business
presentation of the information in the corporate data sources.
Business requirements have been established.
Tool
Framework Manager
Instructional Tips
• The Great Outdoors Company is a sporting goods and camping
Inform students that this scenario will be
equipment wholesaler with operations in Europe, the Americas, and used throughout the demos and workshops
Asia Pacific. of this course. They will create a project,
and then model the metadata within that
• You are a data modeler tasked with providing report and ad hoc query project. They will learn and apply the
authors at the Great Outdoors Company with a business presentation Framework Manager workflow process.
of the information in the corporate data sources so that they can easily
build reports.
• Users have already indicated what data they need to use, and how they This course uses the GO Sales and GO
Retailers databases, which are MSSQL
need to use it. The Great Outdoors Company has just purchased the databases containing transactional and
Cognos ReportNet solution, and you will use Framework Manager to operational data for the fictional Great
prepare the appropriate metadata models. Outdoors Company. It also uses the GO
Sales DW database, which is also a
MSSQL database, but set up to support
dimensional analysis, through multiple star
schemas.
Instructional Tips
This is an optional, instructor-led demo.
The data (reports) required to complete this
demo will not be installed on the students’
machines.
Purpose:
Show examples of reports that have been created in Report Studio
and Query Studio based on the Framework Manager GO Model.
This is the model that students will be developing throughout the
course.
Only data from the dates specified in the prompt appear in the report. The
values in the UNIT_COST, UNIT_PRICE, and UNIT_SALE_PRICE
columns are averaged, while the QUANTITY column is totaled and is
unformatted. The UNIT_COST, UNIT_PRICE, and UNIT_SALE_PRICE
columns are formatted as currency. The default formatting of these query items
is set in Framework Manager.
12. Close the Report Viewer, and then in the Insertable Objects pane, expand
Order Header, and then point to the Order Number query item to view the
screen tip.
The Order Number – Order No. screen tip is a property set on the Order
Number query item in Framework Manager.
13. Right-click the Order Number query item, and then click Properties.
The Description box in the Properties dialog box shows a description that was
set as a property on the Order Number query item in Framework Manager.
14. Click Close, and then close Report Studio.
Task 2. Show localized metadata titles and properties.
1. Beside Localized_Metadata_Titles_Properties, click Edit with Report Studio.
2. From the File menu, click Model Connection.
The Model Connection dialog box appears.
3. In the Language box, click French, and then click OK.
4. Click OK to close the message that says the report specification is valid.
Notice that the contents of the Insertable Objects pane have changed to reflect
the new language. The (fr) Presentation Layer and (fr) Database Layer folder
names have not been translated for this model. These are placeholder names
for the text properties for these objects. We will look at an example of some
text properties of objects that have been translated.
5. In the Insertable Objects pane, expand the (fr) Database layer folder and the
(fr) gosales namespace.
Notice that one of the query subjects is named Pays. This is the French
translation for Country. This name represents the translated Country query
subject.
6. In (fr) gosales, expand (fr) SALES_BRANCH.
Notice one of the query items is named VILLE. This is the French translation
for City. This name represents the translated City query item.
To accomplish the translation, the French language is added to the Framework
Manager model, after which an external translation file is imported into the
model. The translation file is used to translate the text properties of all the
objects. The model is then published with the appropriate languages and is
available for use.
7. Close Report Studio.
2. Click Bottom.
The report shows only data from the year 2001.
3. In the Menu, click Insert Data, and then expand the Database layer and
gosales folders.
4. Expand the Orders for 2001 query subject.
The report uses the query items from this query subject. This query subject was
created in the Framework Manager model and is based on a stored procedure
that exists in the data source. This stored procedure will return only dates
between 2001-01-01 and 2001-12-31.
5. Click Return.
Task 4. Show a report that contains calculated columns
created in Framework Manager.
1. Click the Calculations report.
The report opens in Query Studio. The GROSS_PROFIT and MARGIN
calculated query items are displayed in the report
2. In the Menu, click Insert Data.
Notice that the data in the report appears in French. Our data source contains
data for multiple languages. For reporting purposes, we have made changes to
the Framework Manager model to accommodate these languages. The result is
that the language of the data will appear according to the language preference
of the user.
4. Click Return, and then in Cognos Connection, click Preferences.
5. In the Content language section, select Use the default language, and then
click OK.
Objectives
Instructional Tips
Emphasize that this module not only
provides an introduction to Framework
Manager, but also serves as an
introduction to the topics and the flow of the
topics, throughout the course.
Additional Information
• Framework Manager provides the metadata model development
Framework Manager is a Windows-based
environment for ReportNet. client application as opposed to Query
Studio, Report Studio, and Cognos
• When you work in Framework Manager, you work in a project. A project Connection, which are Web-based
contains metadata objects (the model) organized for report authors applications.
according to the business model and rules.
A model in Framework Manager is a
business presentation of the structure of
• At the highest level, objects in a project include a model, namespaces, the data from one or more data sources. A
data sources, parameter maps, and packages. model describes data objects, structure,
and grouping, as well as relationships and
• After you define a Framework Manager project and namespace, you can security.
publish a package containing metadata information to the ReportNet
The terms model and project are often
server for use by authors and query users. used interchangeably in the
documentation. A clearer distinction is
provided on upcoming slides.
Additional Information
The project and the project’s associated
files are contained in a project folder. It is
• A Framework Manager project appears as a folder that contains a project recommended that no other files be added
file (.cpf) and the specific XML files that define the project. to this project folder.
File definitions:
• The files in a project folder are unique to each project. • <project name>.cpf - the
Framework Manager project file,
which references the XSD and
XML files used to define a project
• model.xml - the actual model
data created by Framework
Manager users
• Preferences.xml - the
preferences for Framework
Manager projects
• customdata.xml - the stored
diagram information. For
example, the diagram layout,
notation, font, color, etc.
• repository.xml (not shown) - the
logged version history for each
project or segment that has been
added to a repository
Additional Information
• The most important component of the Framework Manager project is
The query subject for importing a table
the query subject. uses the following general SQL syntax:
select * from <table>.
• During the initial metadata import operation, a default data source query
subject is created for each object you select (for example table) and Model query subjects - can be enhanced
creates the default relationships between query subjects for you even further, perhaps by adding filters or
calculations to create more query items.
automatically.
Configuration Publish
Package
Instructional Tips
Setup &
Maintain
Before explaining this slide, instructors
Security should be pointing students to the Services
Reference Card, which contains the
Administer
Cognos Solution Framework slide. This
Servers
& Reports card will be available and should be given
out prior to the start of the course.
Instructors will use the card to explain how
ReportNet provides the Query and
Reporting component of the enterprise
• As part of the Cognos ReportNet workflow, you use Framework platform.
Manager to develop metadata models. The Cognos ReportNet workflow
Additional Information
consists of the following phases: Manage
• Installation – use install guides to
• Plan – develop the application scope, including identifying the user install ReportNet, including the
community, and establishing business & technical requirements Content Store (MSSQL, Oracle,
DB2)
• Manage – including installation, configuration, security setup and • Configuration – use Cognos
Configuration to: 1) set the initial
maintenance, and report and server administration configuration of ReportNet
components after you install
• Model – model underlying data source metadata into business views, them, 2) configure ReportNet
and publish those views for use by report and ad hoc query authors components if you want to
change a property value or you
add components to your
• Author – using Report Studio and Query Studio to create and save environment, 3) start and stop
reports for the business community ReportNet services
• Security Setup and Maintenance
• Consume – end-users consume the required business reports – use Cognos Configuration to
specify the Authentication
Provider for the ReportNet
Environment
• Report and Server Administration
- use Cognos Connection to
manage (distribute schedule,
secure, and organize) reports
and monitor and configure
servers
Model
The Framework Manager modeler may/will
be responsible for applying security views
to the business metadata model.
Data
Sources
Import
Create and
Design/Create Prepare Prepare the Manage
Manage
Project Metadata Business View Project
Packages
Instructional Tips
It is important to mention that although the
diagram gives the appearance of a one-
Set
Publish
Security
way flow, in a real-world scenario,
metadata modeling is an iterative process.
Metadata modelers may need to request
Report Studio database changes or additions (such as
Query Studio Content views, stored procedures and functions) to
Store database administrators to meet the needs
of their reporting application. They would
then re-import objects, remodel and retest,
• Before report authors can create reports, you must follow a workflow repeating this process until the model
process in Framework Manager. This workflow consists of the following meets the reporting requirements.
phases: Emphasize to students again, that this
workflow is also the basis for the flow of the
• Design and Create Project – foundation for the modeling process course modules; and flow of the content,
demos, and workshops within the modules.
• Prepare Metadata – examine and modify properties and relationship,
organize objects The graphic in the slide shows the
Framework Manager workflow process,
with publishing models as the final task.
• Prepare the Business View – add business value specific to reporting For the purposes of course flow we will be
requirements publishing models in the demos and
workshops in each module. This is to view
• Create and Manage Packages – identify subsets of the metadata to be the results of modifications made to the
published models, right away, instead of waiting until
the end of the modeling process (in this
case after a 2 day course) to view them.
• Set Security – based on ReportNet security, can be set at the package Otherwise, students may not remember
level or on individual query subjects and query items what they have modeled on the first day,
and may not recognize those changes
• Publish – to the ReportNet server for use by report authors to create reflected in the reports and queries created
reports in Query Studio and/or Report Studio.
Additional Information
• Manage the Project – to be performed throughout the modeling Project management features include
process, this includes a set of project management features used to enabling multiuser modeling through
manage the project, and other management tasks version control, and sharing and reusing
information through project linking and
segmenting. Another management task
includes verifying the project for errors or
problems.
Design/Create
Project
Design
Know your data and the structure of your data sources.
Work with report authors to understand business reporting
requirements.
Identify project structure.
Create
Create a project.
Import the required metadata.
Organize
Organize objects to create a physical view of the metadata.
• analyze and understand your reporting requirements Identifying project structure – for example,
use a two-tier model to determine how
metadata is presented to users (for
• identify a project structure – how will it be organized example folders, namespaces).
Prepare Metadata
Prepare
Metadata
Administer
Specify query processing type.
Define function sets.
Clean Up
Examine and modify object properties.
Examine, modify, and create relationships.
Edit SQL.
Additional Information
You should modify ambiguous relationships
so that you achieve the query results you
expect. An example of an ambiguous
• To prepare the model for reporting, you must examine and, if relationship is a redundant relationship.
necessary, modify the imported metadata. To do this, you may have This occurs when a query would have more
than one possible path between query
to: subjects. One path may achieve accurate
results, while the other may achieve
• specify whether query processing occurs entirely at the database inaccurate results.
or partially on the local server
You may have to modify a relationship by
changing the cardinality. For example, you
• define functions sets that are available in the project
may want a relationship defined as an
outer join (0…n) rather than an inner join
• examine and modify object properties, such as name, description, (1…n).
usage, and aggregate rule
For reporting purposes, you may have to
• examine and modify relationships such as ambiguous create relationships that do not exist in the
underlying data source. For example, if you
relationships, or create relationships, for example, between two want to run a query that spans two data
data sources sources, but no relationship exists between
them, you must create a relationship
• edit the SQL in a query subject definition between them in the Framework Manager
model.
Prepare the
Business View
Additional Information
• Create one or more presentation views based on business or
For example, you could create separate
organizational requirements. presentation views for HR, IT, Sales. These
views would contain query subjects that
• You can add business rules to the query subjects in your model to have been modeled to meet the specific
refine the data retrieved and ensure that the right information is business requirements of each group.
available for report authors. You can:
• create and apply filters to limit the data a query subject retrieves
• use star schema groups to isolate fact tables that share Instructional Tips
conformed dimensions Star schema groups and specifying
dimensional information are discussed in
• specify dimensional information Module 8 – Use Advanced Modeling
Techniques.
Create and
Manage
Packages
• After preparing the metadata and the business view of the metadata, you
can create a package and define the contents. The package includes the
model objects required to meet a reporting need.
Set Security
Set
Security
Manage
Project
• log actions in a log file so that they can be replayed, such as for
deployment purposes
Project Info
Object Explorer
Object Diagram
Instructional Tips
The instructor can cover this topic using
Demo 1-1- Explore the Framework
Manager User Interface.
Additional Information
The project page is the environment in
• After you create or open a project, the project page appears. This which you design, package, and publish
page contains several panes and views that you can use to view and project metadata.
modify the objects in a project, including the:
In the Project Viewer, you can create query
subjects, data sources, namespaces,
• Project Viewer – shows the objects in a project in a hierarchical parameter maps, folders, segments, links,
view. You can use the Project Viewer to view, modify, and calculations, filters, and packages.
create objects.
In the Object Diagram view, relationships
between query subjects are shown as lines
• Project Info, Object Diagram, and Object Explorer views: with cardinality notation. You can expand
objects that are grouped in folders to show
• Project Info view – shows the highest level objects in the the hierarchy of the query subjects and
project; you can navigate to, view, and modify other child relationships that it contains.
objects
To organize objects In the Object Diagram
view, click Auto Layout from the Diagram
• Object Diagram view – shows the hierarchy and menu. To center a query subject, click a
relationships between objects in a project in a diagram query subject and, from the Diagram menu,
click Set Focal Point.
• Object Explorer view – shows the contents of a project,
In the Object Explorer view, you can
similar to any file system arrange objects by name, class, or
description. If you have a large number of
objects in a project, it may be easier to
locate them in the Object Explorer.
Additional Information
• All objects in a project must be identified by a unique name that is If you want to have objects with the same
used to reference them. The identifying name can consist of one, name in a project, these objects must be
two, or three parts, depending upon the type of object. The parts contained within different namespaces.
include:
Most of the objects in a Framework
Manager project have a two-part identifier.
• an object name The two-part identifier consists of the name
of the containing namespace and the name
• a location in the project hierarchy, as expressed in the default of the object. The object name must be
language of the project unique in the nearest containing
namespace. For example, you have a
GoSales namespace that contains a query
subject named Product. The Product query
subject has the following name, where the
square brackets and periods are the syntax
Framework Manager uses for object
identifiers: [GoSales].[Product].
Demo 1-1
This folder contains the two data sources currently If there are query subjects that reference a
referenced in this model. Data sources are specified during the data source in a model, then the data
import of metadata. source cannot be deleted from the model.
2. On the toolbar, click Back to return to the Project Info view, and
then click Object Diagram.
This view shows the hierarchy and relationships between objects in
the project in a diagram. From here you can access, modify, and
create objects and relationships.
3. Resize the left, right, and bottom borders of the Object Diagram so
that it fills the screen.
4. Click Search.
The search is performed and a list of objects matching the search
criteria was found.
5. Click the first match found in the list.
You can now set properties for this query item using the Properties
pane.
6. Close Framework Manager without saving changes.
Results:
To facilitate the data modeling process in Framework
Manager, we familiarized ourselves with the user
interface. We opened an existing project, examined the
objects within it, examined different views of the
interface, and performed a search on objects in the
project.
Summary
Objectives
Data
Sources
Import
Design/Create
Project
Instructional Tips
• The Design and Create Project phase provides the foundation for the
Remind students that the diagram shown
modeling process in Framework Manager. on the Framework Manager Workflow slide
will be built up and shown at the beginning
of each module.
• Before creating your project, you should consider some best practices Additional Information
for design. You also attempt to structure the metadata
in a way that will assist in model
• You design a project in Framework Manager to structure metadata in maintenance.
a format that will be meaningful, and minimize complexity, for report
The two-tier model works well for both
authors. report authors and data modelers. The
• The recommended structure is a two-tier model with both a physical presentation layer makes it easier for report
authors to find and understand their data,
and presentation layer, where you: while the physical layer acts as the
foundation for the presentation layer.
• organize foundation objects into a physical layer
• organize reporting objects into a presentation layer You can create segments, or extend a
project to other users by linking to other
• When you design a project, you might want to consider where to projects, to share and reuse information.
share and reuse information, and where to organize a project One way of organizing your project is to
create namespaces to allow duplicate
according to business needs. query subjects or query items in a project.
After you have designed your project, you
can then add and modify objects to better
reflect your business and prepare for
reporting.
• The physical layer provides the physical query layer and is made up
primarily of data source and stored procedure query subjects. It acts
as the foundation for the presentation layer.
• When creating the physical layer, import only the smallest number of
objects, such as tables, procedures, and functions, that you need in
your project.
Additional Information
• The presentation layer makes it easier for report authors to find and
Shortcuts make it easier to maintain
understand their data. metadata in the physical layer. This helps
you maintain the objects by ensuring that
• The presentation layer is made up primarily of model query subjects changes to the target object are reflected in
that you create. the shortcut.
Create a Project
• You physically create the project during the Create component of the
Design and Create Project phase of the Framework Manager
workflow.
• At this point, you create the project by specifying the name and file
location of the project.
Define Languages
Specify a design language for the project when you first create it.
Add languages any time after the project is created.
• When you create a project, you will be prompted to select a language. Additional Information
The design language value is stored in the
This is the design language of the project and it cannot be changed. model and cannot be changed. It serves as
the default language value. You should
• You can add languages to the project after you have created it. When make this selection based on the language
you add a language to a project, Framework Manager generates a new of the metadata you will be working with.
property value for every multilingual property of each object in the The selection you make will also become
the active language of the project. This
project. identifies the language in which model
content is currently displayed. This value is
not stored in the model and you can
change it at any time. For example, any
testing of query subjects that you do will
retrieve data in the appropriate language
that you select, provided you have data to
support that language.
Additional Information
• Import from one or more of the supported sources.
The following rules are applied when
setting multiple data source access in your
• To set up multiple data source access in your model, take these steps: model:
• Like named tables from different
• Create a separate namespace to contain the data source query data sources will result in name
subjects from each data source. collision. For example, both GO
Sales and GO Retailers have
COUNTRY tables. By default,
• Define at least one relationship between them using data source Framework Manager creates
query subjects from each data source. data source query subjects with
the same name as the table.
• Create model query subjects using query items from any data Resolve this by adding a second
source query subjects. namespace and import GO
Retailers into it.
• Relationships may be defined
between any two query subjects
from any data source.
• A data source query subject
cannot span multiple data
sources.
• A model query subject can
contain query items from two or
more data source (or model)
query subjects.
Import Metadata
Select Object
for Import
Select Criteria
Select Import Select Data Select Objects
to Generate
Source Source to Import
Relationships
Import
Create Data
Source
Additional Information
• The slide above shows the import process of metadata from a
You can import metadata into a
relational database. Choose the model object, into which you will namespace or a folder.
import, and then:
2. Select the data source to be used, or create a data source. If creating a When creating a connection, the wizard is
interfacing with the New Data Source
data source: Wizard in Cognos Connection.
a. specify name and connection type (MSSQL, Oracle, DB2, XML).
c. specify a signon
Select Criteria
to Generate
Relationships
Additional Information
• You need to select at least one of the following options to control The default option is Use primary and
how relationships are created: foreign keys.
• Use matching query item names – creates relationships based on The third option should be used only when
matching query item names and data types there are not many keys or indexes defined
in the database, as it can generate too
many relationships.
• When outer joins exist in the database, you can indicate how to
generate relationships between the imported query subjects:
You can restrict the function sets available in the expression editor so
that it lists only the vendors that you want.
Additional Information
• A function set is a collection of vendor specific database functions.
You customize the function set by
identifying the specific vendor for each data
• The expression editor lists the function sets for all available vendors. source defined in the project.
However, you can restrict the function sets so that it lists only the
vendors that you want to use in your project. The Function Definition Service does not
distinguish between multidimensional and
relational function sets.
Set properties
Verify and test
query subjects
Create folders &
rename objects
• setting properties
Export Metadata
Additional Information
• You can export your Framework Manager model as a Common
CWM is used for exchanging metadata
Warehouse Metamodel (.cwm) file. between different data warehouse tools
and repositories. Each instance of the
• You can export query subjects, query items, folders, namespaces, CWM metamodel is exchanged via XMI
expressions and functions. (XML metadata interchange) documents.
Demo 2-1
Purpose:
Now that we have an understanding of the Framework
Manager modeling environment, we can begin the process
of developing a model that supports the business
requirements of our report and ad hoc query authors. We
will begin by creating a project, organizing high-level
objects, and importing metadata.
3. Click OK.
We will now create other objects and begin to organize all objects
within the model. We will rename the default namespace and create a
folder to hold our imported data source query subjects. This folder
will serve as a container for the physical layer. Later in the modeling
process, we will create another folder, which will allow us to logically
separate our model into a physical view for modelers, and a
presentation view. This presentation view will be made available to
our report authors.
Task 3. Create and organize objects.
3. Click New.
The Welcome page of the New Data Source Wizard appears. This is Additional Information
the same wizard that is used to create data sources through the Data sources listed in the Import Wizard
Directory tool in the Cognos Connection administration interface. can only be deleted from the Data Sources
tab in the Cognos Connection Directory
4. Click Next, in the Name box, type GOSL, and then click Next. tool.
5. In the Type list, click Microsoft SQL Server, leave the default
Isolation level, and then click Next.
6. In the Server name box, type localhost, and then in the Database
name box, type GOSL.
The isolation level specifies how
7. Under Signon, select the User ID and Password check boxes, and transactions that modify the database are
then in the User ID, Password, and Confirm password boxes, type handled. By default, the default object
gateway is used. You can select from a list
sa.
of isolation levels. Not all types of
8. Scroll to the top of the page, click Test, and then click OK. databases support each isolation level, and
some database vendors use different
A message appears indicating the test was performed successfully. names for the isolation levels. For more
information on isolation levels, see the
9. Click OK to close the message box. Framework Manager User Guide.
10. Click Close, click Finish, and then click Finish again to close the
Wizard.
A new data source now appears in the list, through which we will
now import metadata.
Task 5. Import metadata.
1. Ensure that the GOSL data source is selected, and then click Next.
2. In the list of objects, select the Tables check box, and then click After selecting which objects to import,
Next. there are two options to choose from to
control how Framework Manager will
We do not require all the metadata objects in the database, only the handle a duplicate name when it is
tables and the columns within them. detected:
3. Leave the defaults for the Generate Relationship criteria, and then • Option (1) Import and create a
unique name: The import does
click Import. not update the existing query
The import process begins, and then a message appears summarizing subject (it is unchanged), but a
the count of objects that were imported. new query subject will be created
whose name is appended with a
4. Click Finish. sequence number. All selected
columns and corresponding keys
5. In the Project Viewer pane, expand the gosales namespace. and indexes will be generated for
this new query subject. There is a
The namespace now contains a list of query subjects, which represent problem with relationships
each of the tables that were imported from the relational database. however, and no primary/foreign
key relationships can be retrieved
when the name of a query
subject has changed.
• Option (2) Do not import this
object: This is the default
behavior. The import ignores an
object that has name conflict.
Results:
We started to develop the model that will support the
business requirements of our report and ad hoc query
authors. We created a project, organized high-level objects,
imported metadata, and examined a run-time version of the
model in the reporting environment.
Summary
Workshop 2-1
Workshop Format
The following workshops have been designed to allow you to work according to your own pace. The
workshops are structured as follows:
The Business Question Section
The first page of each workshop exercise presents a business-type question followed by a series of steps.
These steps provide additional information to help guide the student through the workshop. Within each
step, there may be numbered questions relating to the step. Solve the tasks by using the skills you learned in
this module and in the previous ones. If you need more assistance, you can refer to the Task Table section
that provides more detailed instruction.
The Task Table Section
The second page of the exercise is a Task Table that presents the question as a series of numbered tasks to
be accomplished. The first column in the table states the task to be accomplished. The second column,
“Where to Work”, indicates the area of the product to work in. Finally, the third column provides some
hints that may help you complete the exercise. If you need more assistance to complete the exercise, please
refer to the Step-by-Step section, in Appendix A.
The Workshop Results Section
This section will contain a screen capture(s) of an interim or final results and/or answers to the questions
asked in the Business Question section.
The Step-by-Step Section
The Step-by-Step instructions for completing all of the workshops are located in Appendix A of the
Student Guide. Each task in the Task Table is expanded into numbered steps, scripted like the demos.
• Create a report that includes query items from the model that span
both the GO Sales and GO Retailers data source.
For more detailed information outlined as tasks, see the Task Table on the
next page.
For the final query results, see the Workshop Results section that follows the
Task Table.
2. Create a data source and goretailers namespace • To create the data source,
test the connection. use the following
Import Wizard information:
• Import source:
Relational Database
• name: GORT
• type: MSSQL
• Return to Cognos
Connection without saving
the report.
Answer to the Additional Challenge: the error occurs because you are trying
to access data from two different data sources in this query. Although these
data sources exist in the model, a relationship has not been specified between
the two of them. This relationship will be created as part of the modeling
process performed in the Prepare Metadata phase of the Framework Manager
workflow.
Objectives
Data
Sources
Import
Additional Information
• There are two types of query processing to choose from:
The default selection depends on the
database in question. The Limited Local
• Limited Local – means that the database server does as much of setting is not usually required. In some
the SQL processing and execution as possible. However, some cases such as with conversion functions,
reports or report sections use local SQL processing Limited Local may need to be set.
• 1..n means there is one or more than one record (never zero) The second number (..1 and ..n) in the
cardinality tells ReportNet whether to
account for multiple records when
• 0..1 (not shown) means there is zero or one record generating results.
• 0..n (not shown) means there is zero, one or more than one
record
1..1 1..1
Product 0..n
Product_Forecast Product 1..n
Product_Forecast
Overrides
1..1 1..1
Hierarchical Relationships 1..n
1..n
1..1
1..n Parallel Relationships
1..1 1..1
1..1
1..n 1..n 1..n
Additional Information
This slide should be used to discuss some
of the design issues you might face when
dealing with relational data.
• Many–to–many relationships must be resolved at the data source
level, however, all other scenarios should be examined. Ambiguous or Redundant Relationships
are the only types of relationships that
• Ambiguous or redundant relationships are patterns that may make it need to be addressed when modeling
metadata in Framework Manager.
difficult to write queries that retrieve the appropriate data. This is ReportNet handles Hierarchical
because it may not be clear which table columns must be included in Relationships and Parallel Relationships.
the Select statement. Going through either path produces a result, but
you should specify the correct or more efficient path. Appendix B also addresses, in more detail,
how these issues are handled in
• Hierarchical relationships involve multiple query subjects, each of Frameworks Manager.
which represent a level in a hierarchy. If you need to use only the The best practice for modeling
query subjects on either end of a hierarchy, ReportNet is aware of the relationships is to go for maximum clarity.
middle query subject(s) and writes the appropriate SQL to return the
correct results. As you resolve one scenario, you may
create another. This does not mean that
your relationships are incorrect. Just make
• Parallel relationships can result in double–counting. ReportNet
sure that they meet your business rules.
handles this scenario by using a stitch query, which merges two result
sets locally on the ReportNet server to produce the correct results.
Stitch queries will be examined elsewhere in this course.
1..n 1..n
Orders Orders
1..n 1..n
Additional Information
• In the slide example, we see ambiguous relationships between the
This concept is similar to creating alias
three query subjects. Which relationship will be used when querying tables.
all three query subjects together?
Instructional Tips
• We can create a shortcut to Sales Staff, delete the original relationship This would be a good time to show Order
between it and Orders and then create the same relationship between header to Sales branch to Sales Staff
relationship wheel in the GO Model to
the shortcut and Orders, as seen in the slide example. better illustrate this concept.
• When you create the presentation layer, you can use folders to This ambiguous relationship path will be
logically isolate query subjects and shortcuts so that report authors resolved in the following demo.
know they are using the appropriate relationships.
Demo 3–1
Purpose:
Now that we have imported database metadata into our
model, we want to refine the model by making some
relationships optional. For example, many countries tracked
by the COUNTRY query subject are not part of the European
Union. We must therefore make the relationship between
the COUNTRY and EURO_CONVERSION query subjects
optional.
9. Click OK.
Task 2. Resolve an ambiguous relationship scenario.
1. In the Project Viewer pane, right–click the SALES_STAFF query
subject, and then click Locate in Object Diagram.
2. In the Object Diagram, right–click the SALES_STAFF query
subject, and then click Create Shortcut.
A shortcut the SALES_STAFF query subject appears in the Object
Additional Information
Diagram as well as in the Project Viewer. After a shortcut has been created, you can
3. Right–click the Shortcut to SALES_STAFF shortcut, and then click always view the target of the shortcut by
Create Relationship. looking at the Target Object Reference
property in the Property pane.
The Relationship window appears.
4. In the Name box, type SALES_SAFF <–––>
ORDER_HEADER.
8. From the query item list for the right–side query subject, select
SALES_STAFF_CODE.
Your relationship should appear as shown below:
Results:
We refined the model by making some relationships
optional. We also linked the metadata in the gosales and
goretailers namespaces by creating a relationship between
the ORDER_HEADER and RETAILER_SITE query subjects.
Lastly, we tested our modifications by re–publishing the GO
Model package and creating a simple report in Query
Studio.
Query Subjects
Query Items
Additional Information
• With data source query subjects you also have the ability to change
Cognos SQL, native, and pass–through will
the SQL type (Cognos SQL, native, or pass–through). be discussed elsewhere in this module.
• If you decide you would like to edit the SQL of a model query
subject, Framework Manager converts it to a data source query
subject. Once it is converted, you can edit the SQL.
• Framework Manager lets you modify existing test settings so that you
can customize the results that the test displays.
You can quickly and easily alter the SQL of a data source query
subject to meet your needs.
Additional Information
• You can modify your SQL to include filters (as seen in the slide
If you change column titles, Framework
example), calculations, UNIONS, nested select statements, or any Manager regenerates the query item as a
other SQL requirement you may have. new item. Any previous changes made to
the query item properties will be lost.
• This functionality gives the metadata modeler a greater degree of
control over what data is returned when a query is executed.
You can set the SQL Type and Generated SQL for each query subject.
SQL Type includes:
Cognos
Native
Pass–Through
Generate SQL includes:
Minimized
As View
SQL Type
Additional Information
Framework Manager generates the most
• By default, Framework Manager uses Cognos SQL to create and edit optimized SQL possible, while preserving
query subjects. Cognos SQL adheres to SQL99 rules and works with its functionality. In this way, Cognos SQL
all tabular data sources. offers the most added value.
• Native SQL is the SQL the data source uses, such as Oracle SQL. You cannot use Native SQL in a model
query subject that references more than
one data source in the project.
• Pass–through SQL lets you use Native SQL without any of the
restrictions the data source imposes on subqueries. Pass-Through SQL query subjects are not
processed as subqueries. Instead, the SQL
Generate SQL for each query subject is sent directly to the
data source where the query results are
generated.
• By default, the SQL Generation type is set to Minimized, which
means that the generated SQL contains only the minimal set of tables
and joins needed to obtain values for the selected query items. This
results in a query that executes significantly faster.
Instructional Tips
• When the generation type is set to As View, Framework Manager
This is a good time to open a query subject
generates queries that contain the full SQL statement of the query definition window, click on the Options
subject, which bypasses certain query optimization. button in the toolbar and show the options
dialog. You can briefly discuss the Test
Settings and show the SQL Settings tab.
Refer to the section “Test a Query Subject”
in the Framework Manager User Guide.
• If you have a large amount of query items for a query subject, you can
organize them into query item folders for greater manageability.
Each query item has properties that can be modified to suite your
reporting needs.
• To save report authors time, you can modify other properties such as Additional Information
the Format property. You can also add descriptive information and With the format property you can display
Quantity as a number with a thousands
screen tips for your query items.
separator. Your query item may be a dollar
value in which case you may want to set
the Format property to currency.
Additional Information
• An Identifier is usually a key, index, date, or datetime data type. It During import, the Usage property is set
according to the type of data that the query
represents a column that is used to group or summarize the data in a items represent in the data source.
Fact column with which it has a relationship.
If data meets multiple criteria these rules
• A Fact is usually a numeric or timeinterval data type. It represents a are applied in the order in which they are
column that contains numeric data that can be grouped or listed. For example, if you import a numeric
column that participates in a relationship,
summarized, for example, Product Cost. the Usage property is set to "identifier".
• An Attribute is usually a string data type. It represents a column that When you create a model query subject,
is neither an Identifier nor Fact, such as Description or Product each query item inherits the Usage
Name. property of the query item on which it is
based.
• Setting the property to Unknown is used when a modeler is unsure of
the data’s role.
Additional Information
• Aggregate settings include sum, count, and average, as well as several
You may also choose to have no
others. aggregation applied at all, which would
return detail rows.
• The report author can either use this default setting to perform
calculations on groups of data, or override it by using the reporting If desired, report authors can override the
application to apply a different type of aggregation. default aggregation setting at design time.
Demo 3–2
Purpose:
As a data modeler you need to customize some query items
in the model to make them more intuitive and return the
desired results for report authors. For example, we want
some data to be averaged rather than totaled in reports, so
we will adjust the Regular Aggregate property of certain
query items. In addition, we want to specify the default date
prompt control behavior when creating a prompt page in
Report Studio. Lastly, we want to add screen tips and
descriptions for some query items. These screen tips and
descriptions will be visible in Report Studio. Once we have
implemented these changes, we will re–publish the GO
Model package, and view the results in Report Studio.
4. Click Create a new report, double click List, and then in the
Insertable Objects pane, expand Database layer, gosales, and
goretailers.
5. Expand SALES_BRANCH, right–click CITY, and then click
Properties.
Notice that the usage of this query item is set to attribute, which is
what we specified in Task 2.
6. Click Close, and then repeat step 5 to view the properties of the
CITY_MB attribute.
Notice that the usage of this query item is also set to attribute, which
is what we specified in Task 2.
7. In gosales, expand ORDER_HEADER, and then double–click
RETAILER_NAME to add it to the report.
8. Expand ORDER_DETAILS, and then double–click
UNIT_COST, UNIT_PRICE, UNIT_SALE_PRICE, and
QUANTITY to add them to the report.
9. Click the UNIT_COST column, and then in the Properties pane,
scroll down to the bottom.
Notice that the value of the Aggregate Function property in the Data
Item section is set to Average, rather than Total. This is due to the
aggregate setting that we specified in Task 1 for UNIT_COST,
UNIT_PRICE, and UNIT_SALE_PRICE.
Result:
We customized some query items in GO Model. For
example, we adjusted the Regular Aggregate property of
certain query items. We then re–published the GO Model
package and viewed the results in Report Studio.
Demo 3–3
Purpose:
We want to ensure that users working in languages other
than English can easily use the GO Model package to create
reports. To this end, we will enhance our model by
exporting a translation file and modifying this file so that it
contains French and English strings. We will then import
this translation file back into Framework Manager and view
the results. Lastly, we will re–publish the GO Model
package and examine the impact of implementing
multilingual support in Report Studio.
Notice that the French value for the Name property of the
COUNTRY query subject reflects the change that we made to the
translation file.
9. In the gosales namespace, ensure that the SALES_BRANCH query
subject is expanded, and then click the CITY query item.
Notice that the French value for the Name property of the CITY
query item reflects the change that we made to the translation file.
10. In the goretailers namespace, expand the RETAILER query subject,
and then click the COMPANY_NAME query item.
Notice that the French value for the Name property of the
COMPANY_NAME query item reflects the change that we made to
the translation file.
11. Save the model.
Results:
We enhanced our model by creating a translation file that
contains French and English strings. We then imported this
translation file back into Framework Manager and viewed
the results. Lastly, we re–published the GO Model package
and examined the impact of implementing multilingual
support in Report Studio.
You can reuse existing model metadata to quickly create new query
subjects.
You can merge the following objects:
model and data source query subjects
query items, filters, and calculations
relationships
shortcuts
Query Subject Query Subject
A B
Query Subject
A_B
Demo 3–4
Purpose:
The tables underlying the PRODUCT_MULTILINGUAL and
PRODUCT query subjects have a mandatory one–to–many
relationship: one product may have information stored in
one or more languages. To make report authoring easier,
we will merge the two query subjects into a new query
subject. After making the necessary modifications to this
new query subject, we will re–publish the package and
examine the results in Query Studio.
Result:
To make report authoring easier, we merged two query
subjects into a new query subject. After making the
necessary modifications to this new query subject, we re–
published the package and examined the results in Query
Studio.
• Some data source systems allow for multiple stored procedures with
the same name but each accepts a different number and/or type of
arguments. The number and type of arguments passed will determine
which stored procedure is used. This is known as an overloaded
signature and is not supported by Framework Manager.
Demo 3–5
Purpose:
We currently have a stored procedure in the GOSL database
that returns data regarding orders made in 2001. We want to
use this stored procedure in our model and package, so
that report authors can access it from Query Studio or
Report Studio. To this end, we will create a stored
procedure query subject in the gosales namespace. We will
then re–publish the GO Model package and use this query
subject in Query Studio.
4. Expand ORDERS_FOR_2001.
This query subject contains four query items.
5. Double–click ORDERS_FOR_2001.
The report runs and returns data regarding orders made in 2001. The
result appears as shown below:
6. Close Query Studio without saving changes, and then leave Cognos
Connection and Framework Manager open for the next demo.
Result:
We created a stored procedure query subject in the gosales
namespace. We then re–published the GO Model package
and used this query subject in Query Studio.
from
[GOSL].ORDER_DETAILS
Additional Information
• The example in the slide shows a SQL statement from the
The reference to the Calc_Actual_Revenue
ORDER_DETAILS query subject. This SQL statement includes a function will be represented as a query item
reference to the Calc_Actual_Revenue function in the data source (as called ACTUAL_REVENUE within the
seen below). query subject and will return a value for
each row of data as calculated by the
CREATE FUNCTION Calc_Actual_Revenue (@Quantity int, function.
@Sale_Price decimal(6,2))
Depending on how you write your SQL to
reference the function you may need to
RETURNS decimal(6,2) AS adjust your SQL Settings in the query
subject’s Options dialog box.
BEGIN
END
Demo 3–6
Purpose:
We currently have a user–defined function in the GOSL
database that returns the actual revenue generated by each
order. Report authors require this calculation for their
reports. We will add a new query item to the
ORDER_DETAILS query subject that references this user–
defined function instead of recreating this calculation in our
model. We will then re–publish the GO Model package and
use this query subject in Query Studio.
Result:
We added a new query item to the ORDER_DETAILS query
subject by referencing a user–defined function in the GOSL
database. We then re–published the GO Model package and
used this query subject in Query Studio.
Create Calculations
query items
*
parameters Operator
[gosales].[ORDER_DETAILS].[UNIT_SALE_PRICE]
functions
Query Items
There are two types of calculations:
embedded
stand–alone
Additional Information
• If you want to use a calculation with only one query subject, you can In the previous demo, we used a user-
create an embedded calculation while modifying a data source query defined function in the data source to
subject or model query subject. calculate the ACTUAL_REVENUE value
for us. We can also use calculations in
• Create stand–alone calculations when you want to use reuse the Framework Manager to achieve the same
type of result. In this case, we are
expression by doing any of the following: calculating planned revenue.
• apply it to one or more query subjects to provide calculated data If you start with an embedded calculation,
to a report you can later convert it into a stand-alone
expression that you can apply to other
query subjects.
• include it in a package to make it available to your report authors
Demo 3–7
Create Calculations
Purpose:
Report authors want to be able to include the gross profit
and margin of each order in their reports. To this end, we
will create two calculations within the ORDER_DETAILS
query subject. This will produce two new query items. We
will then re–publish the GO Model package and view the
new query items in Query Studio.
9. Click OK.
Task 2. Create the MARGIN calculation.
1. Click Insert New Calculation.
The Calculation Definition window opens.
2. In the Name box, change the name to MARGIN.
3. In the Available Components pane, click the Functions tab, expand
Operators, and then double–click the left bracket .
4. Click the Model tab, and then expand GO Model, Database layer,
gosales, and ORDER_DETAILS.
5. Double–click UNIT_SALE_PRICE, and then click the Functions
tab.
6. Double–click the minus operator, click the Model tab, and then in
ORDER_DETAILS, double–click UNIT_COST.
7. Click the Functions tab, double–click the right bracket , and
then double–click the division operator .
8. Click the Model tab, and then in ORDER_DETAILS, double–click
UNIT_SALE_PRICE.
5. Close Query Studio without saving changes, and then leave Cognos
Connection and Framework Manager open for the next demo.
Results:
We created two calculations within the ORDER_DETAILS
query subject to produce two new query items;
GROSS_PROFIT and MARGIN. We then re–published the
GO Model package and viewed the new query items in
Query Studio.
Additional Information
• You can use parameters to create conditional query subjects that Parameter maps can only be used within a
macro.
allow for substitutions at report run time.
The tab-delimited parameter map file
• A parameter map is a second layer of substitution that ensures your shown in the slide example would be used
application receives a value it can understand. to handle multilingual data.
• The key column represents the parameter that is passed to the model. The Key Column is a session parameter
called runLocale, which indicates the users
All parameter map keys must be unique so that Framework Manager current language setting.
can consistently retrieve the correct value.
The Value Column is the language code,
• The value column represents the value that is to be substituted for which is used in the database in either the
use with your application. column titles or in the data itself.
Additional Information
• You can use a session parameter to affect your query result set. For
Currently adding new session parameters
example, in a multilingual model, you would use the runLocale is beneficial for testing purposes. For
session parameter to determine the language in which the data should example, you could create a session
be returned. parameter called Database with a value
that represents your test database. Create
• You can define an override value to test the results that value returns. a macro for your Content Manager Data
Source property in place of the hard coded
value generated when creating your data
• The override value is valid only while you have the model open, and source. Now you can change the session
is not saved when you save the model. If no override value exists, parameter value from your test database to
Framework Manager uses the default value when it executes a query your production database to test your
that contains a session parameter. model in either environment.
Create a Macro
Macros are fragments of code that you can insert within definitions
and properties of model objects.
A macro can contain references to:
parameter maps and parameter map entries
session parameters
Parameter values in a macro are populated when a query is executed.
Macro
Select
PRODUCT_LINE.PRODUCT_LINE_CODE,
PRODUCT_LINE.PRODUCT_LINE_#$[Locale Map]{$runLocale}# as Product_Line
from
[GO Sales.GO Sales.dbo].PRODUCT_LINE
Additional Information
• The macro in the slide example is used to determine the user’s
Macros can be used in query subject
language locale and then substitute it for a language code that is used definitions, calculations, filters and certain
in the data source. model object properties such as the
Catalog property of a Data Source object.
• The reference to the parameter map has the following syntax:
Do not insert macros between existing
$[Locale Map]{}. quotation marks or square brackets
because Framework Manager does not
execute anything within these elements.
This expression will accept another parameter between its
parentheses (in this case $runLocale), which will be used to look up
the appropriate value, to be used by the application, in the parameter
map.
Demo 3–8
Purpose:
We want report authors to be able to view their report data
in the language that they prefer. To this end, we will create a
parameter map that specifies the appropriate mappings
between different language codes. We will then modify the
COUNTRY_MULTILINGUAL query subject to include a
macro that references this parameter map. Lastly, we will
re–publish the GO Model package and view the results in
Query Studio.
4. Click Browse .
The Select File to Import dialog box appears.
5. Navigate to C:\Edcognos\CR1052, click Run Locale Map, and
then click Open.
6. Click OK, and then click Finish.
Task 2. Add a macro to the COUNTRY_MULTILINGUAL
query subject definition, and then modify a
relationship.
Note: In the GOSL database, the COUNTRY_MULTILINGUAL table
contains a different row for each language. The LANGUAGE
column indicates the language in which the modeler is currently
working (for example, EN for English). In this task, we want to build
a filter in the form of LANGUAGE='a', where 'a' represents the
language code (EN for English, FR for French, and so forth) in
which the modeler is currently working.
1. In the gosales namespace, right–click
COUNTRY_MULTILINGUAL, and then click Edit Definition.
The Query Subject Definition dialog box appears.
8. Click OK, and then, if necessary, open the Object Diagram View.
We can now modify the relationship between the COUNTRY and
COUNTRY_MULTILINGUAL query subjects to reflect the
condition that we have specified. We want to associate each country
to a specific language.
9. Right–click COUNTRY_MULTILINGUAL, and then click
Locate in Object Diagram.
COUNTRY_MULTILINGUAL is highlighted in the Object
Diagram View.
10. Double–click the relationship between the
COUNTRY_MULTILINGUAL and COUNTRY query
subjects.
The Relationship Definition dialog box appears.
6. From the Project menu, click Session Parameters, and then click
the runLocale row.
7. Click Clear Override, click OK, and then save the model.
Task 4. Re–publish the package and view the results in
Report Studio.
1. Publish the GO Model package.
2. In Cognos Connection, click Preferences, in the Content language
section, select Use the following language, and then in the Use the
following language box, click French.
3. Click OK, open Query Studio, and then click (fr) GO Model.
4. Expand (fr) Database layer and (fr) New Namespace, and then
double–click (fr) COUNTRY_MULTILINGUAL.
Because we have changed the content language setting, the data in the
report is translated into French. The result appears as shown below:
5. Save the report as Demo 3–8 in the default location (GO Model
folder), click Return, and then in Cognos Connection, click
Preferences.
6. In the Content language section, select Use the default language,
and then click OK.
7. Leave Cognos Connection and Framework Manager open for the
upcoming workshop.
Result:
We created a parameter map that specifies the appropriate
mappings between different language codes. We then
modified the COUNTRY_MULTILINGUAL query subject to
include a macro that references this parameter map. Lastly,
we re–published the GO Model package and viewed the
results in Query Studio.
Summary
Workshop 3–1
To accomplish this:
• Re–insert the macro that was created in Demo 3–8, “Create a Macro
Using a Parameter Map and a Session Parameter,” into the query
subject definition. The macro formula is #sq($[Locale
Map]{$runLocale})#. Change the active language of the project to
German and view the results. Then change the active language back
to English (United States).
• Create a Query Studio report that includes data on retailer sites. Add
a filter to include active and inactive retailer sites. Save this report as
Wkshp 3–1b. Create a third Query Studio report that includes
customer contact data. Add a filter that retrieves only female
employees. Save this report as Wkshp 3–1c.
For more detailed information outlined as tasks, see the Task Table on the
next page.
For the final query results, see the Workshop Results section that follows the
Task Table.
• Cardinality on
ACTIVE_INDICATOR_
LOOKUP is 1..1.
• Cardinality on the
CONTACT side is 1..n.
COUNTRY.COUNTRY_CODE as
COUNTRY_CODE,
COUNTRY.ISO_THREE_LETTER_
CODE as ISO_THREE_LETTER_CODE,
COUNTRY.ISO_TWO_LETTER_CODE as
ISO_TWO_LETTER_CODE,
COUNTRY.ISO_THREE_DIGIT_CODE
as ISO_THREE_DIGIT_CODE,
COUNTRY.EURO_IN_USE_SINCE as
EURO_IN_USE_SINCE,
COUNTRY_MULTILINGUAL.COUNTRY
as COUNTRY,
COUNTRY_MULTILINGUAL.
"LANGUAGE" as "LANGUAGE",
COUNTRY_MULTILINGUAL.
CURRENCY_NAME as CURRENCY_NAME
from
[GOSL].COUNTRY COUNTRY,
(select * from
[GOSL].COUNTRY_MULTILINGUAL
where COUNTRY_MULTILINGUAL.
"LANGUAGE" = 'EN')
COUNTRY_MULTILINGUAL
where
(COUNTRY.COUNTRY_CODE =
COUNTRY_MULTILINGUAL.
COUNTRY_CODE)
5. Re–publish the package Cognos Connection • Create a report with all the
and view the merged query items in the Country
query subject in Query Query Studio query subject, and save it as
Studio. Wkshp 3–1a.
6. Create reports that use the Cognos Connection • Create a report with
new relationships. RETAILER_SITE_CODE,
Query Studio ADDRESS1, CITY,
COUNTRY_CODE,
DESCRIPTION.
• Create a filter to show
“Active” and “Inactive”
retailer sites.
• Save the report as Wkshp 3–
1b.
• Create a report with
FIRST_NAME,
LAST_NAME,
JOB_POSITION_EN, and
GENDER.
• Create a filter that displays
female employees only.
• Save the report as Wkshp 3–
1c.
Workshop 3–2
You also need to change the usage of some query items from Identifier to
Attribute, as well as change the aggregation type of the
PRODUCTION_COST and MARGIN query items from Sum to Average.
To accomplish this:
• gosales namespace:
• ORDER_METHOD. ORDER_METHOD_EN
PRODUCTS.PRODUCT_NAME
PRODUCTS.INTRODUCTION_DATE
RETURNED_ITEM.RETURN_DATE
RETURN_REASON. REASON_DESCRIPTION_EN
PRODUCT_FORECAST.YEAR
PRODUCT_FORECAST.MONTH
SALES_STAFF.FIRST_NAME
SALES_STAFF.LAST_NAME
SALES_STAFF.POSITION_EN
• goretailers namespace:
• RETAILER.COMPANY_NAME
RETAILER_SITE.CITY
RETAILER_TYPE. TYPE_NAME_EN
SALES_TERRITORY. TERRITORY_NAME_EN
COUNTRY.COUNTRY_EN
CONTACT.FIRST_NAME
CONTACT.LAST_NAME
CONTACT. JOB_POSITION_EN
For more detailed information outlined as tasks, see the Task Table on the
next page.
For the final query results, see the Workshop Results section that follows the
Task Table.
Workshop 3–3
To accomplish this:
For more detailed information outlined as tasks, see the Task Table on the
next page.
For the final query results, see the Workshop Results section that follows the
Task Table.
2. Test the runLocale Session Parameters dialog • Change the value of the
parameter in Framework box runLocale parameter to fr.
Manager.
Objectives
Additional Information
Students will use the GO Model Module 3
model supplied on the Student CD from
this point on to ensure everyone is at the
same starting point and is using a model
that has all multilingual issues resolved as
well as consistent naming conventions.
Data
Sources
Import
Presentation Layer
Physical Layer
Additional Information
• You can structure projects in many ways in Framework Manager.
Several packages can be created and
There are some best practices for structuring your Framework published based on the presentation layer,
Manager projects to minimize complexity for report authors and to each one providing a different view of
assist in model maintenance. metadata for different reporting needs.
• The basic structure recommended is a two–layer model consisting of Where appropriate, create calculations,
filters, and other modifications in the
a physical layer (database layer) comprised of data source and stored physical layer to maximize reuse in the
procedure query subjects, and a presentation layer comprised of presentation layer.
shortcuts and model query subjects.
• The two–layer model works well for both report authors and data
modelers. The presentation layer makes it easier for report authors to
find and understand their data, while the physical layer acts as the
foundation for the presentation layer.
• Generally, the physical layer will be hidden from the report author.
Model query subjects reuse query items from data source query
subjects and other model query subjects.
They are useful in creating meaningful views of the metadata to the
report author.
Model query subjects allow for further customization of the metadata
to meet specific requirements without affecting the underlying query
subject.
Additional Information
• Model query subjects contain SQL statements that do not directly
Model queries can only read and test the
reference a data source. Rather, they use metadata already in the underlying query subjects that they
model, such as query items that exist in other query subjects. reference. If you edit the SQL of a model
query subject, it becomes a data source
• Because model query subjects are based on the metadata in your query subject whose SQL corresponds to
model, they let you: the data source query upon which it is
based.
• reuse complex SQL statements that exist in the model
• Once a model query subject is created, you can edit its query item
properties, add macros and filters and change its SQL generation
setting. You can do this without affecting the original underlying
query subjects.
Demo 4–1
Additional Information
Purpose: IMPORTANT: Ensure that students are
As a metadata modeler, you have been asked by report now using the GO Model Module 3 model
authors to create more intuitive orders and products query provided on the Student CD. This ensures
subjects. You will create a presentation layer with sub that all students are working from the same
folders to organize the newly requested model query starting point and with a model that has all
multi–lingual issues resolved as well as a
subjects and create intuitive relationship paths. consistent naming convention.
6. To complete the model query subject, drag and drop the following
items from the Available model objects pane onto the Query
Items and Calculations pane:
Order Method from Order Method
Product Number from Order Details
Product Name from Products
Quantity from Order Details
Unit Cost from Order Details
Unit Price from Order Details
Unit Sale Price from Order Details
Product Cost from Order Details
Planned Revenue from Order Details
Actual Revenue from Order Details
Gross Profit from Order Details
Margin from Order Details
7. Click OK.
6. Close Query Studio. Create the report using First Name, Last
Name, and Position from Sales Staff and
Results: Quantity and Actual Revenue from Shortcut
You have successfully created a presentation layer with to Orders.
subfolders and created new model query subjects that
combined query items from more than one data source
query subject. Report authors will now be able to use more
intuitive query subjects to write their reports.
Examine Filters
Additional Information
• A filter is an expression that specifies the conditions that rows or
If you start with an embedded filter, you
instances must meet to be retrieved for the query subject, calculation, can later convert it into a stand–alone
or report to which the filter is applied. A filter returns a Boolean expression that you can apply to other
value, equivalent to the predicate in the WHERE clause in an SQL query subjects. To do this, right–click the
statement, so that you can limit the rows returned by a query subject. filter expression in the query subject editor
and click Convert to Stand–alone Filter.
• Framework Manager offers two user interface filters, stand–alone and You can also restrict the data that the
embedded, but you may also include filters in the WHERE clause of queries in the model or a package retrieve
your SQL definition. by setting governors. This will be discussed
in another module.
• Create stand–alone filters when you want to reuse the expression by
doing any of the following:
• add it to one or more query subjects to limit the data that the
query retrieves when the filtered query subject is used in a report
• If you want to use a filter with only one specific query subject, you
can create an embedded filter while modifying either a data source
query subject or model query subject.
Demo 4–2
Create Filters
Purpose:
Ad hoc report authors have requested re–usable filters for
various product lines. This will make filtering easier for
them as they create their reports. Management has also
made a request to limit the data returned by the
presentation layer to the current year, in this case 2002, as
previous years will be made available through other
methods. We will create both model and embedded filters to
handle these requests.
3. Click the Demo 4–1 link to launch the report created in the previous
demo.
The report appears in Query Studio. Additional Information
If model versioning was not disabled when
4. Navigate through the report using the links at the bottom of the publishing the package, you will get a
report to notice that all product lines are included. message stating a newer version of the
model exists and asking if you would like to
5. In the Menu, click the Insert Data link. update your report. If this occurs, click OK.
6. Expand the Presentation Layer folder and the Product Line
Filters folder.
7. Drag and drop the Camping Equipment filter onto the report.
8. Navigate through the report again.
Notice that the report only contains information on Camping
Equipment now.
7. Click OK.
The embedded filter is now a part of the query definition, as shown
below:
8. Click OK.
9. Save the model.
Task 4. Test your embedded filter.
1. Publish the GO Model package.
2. Open Query Studio, and then select the GO Model package.
3. Create a simple report using the following items from the Orders and
Products query subjects we created in the presentation layer:
Product Line from Products
Product Type from Products
Order Date from Orders
Quantity from Orders
4. Group the report on Product Line and Product Type.
Notice that the report only displays dates greater than or equal to
January 1st, 2002.
5. Save the report as Demo 4–2.
6. Close Query Studio.
Results:
Through the use of model filters we have made ad hoc
report authors’ experience more efficient. By using
embedded filters, we have ensured that report authors and
consumers are not running reports that return
unnecessarily large amounts of data as well as limiting
them to the data they require to make decisions.
A prompt value can be used when user input is required for variables
beyond the report author’s control.
The syntax for using a prompt as a value is:
?<PromptName>?
Run–time Model
User Input
Stored Procedure
?part_number?
Demo 4–3
Purpose:
Management has requested a quick reference tool for the
ReportNet reporting environment to allow phone
representatives to quickly retrieve the dates for specific
orders. A stored procedure exists in the GOSL database
that can be leveraged to create this tool.
Results:
We incorporated an existing stored procedure, from the
GOSL database, into the model by creating a stored
procedure query subject. We then used a prompt value to
allow for user input in the reporting environment creating
an efficient means of retrieving the requested information.
Summary
Workshop 4–1
To accomplish this:
• Move the Find Order Date query subject from the database layer and
place it in the Quick Reference folder in the presentation layer. This
data source query subject was created specifically as a quick reference
tool and will not be re–used elsewhere in the model.
• Create a shortcut for the Orders for 2001 query subject and move it
to the Quick Reference folder.
For more detailed information outlined as tasks, see the Task Table on the
next page.
For the final query results, see the Workshop Results section that follows the
Task Table.
3. Move data source query Project Viewer pane • Cut and paste Find Order
subjects and create Date query subject.
shortcuts. Presentation Layer
• Create shortcut, then cut and
paste it to the appropriate
location. Rename it to
Orders for 2001.
Workshop 4–2
2. Create a query subject Project Viewer pane • Use the following syntax to
with an embedded filter create the Staff Name query
and prompt value. Filter Definition dialog box item. [gosales].[Sales
Staff].[First Name] || ' '
|| [gosales].[Sales
Staff].[Last Name]
3. Test your filters. Framework Manager • Test the My Sales Staff query
subject and provide a
Cognos Connection Manager Code value of 18.
Query Studio • Publish your package.
The embedded filter definition for the My Sales Staff model query subject
should appear similar to as shown below:
The Demo 4–1 report should appear as shown below after applying the
Personal Accessories model filter:
Objectives
Data
Sources
Import
Create and
Design/Create Prepare the Prepare the
Manage
Project Metadata Business View Packages
Examine Packages
Additional Information
• Each package can contain a different set of folders, filters, query
Each report can contain information from a
subjects, and query items. You can completely customize its contents single package only.
to satisfy different reporting requirements and to set up a logical
presentation of the metadata.
Edit Governors
You can set limits to the data retrieved in a query subject test or the
report design mode by setting governors.
When you set governors, all packages subsequently published will
reflect the new settings.
Additional Information
• SQL is generated automatically on demand when you:
Because governors control SQL
generation, you use them to reduce system
• run a report in Report Studio or Query Studio resource requirements and improve
performance.
• test a query subject or relationship in Framework Manager
A setting of 0 indicates no limit. When a
report is run that violates any of the
• create a new query subject by transforming query subjects or governors set, you receive an error
merging objects message.
• By setting governors, you can restrict the number of tables retrieved An outer join retrieves all rows in one table,
by a query as well as restrict the number of rows returned. You can even if there is no matching row in another
table. This type of join can produce very
also set time limits for query execution, as well as restrict character large queries and reports.
length on binary large objects (BLOBs).
A cross–product join retrieves data from
• You can set run–time activities, such as deny outer joins and cross– tables without joins. This type of join can
product joins, which may produce very large and resource intensive take a long time to retrieve and can
queries. produce meaningless results.
Demo 5–1
Set Governors
Purpose:
The Great Outdoors IT department has requested that some
query limits be set on the model to reduce the load on their
servers. We will limit the amount of tables any one query
can return, as well as set a time–out period for queries. This
will be accomplished by setting the appropriate governors.
Results:
By setting, testing, and refining your governor settings, you
have ensured that the IT department’s servers will not be
unnecessarily overloaded.
Package
Model
Examples
• Deselect objects you do not wish to be visible to end-users.
In the slide example, we see a package
called Go Sales and Retailers, which
• At any time, you may go back and edit the definition of your package includes the majority of the presentation
by adding or removing objects. You must exercise caution when layer created in the model. It excludes the
doing this as you may break reports based on a previous version of physical layer called Database view as
the model. report authors do not require this view of
the metadata nor is it modeled for
presentation purposes.
Examples
• You can specify which languages are to be published with each
You may have one package designed for
package. You can create several packages based on the same model, the Mexican sales offices. This package
all with different languages. may include Spanish and English, whereas
the Canadian sales offices package would
only include French and English.
Additional Information
You can also specify package languages
for several packages at a time. To do this,
in the model, right–click on Packages and
then click Specify Package Languages.
Additional Information
• Upon publishing a package, the functions you selected will be
In our GO Model application we will only
accessible to report authors in Report Studio. publish the package with the SQL Server
function set, as it is the only database we
• If you have multiple data sources in your model that are are creating our data sources from.
heterogeneous, you will want to publish your package with the
appropriate function sets so that report authors can leverage them
while authoring reports.
If you have updated a package, you can analyze the effects of the
changes you made before deploying the new package to report
authors.
Additional Information
• You can compare a selected package with a published package of the
Report will be broken indicates that
same name to show changes between the packages that could affect something has been renamed or deleted in
any reports based on the package. You can see details on each the model and will therefore invalidate a
change, and which reports are affected by a specific selected change. report.
You can also select a specific query item and see which reports are
dependent on it. Report may be affected indicates that an
object (for example, query subject, query
item or relationship) has been edited and
• With this information, you could notify report authors that a change may affect the results returned by the
was made to the model that affected their reports. They can quickly report.
fix their reports so that consumers are not affected.
Publish Packages
When you publish a package, you can choose to save either to the
ReportNet server or to a network location.
Before publishing, you should verify the package.
Cognos Connection
File System
Additional Information
• When you publish a package to the ReportNet server, you make it
You can also verify the entire model by
available to report authors with the appropriate security rights. using the Verify option in the Project menu.
• Publishing to the network lets you back up or share all or a portion of If you wish to change the ReportNet server
your model with other metadata modelers. They can take this to which you publish, you need to change
published version of the model and modify it to meet their needs the Gateway URI setting in Cognos
Configuration.
without having to build the model from scratch.
• When you publish a package for the first time, you create a
corresponding package on the ReportNet server. The ReportNet
package contains a model but no reports.
When you publish a package, you can select how many versions of
the model you want to retain on the Cognos ReportNet server.
Additional Information
• When you publish a package with model versioning enabled, the next
To see the number of model versions set
time you publish the same package, you update the version of the for a package, select a package and, in the
model in the existing package on the ReportNet server. Property pane, find the maxVersions
property.
• New or modified reports will use the latest version of the model in
the package. When a report is saved, the version of the model used is You can remove all previous versions of
the model for a fresh start by using the
saved in the report specification. Delete all previous model versions option.
• If the package is republished, report authors are notified that the Reports created against an expired model
report will use the newest version of the model in the package. The will need to be updated against the latest
report author must save the report to complete the update. model.
• if the original version of the package still exists, the report runs
against the original version
Nest Packages
When you create nested packages, you create a master package that
is based on other existing packages.
Mexico Canada
United States
Model Packages
Additional Information
• Use nested packages to reuse model information.
You create three separate packages
named Canada, Mexico, and the United
• Nested packages save time, are easier to maintain, and let you publish States. Each package contains the project
only the master package to make all referenced packages available to objects and security appropriate for that
report authors. package. You can create one master North
America package and include the
packages Canada, Mexico, and the United
States. When you need to publish the
package for report authors, you publish
only the North America package.
Demo 5–2
Purpose:
Management has requested a separate Quick Reference
package so that ad hoc query users can easily access these
special query subjects. As well, management would like to
see a package that consists of both order and product
information and also contains some of the quick reference
query subjects. We will use a nested package to accomplish
this second request.
7. Click Next.
8. Accept the default for Groups associated with the package, and
then click Next.
9. Accept the language defaults, and then click Next.
10. Accept the default function set (it should be SQL Server), and then
click Finish.
A message appears asking if you would like to open the Publish
Package Wizard.
11. Click No.
Task 4. Create a nested package.
1. Create a new package called GO Orders, and then click Next.
2. In the Define Objects dialog box, select Using existing packages.
3. Select the Quick Reference and the Orders and Products
packages.
4. Click Next.
5. Select the Quick Reference folder, and then deselect the My Sales
Staff query subject.
The object selection appears as shown below:
6. Click Next.
7. Accept the default for Groups associated with the package, and
then click Next.
8. Accept the language defaults, and click Next.
9. Accept the default function set (it should be SQL Server), and then
click Finish.
A message appears asking if you would like to open the Publish
Package Wizard.
10. Click Yes.
11. In the Number of model versions to retain text box, type 4, and then
click Publish.
12. When the package has been published, click Finish.
Task 5. View your package in Query Studio.
1. Open Query Studio, and then select the GO Orders package.
2. Create a simple report using the following items:
Product Line from Products
Order Method from Orders
Quantity from Orders
Return Quantity from Returns
3. Group the report on Product Line.
4. Drag and drop the Camping Equipment model filter onto the
report.
Notice the intuitive nature of the presentation layer when creating
this report.
5. Close Query Studio.
Results:
By creating and nesting packages, we have created and re–
used intuitive presentation views of the metadata in order to
create a user–friendly experience for report authors.
Summary
Workshop 5–1
To accomplish this:
For more detailed information outlined as tasks, see the Task Table on the
next page.
For the final query results, see the Workshop Results section that follows the
Task Table.
Objectives
Data
Sources
Import
Create and
Design/Create Prepare Model Enhance
Manage
Project for Reporting Model Packages
Set
Security
ReportNet Security
Additional Information
• Cognos ReportNet uses authentication providers so that you can
You do not have to replicate your existing
make use of your existing user and group repositories. repositories for use with ReportNet, so long
as they already exist. Once you have
• Third-party authentication providers manage user authentication in configured the providers, you then apply
ReportNet. Authentication providers define users, groups, and roles the users and groups already defined, to
used for authentication. User names, IDs, passwords, regional ReportNet content.
settings, and personal preferences are some examples of information Out of the box, ReportNet supports LDAP,
stored in the providers. Active Directory, NTLM, SAP, Cognos
Series 7, and Netegrity security sources.
• You configure authentication providers using Cognos Configuration. In the event that you do not use a
You can define multiple providers concurrently. If you configure supported repository, you can also create
multiple namespaces for your system, at the start of a session, you custom authentication providers. For
example, you may have a proprietary user
must select one namespace that you want to use. However, this does directory and/or authentication mechanism
not prevent you from logging on to other namespaces later in the used for login. ReportNet provides the
session. necessary API for you to write the
programs to integrate with that system.
Use the groups and roles defined in the Cognos namespace to control
access to the metadata in the model.
The Cognos namespace contains security objects, which are:
pre-defined groups or roles Additional Information
The Cognos namespace also includes data
user-defined groups or roles sources, distribution lists, and contacts, as
created and modified in Cognos
You can: Connection.
create groups and roles specific to a ReportNet application
You can rename the Cognos namespace
repackage users, groups, and roles from the authentication using Cognos Configuration, but you
providers cannot delete it.
avoid having to set up application specific authentication It also contains the following built-in, pre-
information in the authentication providers defined security entries:
• Anonymous account – If
Use is optional. configured, allows public access
without authentication
• The Cognos namespace is the ReportNet built-in namespace. It is not • All Authenticated Users group –
used for authentication. It contains the Cognos security objects, All users except Anonymous
• Everyone group – All
which are pre-defined and user-defined groups and roles. Authenticated Users +
Anonymous
• You use the Cognos namespace to create groups and roles that are • System Administrators role –
specific to ReportNet. These groups and roles repackage the users, Members are super users
groups, and roles existing in the authentication providers to optimize (System prevents accidental
their use in the ReportNet environment. By using the Cognos deletion of this group; can
choose to not use this group by
namespace, you avoid cluttering your organization security systems removing all membership
with security information required only in ReportNet.
In addition to the Anonymous user and
• The Cognos namespace always exists in ReportNet, but the use of built-in groups defined in the Cognos
Cognos groups and roles it contains is optional. You can use users, namespace, several additional groups are
groups, and roles, directly from the authentication providers. present by default. The difference between
the Built-in and Default groups is that the
former cannot be deleted/renamed while
the latter can be deleted/renamed. The
Default groups include:
Authors, Consumers, Directory
Administrators, Query users, Report
Administrators, Server Administrators
Additional Information
• In Framework Manager, security is a way of restricting access to
There are business reasons for restricting
metadata and data across ReportNet products. access to data. For example, you may
have data that contains confidential data,
• To implement security in Framework Manager, you can: and only specific users are allowed to see
it. You may have a variety of data, and your
• specify package access – apply metadata security to a package by users only need to retrieve data from
specific tables or columns. Or, you may
identifying who has access to that package have a table that contains many records,
and your users only need to retrieve a
• give visibility rights to an object – apply object-based security subset of records from that table.
directly by either making the object visible or keeping it hidden
Each type of security implementation uses
users, groups, and roles to define access.
• define security filters – apply data security by creating a security
filter and apply it to a specific query subject. The filter controls
the data that is shown to report authors when they set up their
reports
Specify which users, groups, and roles have access to the package
and deny access for all other users, groups, and roles.
Additional Information
• When you specify package access, you specify which users, groups,
You can specify package access when you
and roles (entries) have access to the published model. initially create the package using the
Package Wizard, or by right-clicking a
• You can add entries created both in third-party authentication package and selecting Edit Package
providers and in ReportNet as members of a Cognos group. Access after the package has been
created.
• You can also organize your security according to business rules by The interface for creating new groups or
creating new groups or roles or by removing groups or roles. roles or removing groups or roles is
through Cognos Connection.
Specify which users, groups, and roles have visibility rights to the
object and deny access for all other users, groups, and roles.
Additional Information
• By default, every object in your project is visible to everyone. When
Set object visibility - for example, in your
you set object visibility you add object-based security by specifying project, you may have a Sales reps query
which users, groups, or roles will be able to see the object in a run- subject. You can make the Sales reps
time model. query subject visible to the Sales Managers
group, and keep it hidden from everyone
• Every time you include that object in a package, and publish it for else.
report authors, the same security rules apply for that object. When If object-based security is not used,
you publish a package that contains secured objects, the visible security applied to a package remains
objects for ReportNet users are the intersection of the package unchanged.
definition and the object security settings.
When you secure an object, a special type
of package is automatically created in
Framework Manager. The package name
consists of an underscore (_) and the name
of the secured object. These object-based
security packages are visible in the Object
Explorer. You can use this package to see
which objects in the project are included,
hidden, or excluded from a specific user
group. They cannot be edited or published.
They can be removed. To see a list of the
object-based packages, double-click the
Packages folder. The list appears in the
Object Explorer View. To see which objects
are secured against that specific object-
based package, right-click the package,
and click Explore Packages.
Give administrative access to packages for users who are required to:
republish packages
perform impact analysis
• When you apply administrative access to a package, you give access to Additional Information
the user(s) who are required to: Republishing is defined as the ability to
republish a package to the ReportNet
• republish a package to the ReportNet server server after it has been initially published.
After the first publish, the user who
performed the publish, has ownership of
• ensure that no reports are impacted when a Framework Manager the package and is the only user with
package is republished to the ReportNet server administrative rights to it, including the
ability to republish it. For other users to be
• By default, when you publish a package, the user or group with the able to republish this package, the owner
must assign administrative access to the
administrative role for reporting will be added in the Package package.
Administrator Access dialog box.
Users with administrative access to the
package can perform an Impact Analysis. If
you have updated a package, you can
analyze the effects of the changes you
made before deploying the new package to
the report authors. You can compare a
selected package with a published package
of the same name to show changes
between the packages that could affect any
reports based on the package. You can
see details on each change, and which
reports are affected by a specific selected
change. You can also select a specific
query item and see which reports are
dependant on it. With a package selected
in the Project Viewer, from the Actions
menu, click Analyze Publish Impact.
Note: The package you select must be a
published package.
Demo 6-1
Purpose:
We want to ensure that report authors only have access to
the presentation layer of GO Model, rather than both the
database and presentation layers. To this end, we will limit
access to the GO Model package (which contains both a
database layer and a presentation layer) to members of the
System Administrators role. We will then limit access to the
Sales Reps package (which only has a presentation layer)
to members of the Authors role. Lastly, we will view the
results in Query Studio by logging in first as a system
administrator and then as a report author.
4. Click Cognos, select the Authors check box, and then click Add.
The result appears as shown below:
Results:
We limited access to the GO Model package to members of
the System Administrators role. We then limited access to
the Sales Reps package to members of the Authors role.
Lastly, we viewed the results in Query Studio by logging in
first as a system administrator and then as a report author.
Demo 6-2
Purpose:
Sales managers at The Great Outdoors Company want to
ensure that Camping Equipment sales reps only see orders
data for the Camping Equipment product line. We will create
and add members to the Sales Managers and Camping
Equipment Reps groups. We will grant these groups access
to the Orders and Products package. We will then apply a
security filter to the Products query subject to restrict
access to product line data. We will publish the Orders and
Products package and view the results in Query Studio.
4. Click OK, and then in the Filter column, click Insert From Model.
The Select a Filter dialog box appears.
5. Expand the Presentation Layer and Product Line Filters folders,
click the Camping Equipment filter, and then click OK.
The result appears as shown below:
Results:
We created and added members to the Sales Managers and
Camping Equipment Reps group. We granted these groups
access to the Orders and Products package. We then
applied a security filter to the Products query subject to
restrict access to product line data. We published the
Orders and Products package and viewed the results in
Query Studio.
Demo 6-3
Purpose:
We only want sales managers to be able to view the
projected sales targets for each sales rep. We will grant
access to the Sales Reps package to the Camping
Equipment Reps and Sales Managers groups. Then we will
grant visibility rights for the Sales Targets query subject to
the Sales Managers group only. Lastly, we will re-publish
the Sales Reps package and view the results in Query
Studio.
4. Click OK.
A message appears, indicating that the Sales Rep package has been
updated.
5. Click OK, and then save the project.
6. Republish the Sales Reps package.
Task 3. View the results in Query Studio.
1. In Cognos Connection, click Log Off, and then click Log on again.
2. In the User ID box, type arodriguez, in the Password box, type
password, and then click OK.
Alex Rodriguez is a branch manager at The Great Outdoors
Company, and is member of the Sales Managers group.
3. Open Query Studio, and then click the Sales Reps package.
The Sales Targets query subject is visible in the left pane, due to the
visibility rights that we specified in Task 2.
4. Click Return, click Log off, and then click Log on again.
5. In the User ID box, type atorta, in the Password box, type
password, and then click OK.
Allessandra Torta is a Level 3 Sales Representative at The Great
Outdoors Company and is a member of the Camping Equipment
Reps group.
6. Open Query Studio, and then click the Sales Reps package.
The Sales Targets query subject is not visible in the left pane, due to
the visibility rights that we specified in Task 2.
7. Click Return, click Log off, and then leave Cognos Connection and
Framework Manager open for the upcoming workshop.
Results:
We granted access to the Sales Reps package to the
Camping Equipment Reps and Sales Managers groups. We
then granted visibility rights for the Sales Targets query
subject to the Sales Managers group only. Lastly, we re-
published the Sales Reps package and viewed the results in
Query Studio.
Summary
Workshop 6-1
To accomplish this:
• Create a Cognos group called Italy, and add Allessandra Torta (from
the Local NT namespace) to this group. Create a second Cognos
group called United States, and add Alex Rodriguez (from the Local
NT namespace) to this group.
For more detailed information outlined as tasks, see the Task Table on the
next page.
For the final query results, see the Workshop Results section that follows the
Task Table.
3. Create a security filter for Select Users and Groups • Add a security filter for the
the United States. dialog box United States group to the
Retailers query subject (in the
Filter Definition dialog box Retailer Information folder).
Use the following formula:
[GO Model].[Retailers].
[Country]='United States'
Objectives
Data
Sources
Import
Create and
Design/Create Prepare Model Enhance Manage
Manage
Project for Reporting Model Packages Project
Set
Publish
Security
Report Studio
Query Studio Content
Store
Demo 7-1
Purpose:
As part of the task of enabling multiuser modeling in
Framework Manager, we will implement repository control
for a project. We will create a project, create a connection to
the repository, and then add the project to the repository.
We will then complete the Design and Create phase of the
workflow for this project by importing metadata.
2. Click OK.
3. In the Import Wizard, ensure Database is selected, and then click
Next.
4. Click GOSL, click Next, and then select the Tables check box.
11. Select all of the query subjects within the root GO Sales and
Retailers namespace, and then drag them into the GOSL
namespace.
The Project Viewer appears as shown below:
Results:
We enabled multiuser modeling in Framework Manager by
implementing repository control for a project. Specifically,
we created a project, created a connection to the repository,
and then added the project to the repository. We also
completed the Design and Create phase of the workflow for
this project by importing metadata.
Create a Segment
Additional Information
Organize the project according to
organizational requirements or business
rules. For example, you have a project
• You can create a segment so that you can: named GoSales. You can create two
folders, one named Products and the other
named Orders. You can divide the GoSales
• organize a project according to organizational requirements, for project at the Products folder and at the
example, human resources, sales, and finance, or according to Orders folder.
business rules
Distribute responsibility. For example, the
project Inventory contains the folder
• distribute responsibility for the modeling process amongst
Products. You can segment the Products
multiple groups according to areas of expertise folder to allow other modelers to work on
that segment. If any changes or additions
• share and reuse project information to avoid duplication of work are made to the Product folder segment,
they will be reflected in the Inventory
• When you create a segment, you create a new project in a new folder, project.
complete with its own associated project files. When you work with a main project and
segments in the main project, there are
• You segment a project either at the folder or namespace level. things you may want to consider. If you:
• create a master project that
• You can also link the segments to other projects that contain the contains segments, and the
same information to maintain consistency and reuse information. master project is connected to a
repository, any new segments
created are automatically added
to the repository.
• have a project or segment
checked in to a repository and
you make a change, you will be
notified that you must check out
the project or segment before
you can make the change.
Create a Link
Additional Information
• A link is a shortcut to an existing project, folder, or namespace.
For example, the project Inventory contains
the folder Products. You can create a link
• You must create the project, folder, or namespace, before you can from the GoSales Products to Inventory
link to it. You can create links only to: Products. If any changes or additions are
made to the Inventory Products folder, they
• folders will be reflected in the GoSales Products
folder.
• namespaces
• projects or segments Links are defined in the .cpf file of the
project that owns them. For example, you
have a project and you have a link from the
main project to the segment. The main
project owns the link between the main
project and the segment. You can find that
link in the main project’s .cpf file.
Additional Information
Follow these best practices when creating segments and links:
You can use synchronizing and action
link to relatively static segments logging to revert to earlier versions of the
main project or a segment.
the namespace in the main project and any links in the project to
folders must have the same identifier Note to Instructor: consider using a white
all objects in a project must have unique identifiers board or flip chart to explain the examples
below.
update references in both the segment and the main project
For example, you have a main project and
the main project and any segments in the project must have the
a link in the project to a folder that exists in
same languages
another project. The folder you link to must
exist in a namespace that has the same
name as the main project. If the identifier in
the main project and that of the linked
folder are not the same, any relationships,
shortcuts, or expressions that reference
objects in the link, from the main project,
may not work.
• There are some best practices for using segmenting and linking to For example, you have a main project that
minimize complexity and ensure stability in a multiuser modeling contains a query subject named NewQS,
and a segment in the project. You open the
environment. segment, add a new query subject named
NewQS, and save the segment. When you
open the main project, an error occurs
because a query subject named NewQS
already exists in the main project.
Demo 7-2
Link to a Project
Purpose:
We will create a project and then link the GO Sales and
Retailers Master project to it. Other modelers will be able to
work on the new project. Changes made to this project will
be updated in the master project.
6. Click OK.
A relationship now exists in the diagram between the
RETAILER_SITE and ACTIVE_INDICATOR_LOOKUP
query subjects.
7. In the Object Diagram, right-click GENDER_LOOKUP, and then
click Create Relationship.
The Relationship Definition – New Relationship dialog box appears.
8. In the Name box, type GENDER_LOOKUP <---> CONTACT,
and then on the right side, click the ellipsis.
The Select Query Subject dialog box appears.
9. In the GORT namespace, click CONTACT, and then click OK.
Results:
We created a project and then linked from the GO Sales and
Retailers Master project to the new project. We made
changes to the new project and viewed the updates in the
GO Sales and Retailers Master project. Other modelers can
now work on this project, and changes made will be
updated in the master project.
Demo 7-3
Create a Segment
Purpose:
We will create a segment of the GO Sales and Retailers
Master project. This will allow other modelers to work on
the segment, and changes made to it will be reflected in the
master project.
12. Expand the GO Sales and Retailers root namespace, the Database
View folder, and the GOSL namespace.
Notice that there is only a single PRODUCT query subject.
13. Save the GO Sales and Retailers Master project, and leave it open
for the next demo.
Results:
We created a segment of the GO Sales and Retailers Master
project. We made changes in the segment and viewed the
updates in the master project. The segment is now available
for other users to work on it. Changes made to the segment
will be reflected in the master project.
Additional Information
• In Framework Manager, you can capture, view, and play back actions
The action log file is an XML file that is
performed on the project. designated by the project or segment
name, date, and time. The log file is stored
• Each sequence of actions that you perform in Framework Manager is in the project or segment logs folder. You
considered a transaction. Each transaction is recorded in the project can simply view a log file or play it back
or segment action log file. entirely to ensure project integrity.
Synchronize Projects
Additional Information
• You can use Framework Manager log files to synchronize changes
You cannot synchronize the projects again
made in the metadata source to a project. until additional changes are made and
logged.
• You synchronize your project to create a new project by replaying,
from the log files, all the actions you made in the original project After you save and close a project file,
starting from its initial creation. these changes are added to the log file.
Because every action that you made in
your project is rerun, synchronization may
• You can choose to accept the new changes, and create a new project, take a long time.
or return to the original project. If you accept the new changes, the
original project is deleted. Synchronization can be run only on the
master project or a stand-alone segment.
Check a Project
At any point you can verify for problems in the project, such as:
invalid relationships
invalid references
invalid object definition
Additional Information
• When you verify a project, Framework Manager lists invalid objects
Framework Manager also provides an
and their status, including: option to verify the package objects before
you publish a package to ensure that there
• invalid relationships: are no invalid objects that can break
queries in the published package.
• many-to-many relationships
When you verify the project, model query
subjects will often appear as orphans
• orphaned query subjects (query subjects with no because they may not have relationships.
relationships) In this case they use the relationships of
the referenced data source query subjects.
• multiple relationships (or relationship shortcuts) between
query subjects (or query subject shortcuts)
Invalid references occur when an object
• invalid references – exist when an object references another references another object that no longer
object to which it does not have access. exists in the project.
• invalid object definition – Framework Manager warns you when When you verify a project, Framework
Manager identifies any query subjects,
you change an object so that it cannot be executed. If you
shortcuts, filters, calculations, and
proceed, these are marked as invalid. relationships that were previously marked
as invalid so that you can repair them.
Demo 7-4
Purpose:
We are currently making some changes to our
project/model in a test environment. Specifically, we will be
adding a Presentation View folder and adding a query
subject to it. We have a corresponding model in a
production environment, but it currently does not contain
the changes we are making. To save us development time,
we will create a script based on the actions performed on
the project/model in the test environment, and then run that
script on the project/model in the production environment
to apply those changes.
2. Next to the Script file box, click Browse , and then navigate to
C:\Edcognos\CR1052\GO Sales and Retailers Master\logs.
3. Click Create Presentation View.xml, and then click Open.
All the actions as defined in the script appear under the Actions
column.
4. Ensure that all the check boxes are selected in the Transaction No
column, and then click Run.
A status message quickly appears and then a transaction count
appears in the Transaction details pane.
5. Click Accept.
In the Project Viewer, we can see that the Presentation View folder
has been recreated.
6. Save the GO Sales and Retailers Master project.
7. Click the project name in the Project Viewer pane, and then from the
Repository menu, click Check In.
The Check In – GO Sales and Retailers Master dialog box appears.
8. In the Description box, type Created presentation view in
production, and then click OK.
9. Close the GO Sales and Retailers project, and leave Framework
Manager open for the next demo.
Results:
We made changes to our project/model in a test
environment. We created a script to record those actions,
and we ran that script on our project/model in the
production environment. The result is that all actions taken
on our project/model in the test environment were applied,
and are now reflected in the project/model in the test
environment.
Summary
Objectives
Additional Information
• The self–join must be declared at the data source level for the
The ReportNet samples databases do not
recursive relationship to be displayed in Framework Manager. declare any recursive relationships and
therefore we will not see a recursive
• While you can view the metadata that defines the relationship, you relationship line in the Object Diagram.
cannot edit a recursive relationship in Framework Manager. However, a recursive relationship does
exist in the SALES_STAFF table in the
GOSL database.
Recursive Relationship
Can now be edited
Additional Information
• To modify a relationship that exists as a self–join in the data source,
We will resolve the SALES_STAFF table
you can create a shortcut of the query subject and define a recursive relationship in the following
relationship between the original query subject and the shortcut. demo.
• Using the two query subjects in the slide example you can create a
master–detail query based on the same table in the data source.
Demo 8–1
Additional Information
Purpose: In order for the recursive relationship to be
Management would like to create reports of management illustrated in the Object Diagram, the
staff and the sales staff that report to them. We must recursive relationship information would
resolve a recursive relationship that exists within the Sales need to have been created at the database
Staff query subject to achieve this type of report. Although level. It is not in this case.
no recursive relationship is illustrated in the Object
Diagram view, we know that Manager Code relates to Sales
Staff Code.
3. Select Manager Code from the query item list for the Reporting
Staff query subject.
The relationship appears as shown below:
6. From the Reporting Staff query subject, add First Name, Last
Name, Position and Work Phone to the work area.
The result appears as shown below:
We now have a report that displays all managers and the sales staff
that report to them.
7. Save the report as Demo 8–1, click Return, and then leave Cognos
Connection and Framework Manager open for the next demo.
Results:
By resolving the recursive relationship in the Sales Staff
query subject, management can now create reports
displaying managers and the sales staff that report to them.
Instructional Tips
Inform the students that from this point on,
in the module, they will be working with the
GOSLDW database, which is the data
warehouse sample database shipped with
ReportNet.
• Dimensions are optionally defined on each query subject and use
only the query items defined therein. The remaining topics are best illustrated in
a data warehouse environment.
• You define keys for each level for query efficiency.
Additional Information
• The measures associated with the levels in your dimensional
Associated measures outside of the query
information may or may not be in the query subject. These measures subject are related through keys.
may be in other related query subjects such as query subjects that
represent fact tables. We will look at this in further detail in this
module.
Instructional Tips
Use PRODUCT_KEY in the slide example
• You can specify the key as a Unique Key only if the key values are as an example of a Unique Key.
unique regardless of their context.
Additional Information
• You may also need to specify composite keys, which are used when For example, the combination of country
two or more query items are required to uniquely identify the level. and city are required to uniquely identify a
city.
• Query Subject dimensional structures are not represented in the
Report Studio and Query Studio user interfaces, as they are intended
for query efficiency and accuracy and not for end–user exposure.
Time Dimension
Requires Dimensional Information
• When we query across all three query subjects (Sales Fact, Time Additional Information
Dimension and Inventory Levels Fact), ReportNet will not know In the slide example, we see a conformed
how to roll up the measures from the different fact tables. This will dimension called Time Dimension whose
result in repeating values for the CLOSING_BALANCE measure in relationships are at different levels in the
fact query subjects. The facts from the
the Inventory Levels Fact query subject because it rolls up to the Sales Fact query subject roll up to the Time
MONTH_KEY and not the TIME_KEY. Key where as the fact from the Inventory
Levels Fact query subject rolls up to the
• Because the Sales Fact query items are at a more granular level than Month Key.
the Inventory Levels Fact query items, we need to specify that the
MONTH_KEY be at a higher level than the TIME_KEY. This will
ensure that Closing Balance will roll up correctly.
Demo 8–2
Purpose:
Report authors have a requirement to report across the
SALES_FACT and INVENTORY_LEVELS_FACT query
subjects through the TIME_DIMENSION query subject. In
order for the appropriate values to be returned, dimension
information must be specified on the TIME_DEMENSION
query subject since it relates to both fact tables at different
levels of granularity.
7. Save this report as Demo 8–2, and then close Report Studio.
6. In the Levels pane, select MONTH_KEY, and then select the Additional Information
Unique Key check box. Do the same for TIME_KEY. If asked why the CURRENT_MONTH and
CURRENT_YEAR are attributes of
7. In the Levels pane, select MONTH_KEY. MONTH_KEY, the MONTH_KEY in this
example is unique and represents a year
8. From the Available items pane, drag and drop the and month combination. That is why both
CURRENT_YEAR and CURRENT_MONTH items into the the CURRENT_YEAR and
Attributes pane. CURRENT_MONTH query items are
associated with it.
The result appears as shown below:
9. Click OK.
The TIME_DIMENSION query subject now has a cube displayed
on it as shown below.
Results:
We have successfully specified dimension information
telling ReportNet how to aggregate values at different levels
of granularity.
Ensure that keys and other identifiers have their usage specified as
identifier. This makes the model more intuitive.
When a surrogate key is available for a level, use it as the level key
and treat the business key as an attribute (which still should be set as
an identifier).
Use the item you would use in reporting as the level, and the id
(forms one end of a relationship) as the key for the level (remember
to reflect this in the prompt info for the sake of query efficiency) for
modeler clarity.
For each level, associate any query items that are specific to that
level.
Dimension Dimension
1 2
1..1 1..1
1..n 1..n
Fact Table
1..n 1..n
1..1
1..1
Dimension Dimension
4 3
• A star schema is created at the data source level and usually in a data
warehouse scenario.
• Fact tables have keys related to each of the dimension rows of data
for each dimension combination.
• Dimensions describe the way you would report the measures, such as
by time or product.
Product
Dimension
1..1 1..1
1..n 1..n
Sales Inventory
Fact 1..n 1..n
Levels Fact
1..1 1..1
Time
Dimension
• In the slide example, both the Sales Fact and Inventory Levels Fact Additional Information
query subjects contain time–based and product–based facts. This can For example, which relationships would be
create ambiguous relationships and incorrect results when querying used when querying both Product
across multiple query subjects. Dimension and Time Dimension?
Product Product
Dimension Dimension
1..1 1..1
Time Time
Dimension Dimension
Product
Dimension
1..1 1..1
1..n 1..n
Sales Inventory
Fact 1..n 1..n
Levels Fact
1..1 1..1
Time
Dimension
• What occurs when you query across fact tables through a conformed
dimension as in the case of Sales Fact, Time Dimension and
Inventory Levels Fact?
Stitch queries send two separate queries to the data source and then
merge them locally.
The SQL generated contains syntax such as:
coalesce
full outer join
Report Output
Database ReportNet
D1 D2 F1 F2
• In the event of cross fact table queries, ReportNet will send two
separate queries to the data source, one for each fact table. It will
retrieve two record sets, which will be merged locally by stitching
together the common dimensional records returned in each record
set.
Additional Information
• If you view the SQL generated for such a query, you will see a
We will look at stitch query SQL in the
function called coalesce, which is used to merge the queries together, following demo.
and also see a full outer join. Full outer joins are usually a cause for
concern since they are resource intensive. This full outer join is As seen in the slide example, D1 and D2
actually executed locally by the ReportNet server in a very efficient represent data from a conformed
method and not at the data source level. dimension. F1 represents data from one
fact table and F2 represents data from the
other fact table. As you can see, F1 had no
• If one fact table has a value for a returned dimension row and the value for row B and is therefore left blank,
other does not, you will simply see a blank field in the report. but the value in F2 for row B is not lost.
Demo 8–3
Purpose:
Report authors would like to see SALES_FACT and
INVENTORY_LEVELS_FACT data displayed with their
related dimensions in an intuitive manner. There is a
specific requirement to be able to create a report that lets
business analysts compare the closing balance against the
quantity sold for each product for each month.
We will also view the SQL syntax of the report created in the
previous demo, which used a stitch query to achieve its
results.
Notice the coalesce function and the full outer join. Remember that
these are efficient actions performed locally and are not resource
intensive actions executed at the database level.
4. Click Close, and then close Report Studio, Cognos Connection and
Framework Manager, saving the changes if prompted.
Results:
We have successfully created the requested report using
star schema groupings and also viewed the SQL syntax
behind a stitch query.
Summary
Appendix A
Step-by-Step Solutions to the Workshops
7. In the Properties pane, click the Properties link, and then in the
Usage row, click Attribute.
8. Repeat steps 6 and 7 for the ACTIVE_INDICATOR query item
below the RETAILER_SITE query subject.
Task 2. Create a relationship between
GENDER_LOOKUP and CONTACT.
1. Ensure that you have the Object Diagram View open, below
goretailers, right–click GENDER_LOOKUP, and then click
Locate in Object Diagram.
GENDER_LOOKUP is highlighted in the diagram.
2. In the Object Diagram, right–click GENDER_LOOKUP, and then
click Create Relationship.
The Relationship Definition – New Relationship dialog box appears.
3. In the Name box, type GENDER_LOOKUP <–––>
CONTACT, and then on the right side, click the ellipsis.
The Select Query Subject dialog box appears.
4. Expand Database layer and goretailers, click CONTACT, and
then click OK.
5. Modify the relationship so that it appears as shown below:
6. Click OK.
7. Under GENDER_LOOKUP, click GENDER_CODE.
Notice that, in the from clause, the value of "LANGUAGE" was set
to "EN". The macro that was created in Demo 3–8, “Create a Macro
Using a Parameter Map and a Session Parameter,” was replaced with
this literal value when you merged the COUNTRY and
COUNTRY_MULTILINGUAL query subjects.
The macro was replaced with "EN" because, when you merged the
COUNTRY and COUNTRY_MULTILINGUAL query subjects,
English was the active language of the project. To get the correct
results, you must add the macro back to the query subject definition.
2. Click OK, from the Project menu, point to Languages, and then
click Define Languages.
The Define Languages dialog box appears.
3. Add German to the Project languages list.
4. In the Project Languages pane, click German, click Set As Active,
and then click OK.
A message appears, confirming the change.
5. Click OK, double–click (de) COUNTRY, and then click Test.
7. Click OK, from the Project menu, point to Languages, and then
click Define Languages.
8. In the Project languages box, click English (United States), click
Set As Active, and then click OK.
A message appears, confirming the change.
9. Click OK, and then save the model.
Task 5. Re–publish the package and view the merged
query subject in Query Studio.
1. Right–click the GO Model package, and then click Publish
Packages.
The Publish wizard opens.
2. Click Publish, click Yes, and then click Finish.
3. Maximize Cognos Connection, open Query Studio, and then click
GO Model.
4. In the left pane, expand Database layer and gosales.
Notice that the merged query subject called COUNTRY is included
in the list of available query subjects.
6. Save the report as Wkshp 3–1b, and then click New Report.
7. Expand GENDER_LOOKUP and CONTACT.
8. Below CONTACT, double–click FIRST_NAME, LAST_NAME,
and JOB_POSITION_EN.
9. Under GENDER_LOOKUP, double–click GENDER, click the
GENDER column, and then on the toolbar, click Filter.
10. In the Show only the following section, select Female, and then click
OK.
The result appears as shown below:
11. Save the report as Wkshp 3–1c, click Return, and then leave Cognos
Connection and Framework Manager open for the next demo.
8. Click OK.
3. Repeat step 2 for the following query items, under the following Instructional Tips
query subjects: Indicate to students this would be a good
case for setting multiple properties by
ORDER_METHOD query subject: setting the property for the first item and
then clicking and dragging the arrow beside
• ORDER_METHOD_EN it down to apply the same setting to the
other selected items.
PRODUCTS query subject:
• PRODUCT_NAME
• INTRODUCTION_DATE
RETURNED_ITEM query subject:
• RETURN_DATE
RETURN_REASON query subject:
• REASON_DESCRIPTION_EN
PRODUCT_FORECAST query subject:
• YEAR
• MONTH
SALES_STAFF query subject:
• FIRST_NAME
• LAST_NAME
• POSITION_EN
4. Expand the goretailers namespace, and then repeat step 2 for the
following query items, under the following query subjects:
RETAILER query subject:
• COMPANY_NAME
RETAILER_SITE query subject:
• CITY
RETAILER_TYPE query subject:
• TYPE_NAME_EN
SALES_TERRITORY query subject:
• TERRITORY_NAME_EN
COUNTRY query subject:
• COUNTRY_EN
CONTACT query subject:
• FIRST_NAME
• LAST_NAME
• JOB_POSITION_EN
8. Close Report Viewer, and then save the report as Wkshp 3–2a.
9. Close Report Studio, open Query Studio, and then click GO
Model.
10. Expand the PRODUCTS query subject, and then double–click
PRODUCT_NUMBER, PRODUCTION_COST, and
MARGIN to add them to the report.
11. Ctrl+click the PRODUCTION_COST and MARGIN columns,
and then on the toolbar, click Summarize.
12. Run the report, click Bottom, and then scroll to the bottom of the
report.
Notice that the summary values are averaged, rather than totaled. The
result appears as shown below:
13. Close Report Viewer, and then save the report as Wkshp 3–2b.
14. Close Report Studio and Query Studio, and then leave Cognos
Connection and Framework Manager open for the next Workshop.
10. Click OK, and then type AS PRODUCT_LINE to the left of the
macro.
11. Click Test.
The result appears as shown below:
5. Save the report as Wkshp 3–3, click Return, and then in Cognos
Connection, click Preferences.
6. In the Content language section, select Use the default language,
and then click OK.
7. Leave Cognos Connection and Framework Manager open for the
upcoming Demo.
5. From Sales Staff drag and drop the following query items to the
Query Items and Calculations pane:
First Name
Last Name
Position
Work Phone
Extension
Fax
Email
6. Click OK.
7. Using the same procedure as in steps 1–6, create the following model
query subjects in the appropriate folders.
Folder Model Query Query Items
Subject
Sales Rep Branch Address Address 1 from Sales Branch
Information
Address 2 from Sales Branch
City from Sales Branch
Region from Sales Branch
Postal Zone from Sales
Branch
Country from Country
Sales Targets Create a calculation called Staff
Name using First Name
from Sales Staff and Last
Name from Sales Staff. The
syntax should appear as shown
below:
[gosales].[Sales Staff].[First
Name] || ' ' ||
[gosales].[Sales Staff].[Last
Name]
Retailer Name from Sales
Target
Product Name from
Products
Sales Year from Sales Target
Sales Period from Sales
Target
Sales Target from Sales
Target
5. Select the Quick Reference folder, and then deselect the Find
Order Date and Orders for 2001 query subjects.
The package definition appears as shown below:
6. Save the report as Wkshp 6–1a, click Return, and then click Log
Off.
7. Click Log on again, in the User ID box, type arodriguez, and then
in the Password box, type password.
8. Click OK, open Query Studio, and then click GO Model, and
notice again that only the Presentation Layer folder is visible.
9. Expand Presentation Layer, Retailer Information, and Retailers.
11. Save the report as Wkshp 6–1b, click Return, and then click Log
Off.
12. Leave Cognos Connection and Framework Manager open for the
next demo.
Appendix B
Additional Tips and Techniques for Modeling in
Framework Manager
Note that this layer consists only of shortcuts to query subjects and
relationships.
Issues of cardinality are most important in how they affect both the
results of a query and how it is written. In this document we will discuss
key areas of concern with respect to result sets and query design. Some
of the topics discussed pertain specifically to data that is dimensionally
modeled.
Double Counting
Double counting occurs when data at multiple levels of granularity exist
in the same table, and manifests when repeated data is aggregated to the
internal cardinality of the data in the table.
Hierarchical Relationships
A hierarchical relationship occurs when a series of tables are connected
by one-to-many relationships. This has traditionally created a problem
when users write reports that do not select items from each table in the
hierarchy. Users do not necessarily understand that their query may
result in repeated values that should not be aggregated in the same way as
non-repeating values. This results in double counting. In ReportNet,
even a query that does not have elements of every table in its projection
list will not result in double counting. This is because ReportNet is aware
of the relationships and cardinality that links the tables and will include
joins to any intermediary tables necessary to accurately reflect the
cardinality in the query and will correctly apply grouping and aggregation
to ensure that double counting does not occur.
Dimension and aggregate tables are a concern for double counting in the
context of the multi-fact/multi-grain query.
Multi-Fact/Multi-Grain Query
(This scenario is sometimes referred to as fan trap or parallel relationship)
This situation is typically the result of multiple star schemas sharing
conformed dimensions. The potential for double counting arises when
multiple fact tables exist at different levels of granularity and have
relationships to a conformed dimension table on different keys. In this
case, you need to specify dimensional information on the conformed
dimension being used at multiple levels in order to prevent double
counting.
F1(N)—(1)D(1)—(N)F2
Role-Playing Dimensions
A role-playing dimension is any table that has multiple valid relationships
between itself and another table. This is most commonly seen in
dimensionally modeled data for dimensions such as Date and Customer.
A good example is an Orders fact table, it may have multiple relationships
to the Customer dimension on keys such as sold_to, ship_to and bill_to.
It is not an option to write a query between the Customer and Orders
tables because three relationships from Orders to the same field in
Customer will result in no rows being returned, and it is unclear which
relationship of the three should be chosen for the query. How do you
specify the context for Customer?
The answer to this in Framework Manager is part of the best practice for
star schemas.
1. Leave all the relationships in place.
2. After creating a star schema grouping, which results in a new
namespace with shortcuts to the fact table and all relevant
dimension tables, determine how many valid relationship
shortcuts now exist between the fact table shortcut and the
dimension shortcut in question.
3. Copy and past the shortcut to this dimension in the same
namespace until you have as many copies as you have
relationships.
At this point, there will still be multiple relationships between
each copy of the shortcut and the fact table.
4. The next step is to name each shortcut appropriately for the role
it plays.
In this example we would have three shortcuts that would be
named, Sold_To_Cust, Ship_To_Cust and Bill_To_Cust.
5. Once you have clarified which shortcut will be used for each
dimension, you should delete all but the appropriate relationship
shortcut to each of the role-playing shortcuts.
Optional Relationships
An optional relationship is characterized by a (0..1) or (0..n) relationship
that allows for a potential break in the linkage of data from one table to
another. The resolution to an optional relationship is to add an alternate,
mandatory relationship if possible. This often results in the creation of
an ambiguous relationship that must then be resolved as a Loop Join.
Analyze the situation that has been created, the problem stems from
having two ways to relate data from query subjects A and C. Unless one
path is highly preferable to the other, it is best to present end users with
both. This is accomplished by creating shortcuts, one each for A and B
and two for C (these should be renamed to distinguish one from the
other). The two shortcuts for C act as aliases and allow us to create
unambiguous relationships to A and B respectively. Move all the newly
created shortcuts to a folder and in the folder proceed to create
relationships between the query subjects that reflect a disambiguated
version of what existed originally. When you create a relationship
between two shortcuts that have an existing relationship between the
objects they reference, Framework Manager will notify you that a
relationship already exists between these objects and will give you the
option to create a shortcut to that relationship, use this option because
you are not creating new relationships, simply disambiguating existing
ones.
Recursive Relationships
Framework Manager imports recursive relationships. They appear in the
object diagram but they are not used when querying. To create a
functioning recursive relationship you must create a shortcut to the query
subject (an alias) and then create a relationship between the query subject
and the shortcut.
For example, you would like to write a report on products sold in 2002.
This involves only the time and product dimensions but these dimensions
are related via multiple fact tables, resulting in ambiguity. Given the
option to relate these dimensions on the SALES_FACT table or the
INVENTORY_LEVELS_FACT table, how do you let the user choose
which context they are interested in?
The way to resolve this join ambiguity lies in the Create Star Schema
Grouping functionality. This feature allows you to select a fact table,
choose Create Star Schema Grouping from the menu, choose the
dimensions you want from a list in the wizard, and choose the options to
create shortcuts for all query subjects and move to a new namespace. By
doing this for all star schemas, you resolve join ambiguity by placing
shortcuts to the fact and all dimensions in a single namespace along with
shortcuts to the relationships between them.
Cross-Join
It is possible to write a query that attempts to retrieve data from two
tables that have no apparent relationship. By default this action is not
allowed by Framework Manager because of the unpredictability of the
result. An operation of this type may be handled differently by different
RDBMS systems, while one may choose to do a complete Cartesian
product (all possible combinations of the data) another may infer a
relationship and join based on that.
Index
A M
Action logs, 7-26 Macros, 3-61
Ambiguous relationships Metadata
conformed dimensions, 8-20 export, 2-17
examine, 3-8 import, 2-12
resolve, 3-9 prepare, 1-12
Models
C definition, 1-5
prepare business view, 1-13
Calculations, 3-53 types, 1-7
version control, 5-15
D
Data sources N
import from multiple, 2-11
Namespaces
types, 2-10
Cognos. See Security
Dimensional information definition, 1-5
best practices, 8-18
conformed dimensions, 8-20
O
resolve level ambiguity, 8-12
specify, 8-11 Objects
examine & organize, 2-16
F visibility. See Security
Filters
P
examine, 4-14
security. See Security Packages
use Prompt values, 4-19 access. See Security
Folders administrative access. See Security
definition, 1-5 create & manage, 1-14
Framework Manager create & modify, 5-10
definition, 1-4 definition, 1-5
environment, 1-5, 1-17, 1-18 examine, 5-5
naming conventions, 1-19 impact of publishing, 5-13
workflow, 1-10 nest, 5-16
Function sets publish, 5-14
definition, 2-15 specify functions, 5-12
Functions specify languages, 5-11
package function list, 5-12 Parameter maps, 3-59
user defined, 3-48 Physical layer
definition, 2-6
G Presentation layer
create, 4-5
Governors definition, 2-7
edit, 5-6 Projects
best practices, 2-5
L check, 7-28
Languages create, 2-8
select, 2-9 definition, 1-5
specify package languages, 5-11 design & create, 1-11
Links files, 1-6
create, 7-13 manage, 1-16
synchronize, 7-27
Prompt values. See Filters
Q R
Query items Recursive relationships
definition, 1-5 examine, 8-4
examine, 3-22 resolve, 8-5
modify properties, 3-23 Relationships
set Regular Aggregate property, 3-25 ambiguous. See Ambiguous relationships
Query processing create & modify, 3-7
types, 3-5 criteria, 2-13, 2-14
Query subjects definition, 1-5
create model, 4-6 examine, 3-6
create new, 3-37 recursive. See Recursive relationships
create stored procedure, 3-43 ReportNet
definition, 1-5 security, 6-5
edit SQL, 3-20 workflow, 1-9
examine, 3-18 Repository control
modify & test, 3-19 set up, 7-6
set SQL type & generated SQL, 3-21 use, 7-5
types, 1-8
S
Security
Cognos namespace, 6-7
configure authentication providers, 6-6
filters, 6-11
object visibility, 6-10
package access, 6-9
package administrative access, 6-12
ReportNet model, 6-5
set, 6-8
Segments
create, 7-12
Session parameters, 3-60
Star schemas
examine, 8-19
manage, 8-21
Stitch queries, 8-22, 8-23
Stored procedure. See Query subjects