如何基于两个相反的布尔值创建变量 - Business Objects Web Intelligence

How to create a variable based on two opposing Booleans - business objects web intelligence

我在 business objects web intelligence 中有一个交叉 table,它在行中有客户 ID,在列中有项目,在正文中有数量。我正在尝试创建一个变量(维度?)来标记客户是否购买了一件特定商品以及任何其他商品。因此,例如,如果设置的商品是 'item1',那么该标志将显示客户是否购买了该商品,以及他们是否购买了至少一件其他商品,该商品可能是另外 100 件左右的商品中的任何一件。我正在尝试编写类似于查看两个布尔值在同一语句中返回相反结果的内容。

if([item]="item1" And [quantity]>0;"Y";"")

并将它与类似的东西结合起来:

if([item]<>"item1" And [quantity]>0;"Y";"")

目前我只能让一个或另一个工作,然后我似乎无法创建任何进一步的变量来组合它们,因为我以“Y”结束所有行,这是不正确的。这就是 table 的处理方式(Excel 中的模型):

然后我希望能够根据标志结果变量进行过滤。谁能告诉我如何解决这个问题?

你真的很亲密。我用 where 子句定义了计数(或数量)变量。我创建了 Var Select Item Count 作为...

=[quantity] Where ([item] = [your selected item])

并且 Var 其他项目计数 为...

=[quantity] Where ([item] <> [your selected item])

最后,将您的 FLAG 变量定义为...

=If([Var Select Item Count] > 0 And [Var Other Items Count] > 0; "Y")

然后您可以过滤您的 FLAG 变量。

当然,您可以将前两个变量的代码嵌入到最后一个变量中。但是,我喜欢创建我的变量,以便它们相互构建以便于理解和维护。

这是我的示例,“173”是所选项目。