我是 SSAS 新手,在向现有度量值组添加新分区时遇到了问题。
我已向数据源视图添加了一个新表,并希望将其作为新分区添加到我现有的度量值组中。当我尝试添加新分区时,这个新添加的 DSV 表不在可用表列表中。我是否错过了 DSV 级别的任何关系创建。请帮忙。
SSAS 期望任何单个度量值组从单个表或视图中获取其所有数据。因此,如果您有一个已经从表 A 获取数据的现有度量值组,则 SSAS 只会为该度量值组下的任何其他分区提供表 A。
您可以尝试使用特定查询作为新分区的源,并且您应该能够将所需的任何表放入查询中。忽略列出可用表的部分,只需在查询中输入表名即可。确保度量值组中的所有分区以完全相同的顺序具有完全相同的列。这是绝对必要的,并且可能是 SSAS 希望您为每个度量值组使用一个表的原因。即便如此,我不确定这是否可行,因为当您查看度量的属性时,一个属性是由 TableName+ColumnName 组成的“Source”。
但是您可能想问,为同一度量值组中的两个分区使用单独的逻辑表是否有意义。能否更好地将它们分成两个测量组?如果没有,您能否将两个表合并到一个视图中并将该视图用于度量值组?如果 Query 建议不起作用,这可能是您必须做的。
我遇到了同样的问题,帮助我的是检查两个来源的每个字段是否存在字段类型和长度的差异。
一旦我修复了这些差异,我的第二个表也可以在分区创建者中看到。
在第二个源表中,我向新表中添加了与原始表相比缺失的附加字段。但是默认值0
或''
值有不同的类型。所以我使用该CAST
功能来执行此操作,例如。
CAST(0 as smallint) as newNumber
,CAST('' as nvarchar(20) as newString