【问题标题】:SSAS Named Query Key ColumnSSAS 命名查询键列
【发布时间】:2014-07-09 14:05:25
【问题描述】:

我对 SSAS 相当陌生,我试图找出这个问题的答案,但没有运气。

我有一个数据源视图,其中包含多个表并定义了它们的关系。但是,我想返回给我的应用程序的是来自多个表的值,并对它们进行了一些处理。例如 GeneralLedger 表有 FacilityCodeId 而 FacilityCode 表有 FaciltyCode 和 FacilityName 值。我想返回 GeneralLedger 金额,但我计划返回的不仅仅是 FacilityCode 'FacilityCode - FacilityName'

据我了解,处理此问题的最佳途径是创建命名查询。我已经使用我想要的所有值创建了查询,我将在这个命名查询上创建一个新维度,但我不确定我为我的键列选择了什么。

如果我走错方向,任何帮助或建议将不胜感激。

【问题讨论】:

  • 他们的键列应该是唯一键,业务键。如果您知道您的 FacilityCode - FacilityName 将是唯一的,您可以使用它。但是,在命名查询中,您需要将 FacilityCode - FacilityName 分别定义为 Key、FacilityCode、FacilityName。
  • 如何处理需要复合键?单独的所有值可能会重复,但相同的五个字段不应重复。

标签: sql ssas named-query


【解决方案1】:

定义一个命名查询,如下所示;

选择 [col1] + [col2] 作为 [键] ,[col1] ,[col2] 来自 [db].[table1]

并选择 [key] 作为业务密钥。这假设 col1 和 col2 的组合是唯一的。

【讨论】:

  • 其实我好像有问题,因为一个复合键是整数,另一个是字符。所以它在将 'O' 转换为 int 时会引发错误。
  • cast([col1] as varchar(50)) - 在这种情况下 [col1] 是一个整数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多