Is there a better way to apply multiple currency formatting in Cognos when you have multilingual environment?

I really wish this feature was able available at Framework Manager model level so you can associate your currency measures with user locale and that would save you tons of efforts while developing reports because you don't have to apply conditional style / formatting in Report studio.

Does any one have any suggestions to accomplish this functionality efficiently.

The best way would be to do it on the framework level, depending on your needs.

As an example from one of my projects.

I have a fact table that's populated daily. The fact table has about 5 different currencies in it. The ETL checks the exchange for each currency on the list, and populates the fields accordingly. Each field is correctly formatted in the data layer. curr_eur is set to Data Format currency EUR, curr_usd is set to USD and so on.

The model has a parameter map which translates the various run_locales to the correct measure. en-uk points to gbp, en-us points to usd, he-il points to nis, with the default being eur. The business layer has references to all the different curriencies, and another User Currency field with the expression:

[data].[table].#sb(
'curr_' + $currencyLookup
{$runLocale
})#

Since the formatting is already set up on the data layer, no more work has to be done on the business layer or in the report.
Of course, this is only relevent is your data is set up this way. If each currency is in it's own row, you'll need another solution.

The best way would be to do it on the framework level, depending on your needs.

As an example from one of my projects.

I have a fact table that's populated daily. The fact table has about 5 different currencies in it. The ETL checks the exchange for each currency on the list, and populates the fields accordingly. Each field is correctly formatted in the data layer. curr_eur is set to Data Format currency EUR, curr_usd is set to USD and so on.

The model has a parameter map which translates the various run_locales to the correct measure. en-uk points to gbp, en-us points to usd, he-il points to nis, with the default being eur. The business layer has references to all the different curriencies, and another User Currency field with the expression:
<pre class="jive-pre">
[data].[table].#sb(
'curr_' + $currencyLookup
{$runLocale
})#
</pre>

Since the formatting is already set up on the data layer, no more work has to be done on the business layer or in the report.
Of course, this is only relevent is your data is set up this way. If each currency is in it's own row, you'll need another solution.