Sql server 如何在事实表中添加非聚合列?

Sql server 如何在事实表中添加非聚合列?,sql-server,ssas,olap-cube,Sql Server,Ssas,Olap Cube,我正在开发一个SSAS多维数据集,允许用户分析一些销售情况。 因此,我创建了一个事实表来记录所有销售情况,并创建了几个维度来浏览内部数据(类别/位置和商店等) 这是事实表输出的一个示例(来自SQL Server Management Studio): 当我浏览我的多维数据集时,我可以查看所有销售,包括日期、数量等。 但是,当我添加诸如“单价”或“单位成本”之类的字段时,它会返回一个奇怪的结果,可能是由于聚合行为。 它似乎返回所有匹配行的总和(aggregateFunction属性) 如何简单地

我正在开发一个SSAS多维数据集,允许用户分析一些销售情况。 因此,我创建了一个事实表来记录所有销售情况,并创建了几个维度来浏览内部数据(类别/位置和商店等)

这是事实表输出的一个示例(来自SQL Server Management Studio):

当我浏览我的多维数据集时,我可以查看所有销售,包括日期、数量等。 但是,当我添加诸如“单价”或“单位成本”之类的字段时,它会返回一个奇怪的结果,可能是由于聚合行为。 它似乎返回所有匹配行的总和(aggregateFunction属性)


如何简单地显示销售的单价,而不对单价列应用任何计算。AttributeFunction的“无”值显示为空/空。

如果每个产品的单位成本和单位价格相同(我的意思是,对于产品_id=2,单位成本只能为77.6),您可以只使用平均值(甚至通过总和/计数模拟平均值),但只能用于轴上的产品维度! 其他维度将显示实际平均值


也许在“产品”维度中使用类似属性属性的“静态”字段更好?但是,您仍然需要添加一些逻辑,以便为所选的几个(或所有)产品成员选择一个值。

对于单位成本中的store_id=17,您希望看到什么?就我们必须选择至少要显示的内容而言:77.6或239.2?我想显示产品的成本,其中id=2不取决于其他参数。没有总额,没有计算,只有单位成本。因此,当我浏览多维数据集时,我希望立即看到每个销售行的产品单位成本/单价。在我的SSAS多维数据集中,如果我将AggregateFunction更改为None,我会看到一个奇怪的计算或null。对于产品,AVG函数是可以的,但如果我们将另一个维度放到axis,我们至少需要一些东西来显示。假设我们将卖方尺寸设置为轴0,测量值设置为轴1。因此,卖方John销售了2件产品和10件产品。另一个卖家皮特也卖了同样的东西。如果我们在任何轴上都没有产品尺寸,您需要在度量单位成本和单位价格中显示什么?如果这种情况是不可能的(并且只有产品可以在轴上),请随意使用AVG。