(SAP BusinessObjects BI Platform 4.3 Support Pack 1 Patch 11 Version : 14.3.1.4142.11)
Hello everyone,
Let's say I have this table with
Example of products identifier and their corresponding amount of money gained from selling them.
Now, I also have an information somewhere on the document telling the user in which currency and "scaling" these amount are displayed: e.g. "amounts in $" or "amounts in 1'000$", etc.
What I want is to let the user choose whenever he wants in which scaling these amounts should be displayed and I don't want him to refresh the data each time he wants to rescale. So that means that if the value is 1'234'567'890$, the user should be able to scale the value and display e.g. 1'234,57 Mio.$. In fact, the value does not really change. It is only the way it is displayed that changes.
I searched a lot and tried a lot of things. What I managed to do so far is close, but not good enough yet.
Working solutions (but not good enough)
I could create a derived table in our Information Design Tool with these values: 1, 1'000, 1'000'000, 1'000'000'000, as numbers. I then imported these values in our Webi-Document and try to create an input control with it. It's working, but since these are "numerics", I couldn't choose the input control "list" as expected, because, I learned then, that this input control is working only with "dimensions" (Input control types). The problem is, that with a slide we can choose all values between the minimum and the maximum value (1 to 1'000'000 in the example below). It makes no sense to scale with a factor of 213'000 for example. So it's working, but it is not a "professional" solution.
The other idea I had was to use powers of 10: e.g. 10^1, 10^3, 10^6 and 10^9. This is also working and I don't have the issues of the value, which makes no sense, but it is less clear, I think. I also don't think that anyone will use 10^4 or 10^7 to scale the data, but it is less problematic. The thing is... I don't know if the people, who will be using this report are familiar with the powers of 10.
Not working solutions
The first thing I tried was using the custom format options (#,##, etc.), but I could not make it work. I also tried with the K or M for example, which are Excel keywords, and since Webi has similarities with Excel in the formulas, I thought, that it could work, but it did not.
Another thing I tried was to create a derived table with the values 1, 1'000, etc. as "dimensions" and convert them in the formula directly in webi, but the cells are then blank and I don't know why. The formula is simply
=[Amount]/[Scaling factor]
And I tried to use the ToDecimal or ToNumber functions, but without success. It may be linked to the fact, that the structure of the table is very complexe with several groups to display their sums (something like a balance sheet with subcategories and everything).
Anyway... does somebody know how to do it, if it is possible? I found it quite frustrating to not be able to use the input control list on numerics. I don't understand, why I should not be able to choose between specific values if they are numbers and not dimension.
Of course, I'm still here if you have questions and/or if something is not clear enough.
Thanks for your time!
PS: I don't have the reputation to post images, so you only will have the links, sorry
I actually met someone today, who found a solution to my problem, so I am sharing it with you in case others are having the same problem and are also struggling.
The idea is to do the contrary of what I tried in my second "not working" attempt. The thing is to have the scaling factors as numbers. Then we create a variable and convert the scaling factor in a Dimension. We then use this variable to create an input control list.
We are using Information Design Tool (IDT) to connect Webi and Teradata at my work, so this answer will be using these tools.
In IDT
SELECT CAST('1' AS NUMBER) AS Skalierung FROM (SELECT 1 AS "DUMMY") AS "DUAL" UNION ALL
SELECT CAST('1000' AS NUMBER) AS Skalierung FROM (SELECT 1 AS "DUMMY") AS "DUAL" UNION ALL
SELECT CAST('1000000' AS NUMBER) AS Skalierung FROM (SELECT 1 AS "DUMMY") AS "DUAL" UNION ALL
SELECT CAST('1000000000' AS NUMBER) AS Skalierung FROM (SELECT 1 AS "DUMMY") AS "DUAL"
In Webi
The scaling input control will look like this Scaling input control
=[Amount]/[Scaling factor]
Now, when you change the scaling factor, it will change the values in you table.
Enjoy!