我的 SSAS 多维数据集 (SSAS 2016) 中有一个产品维度,具有不同的价格属性,例如销售价格和购买价格。 数据源是一个 MS SQL 表,每个价格列定义为 numeric(28,12)。 我尝试了不同的方法将这些列格式化为货币但失败了。 货币格式在度量值组上运行良好,但在产品维度上则不然。 浏览器始终显示“.320000000000”之类的值,而不是“0,32”。 我不知道还剩下什么,请帮忙。
最佳答案
维度设计器中的格式选项至少被 Excel 和 ssrs 忽略。
作为解决方法,在维度中添加 string/nvarchar 属性,该属性根据您所需的模式进行格式化。您可以在数据仓库维度表中显示该属性,也可以使用 View 生成该属性。
添加:要格式化字符串,您可以使用 tsql format
函数(从 sql server 2012 开始支持),如下例所示:
SELECT FORMAT(qry.col, 'N2') AS convertedString FROM (
SELECT CONVERT(numeric(28,12), .320000000000) AS col
UNION ALL
SELECT CONVERT(numeric(28,12), 1.1) AS col
UNION ALL
SELECT CONVERT(numeric(28,12), 100) AS col
UNION ALL
SELECT CONVERT(numeric(28,12), 1000) AS col
) AS qry
nvarchar 结果如下所示:
0.32
1.10
100.00
1,000.00
关于sql-server - 产品的 SSAS 维度显示错误的价格格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021270/