sql-server - 产品的 SSAS 维度显示错误的价格格式

标签 sql-server visual-studio ssas mdx

我的 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/

相关文章:

SQL 服务器 : SELECT rows using ROW_NUMBER and CASE statement

c# - 将自定义信息添加到 CSPROJ 文件

.NET 应用程序挂起,我无法调试它

python - 使用 Python 从 PowerPivot 模型中提取原始数据

jenkins - 如何在SSAS CD部署中指定连接字符串/模拟用户/密码?

sql - 在SSMS中,如何找到包含星号,一些文本和另一个星号的字符串?

sql - 删除给定数量的行时事务日志会增长多少

sql-server - 多数据库查询

c - malloc 和 free 的不同行为?

ssas - 慢速 SSAS 累积和计算度量