在TM1中向现有多维数据集添加维度

时间:2016-07-26 10:10:20

标签: cognos-tm1

TI流程有两个部分让我感到困惑。

  1. 此过程涉嫌为多维数据集创建新维度(使用某些元素的属性)而不使用数据源。但我只能看到它创建了维度名称,并立即向此维度添加元素。这怎么可能,除非有人已经创建了这个名称的维度,这是不太可能的? (以下截图)
  2. Creating dimension without data source

    1. 此过程也被称为将这些新创建的维度添加到现有多维数据集中。怎么能这样呢?该多维数据集中的现有数据如何适应新维度?

1 个答案:

答案 0 :(得分:0)

  

此过程涉嫌为多维数据集创建新维度

不,它没有,也没有声称。代码中的注释并未提及有关创建 维度 的任何内容,它表示创建维度名称 。也就是说,它只是计算维度名称应该在DimensionElementInsert函数中使用的内容。该属性提供 已存在的维度的基本名称。 (虽然它是一种信仰文章,因为DimensionExists的功能在任何时候都没有被调用。当然,鉴于TI完全没有错误处理,你可以做的事情不多关于它,即使它不存在。)你突出显示的代码部分不会尝试创建维度 - 这里没有调用DimensionCreate函数 - 它只是逐字符地解析属性值,用下划线替换任何空格(在前面粘贴 rp _ 之后)以获得正确的尺寸名称。

另一个属性定义维度中的顶部元素应该是什么。如果该元素不存在,则突出显示的代码会创建它。

Nick McDermaid的评论是正确的;您无法向现有多维数据集添加维度。您可以导出数据,销毁多维数据集,构建具有相同名称但具有额外维度的新多维数据集,并将旧数据导入其中,但这是不同的。导入过程需要有一些代码来选择在编写数据时要使用的新维度的相应元素。

  

并不是为什么他们将新元素添加到度量维度而是需要为多维数据集添加更多维度

测量尺寸在TM1中不存在。多维数据集的维度可以标记为"度量"与可能需要的系统进行通信的维度,但它们在TM1本身内没有影响。为方便起见,立方体的最后一个维度通常被称为"度量维度"但除了作为识别包含存储在多维数据集中的度量标准的维度的方便名称之外,它没有任何意义。

更重要的是,尺寸是尺寸,元素是元素。向维度添加元素时,不会更改多维数据集的维度。 (你可能(也可能会)改变稀疏性,但这是一个完全不同的概念。)唯一的方法就是在立方体上添加新的尺寸,如上所述,你可以这样做。实际上;你正在破坏旧的立方体并用一个新的立方体替换它,它恰好具有相同的名称和不同的维数。鉴于这样做会废弃为立方体编写的每一片,活动形式,视图等,但实际上并不是或应该经常这样做。