cancel
Showing results for 
Search instead for 
Did you mean: 

Use Cases of Detail Variables

Former Member
0 Kudos

Hi Friends,

Request you to please let   me know the use  cases for the detailed variables,

Regards,

Rajesh

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

A Detail object must belong to a dimension object and has a one to one relationship with it. Examples of items that would be a detail from various industries:

Date of Birth (a person only has one)

Current Supplier Contact Name (a supplier may have a history of contacts but will only have one current one)

Transaction Selling Price - the price at which a transaction took place

Items that should not be a detail:

Phone number (a person may have more than one, or a history thereof)

Price - price of a product may vary from time to time or even deal to deal

With the discussion of what could be a detail out of the way, we now turn to what should be a detail. You cannot merge queries on details, so don't use identifiers that you can see yourself merging queries with. Don't use them for items that are used in conditions either - typically you will use them for rarely used, dull, informational fields. They tend to be items of little analytical use.

The other thing to consider here is the often suggested but incorrect workaround for merging queries. You'll end up being advised to turn something into a detail. Make sure you know it's a one-to-one relationship with its owning dimension or you'll end up with #MULTIVALUE errors. Best rule of thumb is, would you make it as a detail object in the universe? If not, then it shouldn't be in the report either.

Answers (2)

Answers (2)

Former Member
0 Kudos

Dimension objects and Detail objects have a fundamental difference: Dimension objects usually represent a different level of granularity. For example, State and City might be two dimension objects in your universe. City is a lower level of granularity than State. So, when you add City to an existing block that already includes State, the measure objects will be aggregated at a lower level of granularity.

Detail objects, on the other hand, typically do not represent a lower level of granularity when used with their related dimension. For example, if I have Sales Revenue broken down by Customer in a block, and then add the Eye Color detail object, Sales Revenue will not be aggregated at a lower level. It will stay at the level of Customer. This is how detail objects work.

So, if I have two queries merged on State, and try to display another dimension, that is not merged, such as State Capitol, Web Intelligence doesn’t know how to aggregate the measures at the lower level of State Capitol, since that dimension doesn’t exist as a merged dimension. Of course, you and I both know that each State only has one State Capitol, so it’s not really a lower level of granularity. But Web Intelligence doesn’t know that. So we have to tell it.

The way we tell is as follows: Create a detail variable. In this case, maybe we call it Capitol. Make it a detail of the State merged dimension. The formula for this Detail variable is:

=[State Capitol]

We can then add the variable to the block, as Web Intelligence sees it as a detail of State, rather than a different level of granularity. Note that the detail variable must be a detail of a merged dimension. Otherwise, you still won’t be able to add it to the block.

Former Member
0 Kudos

Detail objects can be used when there is 1:1 relationship between objects

like customer Name is an object and it has three part

1. Customer First Name

2. Customer Middle Name

3. Customer Last Name

So I would make all three part of names as a detail & one property of detail object would be that it should point to single dimension object (In this case it sould point to Customer Name)

Also in many case where as in WEBI report you have more then one data providers and you have to show dimensions from both the queries then you will face an error #datasync .

So to avoid the error you can create detail objects which will pount to dimension.

Thanks,
Swapnil

Former Member
0 Kudos

Swapnil, As I mentioned, your last statement about merging data providers can be incorrect and you'll just swap a #datasync error for a #multivalue error. It's important to understand the data and how it should fit together before doing this

Former Member
0 Kudos

DataSync error occures when you are fatching unmerged dimension from mroe then one data provider and you need to show the same in single report block.

Then to avoid this error you can create a detail objects which will point to common merge dimension .

I think you are talking in different context.

Former Member
0 Kudos

The error can occur when you try to do what you say but the detail shouldn't be a detail, hence the #multivalue error.