Sunday, February 19, 2012

Changing FormatString for attribute of a dimension

i can't change the value of a format string for attributes of dimensions.

For Cubes is easy, right-click on the measure -> Proprieties -> FormatString

but for the attributes of a dimension I cannot find where I can change this proprieties..

Someone can help me?

thank you

Riccardo

You cannot find it, because there isn't FormatString for attributes. FormatString is a property which applies to cell values, so specifying different formatting for different attributes doesn't make much sense, as they will simply conflict with each other when applied to the cell. You can specify different formatting for different attribute members, however. Check the CustomRollupOptions property, which allows you to do so.|||

i can't do what i want to do :)

my problem is: I have an attribute in a dimension which assumes values from 0.0001 to 0.0099

I don't know why but this attribute when I browse the dimension is visualized as ".0001" (without the zero)

I want this zero!! :)

ho can I to make it appear with CustomRollupOptions property!?!

|||

Is it not possible to do a named calculation in the data source view and use it in the dimension?

You use TSQL like:

Case When MyColumn < = 0.001 Then 0

Else MyColumn

HTH

Thomas Ivarsson

|||

I think wildthink wants a leading zero, i.e. 0.0001 instead of .0001

Anyway, this is formatting of attribute members, not formatting of cell values, therefore FormatString is not applicable here. You should instead, as Thomas suggests, put a named calculation in DSV which will do formatting for you, using appropriate SQL functions.

|||

>I think wildthink wants a leading zero, i.e. 0.0001 instead of .0001

yes!!

thank you for your answers.

but now i have a new question..

how can I make a named calculation for obtained what I want?

In DSV if I do "Explore Data" on the table of my dimension I can see my attribute correctly (with the leading zero), how create a named calculation to see this zero also when I browse the dimension?

thank you again!

Riccardo

|||

If you can accept a string in the dimension you could try

Named Calculation = MyColumnText

Case When MyColumn between 0.0001 and 0.0099 Then '0' + Cast(MyColumn as Char(4))

Else Cast(MyColumn as char(4))

End

I am not sure about what you would like to do with the other values that are outside of the TSQL-Case here.

This is from memory only so you might have to try:

'0.' + Cast(MyColumn as Char(4))

HTH

Thomas Ivarsson

|||

>If you can accept a string in the dimension you could try

your solution works :)

thank you very much!

No comments:

Post a Comment