OBIEE 逻辑表达式 - 按属性求和
Posted
技术标签:
【中文标题】OBIEE 逻辑表达式 - 按属性求和【英文标题】:OBIEE Logical Expression - Sum by attribute 【发布时间】:2017-06-01 19:49:30 【问题描述】:我正在尝试在逻辑表源表达式构建器中创建一个计算列。
在我的例子中,一个订单是由行项目组成的,每行都有一个数量。
我想根据订单上所有订单项的总数量添加一个新属性。
我想做的是这样的:
SUM(quantity) BY ORDER_ID
但是那个语法不起作用。
这是我所拥有的:
CASE WHEN SUM("FINQ".""."XXDW"."xxdw_f_orders_items"."quantity") >= 100 THEN '>=100' ELSE '<100' END
【问题讨论】:
【参考方案1】:您不需要 SUM。正如我在论坛上所说,您必须创建一个物理表达式,以便在聚合前执行计算。因此不需要 SUM,因为逻辑将逐行执行。您不想知道一揽子订单的大小,而是每个订单的大小。
如果您针对 SampleApp Lite 执行此操作,它只是 D3 订单(事实属性)中的一个新逻辑列,具有以下物理表达式
"CASE WHEN "F10 Revenue Facts (Order grain)"."Revenue" >= 100 then '>=100' else '<100' end
完成。
编辑:请关闭您的论坛帖子。其他用户也希望从中受益。
【讨论】:
我相信我确实需要一个总和,因为每个订单都由多个项目(行)组成。如果我使用您的逻辑,它将在项目级别执行分组。我希望在订单级别确定分组,该级别可以由许多行组成。 换句话说,订单和订单项目表已被非规范化为一个表。我需要按订单号求和的数量,而不是订单项的行级别 好的,如果您需要将孩子卷起来,那么您的“bin”基本上是基于级别的度量。有趣的是,您没有代表总数的物理标题。但只要所有项目都使用线性聚合就可以了。但是,标头应用折扣等将是不可能的。以上是关于OBIEE 逻辑表达式 - 按属性求和的主要内容,如果未能解决你的问题,请参考以下文章