P. 1
ProjectDesign 8

ProjectDesign 8

|Views: 1,628|Likes:
Published by Srikanth Sri

More info:

Published by: Srikanth Sri on Aug 16, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less






  • How to find business scenarios and examples
  • Who should use this guide
  • Introduction
  • Business intelligence architecture
  • Source systems for data collection
  • Extraction, transformation, and loading process
  • Data warehouse for data storage and relational design
  • The MicroStrategy platform
  • MicroStrategy metadata
  • MicroStrategy Intelligence Server
  • MicroStrategy Desktop
  • MicroStrategy Web and Web Universal
  • MicroStrategy project
  • The project design process
  • Facts: Business data and measurements
  • Attributes: Context for your levels of data
  • Attribute elements: Data level values
  • Hierarchies: Data relationship organization
  • Sample data model
  • Building a logical data model
  • User requirements
  • Existing source systems
  • Converting source data to analytical data
  • Step 2: Identify the attributes
  • Step 3: Determine attribute relationships
  • Logical data modeling conventions
  • Unique identifiers
  • Cardinalities and ratios
  • Attribute forms
  • Columns: Data identifiers and values
  • Tables: Physical groupings of related data
  • Uniquely identifying data in tables with key structures
  • Lookup tables: Attribute storage
  • Relate tables: A unique case for relating attributes
  • Fact tables: Fact data and levels of aggregation
  • Fact table levels: The context of your data
  • Homogeneous versus heterogeneous column naming
  • Schema types: Data retrieval performance versus redundant storage
  • Highly normalized schema: Minimal storage space
  • Moderately normalized schema: Balanced storage space and query performance
  • Highly denormalized schema: Enhanced query performance
  • Design trade-offs
  • Schema type comparisons
  • Project connectivity components
  • Metadata shell
  • Project source
  • Database instance
  • Project
  • Summary of project connectivity
  • Creating a project
  • Creating the metadata repository
  • Connecting to the metadata repository and data source
  • Connecting to the metadata repository
  • Connecting to a data source
  • Creating the project
  • Creating a test or prototype project using Project Builder
  • Creating a production project using Project Creation Assistant
  • Planning your project
  • To create a new project using the Project Creation Assistant
  • Creating facts and attributes
  • Configuring additional schema-level settings
  • Deploying your project and creating reports
  • Creating facts
  • Simultaneously creating multiple, simple facts
  • Creating and modifying simple and advanced facts
  • The structure of facts
  • How facts are defined
  • Mapping physical columns to facts: Fact expressions
  • Fact column names and data types: Column aliases
  • Modifying the levels at which facts are reported: Level extensions
  • Defining a join on fact tables using table relations
  • To select the type of fact extension
  • Defining a join on fact tables using fact relations
  • Forcing facts to relate to attributes: Using cross product joins
  • Lowering the level of fact data: Fact degradations
  • Disallowing the reporting of a fact at a certain level
  • Creating attributes
  • Simultaneously creating multiple attributes
  • Adding and modifying attributes
  • Adding attributes with the Attribute Editor
  • Unique sets of attribute information: Attribute elements
  • Column data descriptions and identifiers: Attribute forms
  • Attribute form properties
  • Default sorting of multiple attribute forms
  • Attribute form expressions
  • Joining dissimilar column names: Heterogeneous mappings
  • Modifying attribute data types: Column aliases
  • Attribute forms versus separate attributes
  • Attribute relationships
  • Viewing and editing the parents and children of attributes
  • Supporting many-to-many and joint child relationships
  • Attributes that use the same lookup table: Attribute roles
  • Specifying attribute roles
  • Attributes with more than one ID column: Compound attributes
  • Example: Creating compound attributes
  • To create the Distribution Center compound attribute
  • Collections of attribute forms: Form groups
  • Supporting compound attributes
  • Displaying and organizing related forms
  • Using attributes to browse and report on data
  • Setting how attribute forms are displayed by default
  • Creating user hierarchies
  • Types of hierarchies
  • System hierarchy: Project schema definition
  • User hierarchies: Logical business relationships
  • Hierarchy organization
  • Hierarchy structure
  • Viewing hierarchies: Hierarchy Viewer
  • Configuring hierarchy display options
  • Controlling the display of attribute elements
  • Filtering attributes in a hierarchy
  • Entry point
  • Hierarchy browsing
  • Enabling hierarchy browsing in reports: Data Explorer
  • Using the Hierarchy Viewer and Table Viewer
  • Using the Hierarchy Viewer
  • Using the Table Viewer
  • Updating your MicroStrategy project schema
  • Data warehouse and project interaction: Warehouse Catalog
  • What should I know before I use the Warehouse Catalog?
  • Accessing the Warehouse Catalog
  • To access the Warehouse Catalog
  • Adding and removing tables for a project
  • Managing warehouse and project tables
  • Modifying data warehouse connection and operation defaults
  • Data warehouse connection and read operations
  • Displaying table prefixes, row counts, and name spaces
  • Mapping schema objects and calculating logical sizes for tables
  • Customizing catalog SQL statements
  • •The table name space, page235
  • •SQL placeholder strings and incomplete catalog SQL, page235
  • SQL placeholder strings and incomplete catalog SQL
  • Troubleshooting table and column messages
  • •Tables missing
  • •Columns data type changed
  • Tables missing
  • Columns data type changed
  • Columns missing
  • Using summary tables to store data: Aggregate tables
  • When to use aggregate tables
  • Determining the frequency of queries at a specific level
  • Considering any related parent-child relationships
  • Compression ratio
  • Creating aggregate tables
  • The size of tables in a project: Logical table size
  • Dividing tables to increase performance: Partition mapping
  • Server versus application partitioning
  • Metadata partition mapping
  • Warehouse partition mapping
  • Metadata versus warehouse partition mapping
  • Creating transformations
  • Expression-based versus table-based transformations
  • Building a table-based transformation
  • Building an expression-based transformation
  • Transformation components
  • Transformation metrics and joint child attributes
  • What is the MicroStrategy Tutorial?
  • MicroStrategy Tutorial data model
  • Geography hierarchy
  • Products hierarchy
  • Customers hierarchy
  • Time hierarchy
  • Promotions hierarchy
  • MicroStrategy Tutorial schema
  • Geography schema
  • Products schema
  • Customers schema
  • Time schema
  • Promotions schema
  • Sales fact tables
  • Inventory fact tables
  • Miscellaneous fact tables
  • MicroStrategy integration with OLAP cube sources
  • Understanding MicroStrategy architecture
  • Authentication
  • Understanding the SAP BW terminology
  • Relating objects from SAP BW to MicroStrategy
  • Supporting SAP BW variables
  • SAP BW structures
  • Relating objects from Essbase to MicroStrategy
  • Relating objects from Analysis Services 2000 to MicroStrategy
  • Relating objects from Analysis Services 2005 to MicroStrategy
  • Connecting to SAP BW servers
  • Connecting to SAP BW servers on Windows
  • To connect to SAP BW servers on Windows
  • Connecting to SAP BW servers on UNIX and Linux
  • Connecting to Essbase servers
  • Configuring the XMLA Provider
  • Connecting to Analysis Services 2000 servers
  • Connecting to Analysis Services 2005 servers
  • Integrating OLAP cubes into MicroStrategy
  • Importing OLAP cubes
  • Managed objects
  • Mapping OLAP cubes
  • Why do you need to remap OLAP cubes?
  • How to build analysis into metrics with custom MDX
  • Using prompts within OLAP cube metrics
  • Logical tables
  • How should I use logical tables?
  • Creating logical tables
  • Using SQL for logical views
  • Logical view examples
  • Business case 1: Distinct attribute lookup table
  • Business case 2: Attribute form expression across multiple tables
  • Business case 3: Slowly changing dimensions
  • Business case 4: One-to-many transformation tables
  • Business case 5: Outer joins between attribute lookup tables
  • Mapping of external data types to MicroStrategy data types
  • MicroStrategy data types
  • Format types
  • Data type and format type compatibility
  • Big Decimal
  • Big DecimalBig Decimal
  • Using the Big Decimal data type

A column alias specifies both the name of the column to be
used in temporary tables and the data type to be used for the

By default, the data type for a fact is inherited from the data
type of the column on which the fact is defined in the data
warehouse. However, there are cases where you may need to
change this.

For example, you can define a fact to be the difference
between two dates to perform a calculation such as the
average number of days between a start and an end date. You
could create this fact using the following expression:

ApplySimple("DateDiff(day,#0, #1)",
[Start_Date_Id], [End_Date_Id])

The expression syntax is specific to your database
type. This syntax is specific to Microsoft SQL Server.
The SQL you create may be different.

The Building Blocks of Business Data: Facts

Project Design Guide


106 Fact column names and data types: Column aliases

© 2007 MicroStrategy, Inc.

The data type for this fact is automatically set to a Date data
type because the Start_Date_ID and End_Date_ID have
Date data types. However, the result of the calculation, that
is, the difference between the two dates, is an integer.

This is used when a temporary SQL table needs to be created
for the calculation. If you did not change the data type of the
column alias, then the system uses a Date data type and tries
to insert integer data into this column. This can cause an
error for some database platforms. To avoid the possibility of
an error due to conflicting data types, you should modify the
column alias for the fact to change the default Date data type
to an Integer data type.

You can use the Fact Editor to create column aliases.

To create a column alias for a fact

This procedure assumes you have already created a
fact with a valid fact expression for which to create a
new column alias.

1In MicroStrategy Desktop, log in to the project source that
contains the fact to create a new column alias for.

2Right-click the fact and select Edit. The Fact Editor opens.

3Select the Column Alias tab.

4In the Column alias area, click Modify. The Column
Editor - Column Selection dialog box opens.

5Select New to create a new column alias. The Column
Editor - Definition dialog box opens.

6You can modify the following properties for the column

•Column name: The name for the column alias which
is used in any SQL statements which include the fact

•Data type: The data type for the fact. For a description
of the different data types supported by MicroStrategy,
see Appendix D, Data Types.

Project Design Guide

The Building Blocks of Business Data: Facts 5

© 2007 MicroStrategy, Inc.

Modifying the levels at which facts are reported: Level extensions 107

Depending on the data type selected, you can specify
the byte length, bit length, precision, scale, or time
scale for your column alias. For a detailed description
on each of these properties, see the MicroStrategy
Desktop online help.

7Click OK to save your changes and return to the Column
Editor - Column Selection dialog box.

8Click OK to save your changes and return to the Fact

9Select Save and Close to save your changes.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->