Minimize
01

Reporting Services Models garnered a lot of attention, and offer much promise, but the actual implementation falls short of being useful in many situations. The shortcomings I list below cause Reporting Services Models to be practically un-usable for me. Before you use Reporting Services Models, ensure the following problems do not cause you pain.

 Purpose

The purpose of this document is to provide the information necessary to understand the issues around using SSRS Report Builder Models.
When you use report parameters which come from a model, no sort clause is issued to the database. Therefore the parameters may or may not be sorted, depending on how the underlying database accesses the data.
Work around: you may create an additional data set directly against the source database and provide your own SQL which can include the sort options.
There are two confusing issues around Model Navigation when you are creating a query against a model.
  1. The order of items in the entities list can change.
    1. This change occurs automatically, without your consent, and you cannot change this behavior. Look at the screen shots below in the “Outer Join does not work properly” section. The first entity list has Customer as the top (or primary) entity, followed by Sales Orders. After choosing some items from the Sales Orders entity, the query designer swaps the order of the entities. Sales Orders moves to the top, and Customer is included below. If you wish to add additional items from Customer, simply select it, in its new location and continue. You DO NOT have to cancel and begin your query a second time.
 Work around: none
  1.  The recursive display of entities.

    1. The picture below shows an example. While there is a potential need for this kind of behavior, there are also bugs around this as well. This direct back and forth between two tables can be turned off by de-selecting the image to the right of the Entities label (highlighted with a blue outline.) This turns off advanced mode.
 

 

The example above shows a case where this potentially confusing list does make sense. For each Sales Order show the Customer. For each of those customers show all of that Customer’s Sales Orders. So this shows you all of the Sales Orders for a Customer’s specific Sales Order.
 Work around: none
You can change anything except the following in a report model, and existing reports should still run:
Entities: ID and Inheritance properties
Attributes:.ID, DataType, and IsAggregate properties, and entity membership
Roles: ID and Cardinality properties, entity membership, related role and its cardinality and entity membership.
Note that if you change attribute expressions, entity/attribute/role bindings, or the definitions of tables and columns in the DSV (e.g. by modifying a Named Query), you may get different results, but the reports will still run.
Obviously, you can organize and re-organize things in and out of folders as often as you want, and all your existing reports will still load and run just fine.
Also, if you want to "deprecate" a field, you can use the Hidden property to exclude it from the design-time experience in Report Builder. This will not affect existing reports.
Optional relationships are not handled properly in SSRS Report Models. You have a Customer table, and a Sales Order table. Some customers have placed orders, and others have not. There is an optional relationship between Customer and Sales Order.
 The example below shows two customers and the number of orders each has placed.  This is proper behavior – we wish to see all customers, and their order count.
 
Now we wish to change the report data set to show all customers, and the Sales Order ID for each order placed by the customer. We still wish to include customer who have not placed orders in our report.
 By adding detail fields from the Sales Order table, we can see the outer join problem. We see each of the 4 orders for customer AW00000034, but customer AW00000032 is no longer included in the report.
 
  Work around: none

Comments

There are currently no comments, be the first to post one.

Post Comment

Only registered users may post comments.

LatestArticles Minimize
Parameters for Analysis Services Reporting: Introduction, Pt. 3 by William Pearson
BI Architect Bill Pearson continues an extended examination of parameterization within Analysis Services reports. In this, Part 3 of the article, we continue to get hands-on practice cr...

Parameters for Analysis Services Reporting: Introduction, Pt. 2 by William Pearson
BI Architect Bill Pearson continues an extended examination of parameterization within Analysis Services reports. In this, Part 2 of the article, we continue to get hands-on practice cr...

Using Annotation Tables in SSAS to Show Last Processed Time and Latest Data Updates as a Measure in a Cube by John Hall

Using Color in SSRS Charts by Melissa Coates
Effective data presentation techniques help users  interpret information quickly and reliably.  Layout, formatting, sizing, labeling, and other report elements may all be used to facilitate ...

Is TOAD faster than BIDS Query Builder? by John Hall

SSRS: Unexplained Warning “This field is missing from the returned result set from the data source” And Checking a Field for Null Exception by John Hall
If you ever see the warning message “This field is missing from the returned result set form the data source” and get unexplained #Errors in columns on your report it may be from SSAS not returning a ...

Beyond Excel pivot tables: Leveraging cube formulas with MDX by Javier Guillen
PowerPivot and DAX are a powerful technologies, but there is still a good amount of work that can be done with traditional cube functions. In its current version, PowerPivot lacks the concept of ...

Learning MSSQL Server Analysis Services: Support Report Conditional Formatting in Analysis Services by William Pearson
Support conditional formatting for enterprise reports from the Analysis Services layer of the integrated Microsoft business intelligence solution. BI Architect Bill Pearson leads hands-on practic...

Learning SQL Server Analysis Services: Attribute Discretization in Analysis Services 2008 R2: Introduction by William Pearson
Join BI Architect Bill Pearson as he introduces Attribute Discretization into his extended examination of the dimensional model within the integrated Microsoft Business Intelligence solution.

Learning SQL Server Analysis Services: Analysis Services 2008 R2 Dimensional Model: Dimensions, Part I by William Pearson
Business Intelligence Architect Bill Pearson launches a new subseries surrounding components of the SQL Server Analysis Services 2008 / 2008 R2 dimensional model. In this two-part article, we int...


Advertisement Minimize

Advertisement Minimize

Copyright 2004-2010 MSBICentral.com Terms Of Use Privacy Statement