我有一个带有表格可视化功能的 Cognos Dashboard, 我的数据库结构将类似于此图像。我想通过使用 distinct value 来显示像这张图片这样的数据。但我得到的是像这张图片一样的所有值的总和。
2 回答
您的表格有 3 列,每列代表一个详细程度,加上您的价格列。详细程度从最高到最低抽象级别依次为Name、code和SLNO。
表中有 3 条记录。一条记录是 A.A1.1,价格值为 10。第二条记录是 A.A1.2,价格也为 10。第三条记录是 A.A2.3,价格值为 20。价格可能被设置为总量的衡量标准。
您的报告使用名称和价格。由于已建模,您会得到 4 条记录的总和为 40。
你不认为这是正确的,但你需要理解,因为它已经被建模,它是正确的。
随后,鉴于您说这不是情况的性质,您需要了解所讨论对象的性质并因此武装,然后定义这种性质,这将使我们能够确定如何建模它。
为什么您希望 A 的价格值为 30?什么业务规则决定了这一点?价格的本质是什么?为什么不应该汇总 SLNO 1 和 SLNO 2 的值?价格谷物是代码而不是 SLNO 的事实吗?
价格是属性还是度量?如果没有更多信息,我会说它是前者而不是后者,因为通常价格一词与分配给对象的固定(至少在时间范围内但可能在较长时间范围内可变)值相关联。
(您可以在度量中使用属性,例如您可以使用价格 * 数量来确定销售收入)
假设价格的事实颗粒是代码而不是 SLNO,那么您应该考虑在代码组中使用价格建模一个适当的列依赖链 Name--->Code--->SLNO。您还需要考虑键的性质。
鉴于不确定性,这是暂定的。
尝试添加一个行列式来控制数据的分组方式
在示例中,按名称和代码
您可以使用以下表达式在报告中对此进行测试
Total([price] for [name],[code])
然后对 Framework Manager 模型进行适当的更改