0

我需要一些关于在 Cognos Framework Manager 8.4 中建模的帮助。给定以下架构

替代文字

在哪里

  • F_sales.order_key 引用 D_order.sid
  • D_orderItems.orderID 引用 D_order.OrderID
  • D_productAttributes.OrderItemID 引用 D_orderItems.orderItemsID

通过 Cognos Report Studio 创建报告时,我无法过滤具有 orderItems 的订单,这些订单项具有 attributeKey,例如“shippingType”和 attributeValue“Standard”或“Express”或其他。

我想问题是准 m:n 关系。在实践中,这应该不是问题。所以我认为一个解决方案是在框架管理器中创建一个常规维度,其层次结构类似于“一个订单可以包含多个订单项,每个订单项有多个属性键和值”

这是解决方案吗?我该怎么做?有人可以指导我吗?

或者是否可以,但我在 Report Studio 中遗漏了一些东西?在我的测试中,我刚刚创建了一个列表,其中包含来自事实表的事实和来自 D_order 的 orderID。过滤其他所有内容都可以正常工作,但过滤例如 D_productAttributes.attributeValue = 'Express' 时没有效果

提前致谢。

4

1 回答 1

1

问题解决了。答案不是常规维度和层次结构。当我将关系保持原样并创建模型查询主题时,它会起作用。不需要决定因素。我为 orderItems 创建了一个模型查询主题

  • D_order.sid
  • D_order.orderID
  • D_orderItems.orderItemsID
  • ...(我从 D_orderItems 需要的一切)

D_productAttributes 相同,但具有

  • D_order.sid
  • D_order.orderID
  • D_orderItems.orderItemsID
  • D_productAttributes.attributeKey
  • D_productAttributes.attributeValue

然后我通过 sid 将两个模型查询主题加入到我的事实表中。在创建用于构建报表的包时,我将 D_orderItems 和 D_productAttributes 完全排除在外,因此它们在报表工作室中不可见。奇迹般有效。

于 2010-12-28T09:17:40.090 回答