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

SSAS dimension for products shows wrong price format

我的 SSAS 多维数据集 (SSAS 2016) 中有一个产品维度,它具有不同的价格属性,例如销售价和采购价。 数据源是 MS SQL Table,每个价格列都定义为 numeric(28,12)。 我尝试了不同的方法将这些列格式化为货币但失败了。 货币格式在度量值组上运行良好,但在产品维度上运行不佳。 浏览器始终显示类似“.320000000000”而不是“0,32”的值。 我不知道剩下的请帮忙。

您可以在维度设计器中设置格式。 属性 住在源组中,在 NameColumn 下。

维度设计器中的格式选项至少被 excel 和 ssrs 忽略。

作为解决方法,在您的维度中添加一个 string/nvarchar 属性,该属性根据您想要的模式进行格式化。您可以在数据仓库维度 table 中显示该属性,也可以使用视图生成它。

Addition:要格式化您的字符串,您可以使用 tsql format 函数(从 sql 服务器 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