0

如何在分析服务中获取货币值的格式字符串?

当我运行 MDX 查询以检索类型为 的度量时Currency,该值以预期的格式返回,例如 €1.000,00。这是正确的,因为我的 Cube 的语言环境设置为爱尔兰。

无论如何我可以检索货币格式字符串吗?

因此,对于我的区域设置为爱尔兰的多维数据集,货币格式字符串将类似于"€#.###,##"

有没有办法可以从 Analysis Services 中检索此信息?

我可以运行以下 DMX 查询来获取有关度量及其格式的信息,但这仅显示Currency我的货币度量的格式:

select 
    MEASURE_UNIQUE_NAME, 
    MEASURE_NAME, 
    DEFAULT_FORMAT_STRING 
from 
    $system.MDSCHEMA_MEASURES

有任何想法吗?

4

1 回答 1

2

小心使用“货币”作为格式字符串。您不希望来自墨西哥的人在没有实际转换为比索的情况下连接并突然看到不同的货币符号。 http://blog.crossjoin.co.uk/2008/04/24/currency-formats-should-they-be-tied-to-language/

我会将 FORMAT_STRING 硬编码为“€#.###,##”,除非您实际上是在多维数据集中动态转换货币。

如果要检索单元格的格式字符串,您可以:

SELECT [Measures].[Your Measures] on COLUMNS
from [Your Cube]
CELL PROPERTIES FORMATTED_VALUE, VALUE, FORMAT_STRING

该查询检索一个单元格和 3 个属性。FORMATTED_VALUE 属性采用数值并应用格式字符串并返回 €1.000,00。该值只是没有任何格式的数字,例如 1000。FORMAT_STRING 将为“€#.###,##”。

于 2015-11-16T19:22:31.127 回答