【问题标题】:How to make SSAS Dimension attribute data type as Numeric in Excel如何在 Excel 中将 SSAS Dimension 属性数据类型设为数字
【发布时间】:2025-11-23 13:50:01
【问题描述】:

通过 excel 连接多维数据集时,我需要您帮助更改 Excel 表中的维度属性数据类型,并且我在数据仓库中将列定义为“FLOAT”,在 Cube 中定义为“DOUBLE”,但该属性始终显示为当我通过 Excel 表连接多维数据集时,Excel 表中的字符串。

我也没有定义名称列属性,因为名称列将始终支持字符串数据类型。

请从 Adventure works cube 中找到以下示例以了解我的场景。

我从 Product 维度中获取了“Weight”属性,并且该属性的 key 列和 Value 列具有“Double”数据类型,Name 列具有“Wchar”数据类型。

由于名称列属性,权重属性在 Excel 工作表中显示为字符串。

因此,我已将 Name 列定义删除为“Weight”属性,并将 Value 列和 Key 列属性保留为“Double”,但在 Excel 中,“Weight”属性仍显示为“String”。

任何人都可以帮助在 Excel 表中将此维度属性设置为“双”吗?

请参考以下截图。

提前感谢您的帮助。 巴瓦尼R

【问题讨论】:

  • 尝试创建一个新的成员属性,它是权重的属性,将其添加为报表中的显示属性。
  • 感谢 GregGalloway 的回答。使用 Weight 属性创建新成员属性后,我可以在 Excel 中将“Weight”属性视为 Double 值。您能否确认除此之外没有其他选项或属性设置以将“重量”属性视为双倍?
  • 除了我不知道其他选项的措施。好吧,我想你可以使用 CUBEVALUE 公式并让公式将字符串转换为数字
  • 感谢 GregGalloway 的回答。

标签: sql-server excel ssas


【解决方案1】:

您可以使用MemberValue 来获取权重的数值。

CREATE MEMBER your_new_member AS
your_old_member.currentmember.MemberValue 

【讨论】:

  • 你能否扩展你的答案 - 你在哪里创建这个(即,在 SSDT 中的位置)?
【解决方案2】:

扩展@GregGalloway cmets 作为答案:

为我们的示例创建一个Named CalculationWeight Numeric

然后编辑维度并在Weight NumericWeight 之间添加一个Attribute Relationship

现在,此列可作为 Excel 数据透视表中的属性使用

瞧,Excel 中的这个新列现在实际上是一个数字列。 Excel 中的格式化选项将真正格式化此列。

相关的 SO 查询: SSAS, dimension numeric value filtering

【讨论】:

    最近更新 更多