如何在分析服务中获取货币值的格式字符串?
当我运行MDX查询以检索类型为Currency
的度量时,将以预期格式返回值,例如€1.000,00。这是正确的,因为我的Cube的语言环境设置为爱尔兰。
我是否还要检索货币格式字符串?
因此,对于我的Cube,其区域设置为爱尔兰,货币格式字符串将类似于"€#.###,##"
有没有办法可以从Analysis Services检索此信息?
我可以运行以下DMX查询来获取有关度量及其格式的信息,但这仅显示我的货币度量的格式Currency
:
select
MEASURE_UNIQUE_NAME,
MEASURE_NAME,
DEFAULT_FORMAT_STRING
from
$system.MDSCHEMA_MEASURES
有什么想法吗?
答案 0 :(得分:2)
小心使用"货币"作为您的格式字符串。您不希望来自墨西哥的某人连接并突然看到不同的货币符号,而无需实际转换为Pesos。 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将是"€#。###,##"。