【问题标题】:BO Webi - Need Variable to Remove Nulls From ResultsBO Webi - 需要变量来从结果中删除空值
【发布时间】:2022-09-23 03:24:23
【问题描述】:

我正在寻找一个变量,该变量将采用维度的数值。我尝试在查询详细信息中删除 Null,但这不起作用,因为某些结果只有 Null 值(请参见屏幕截图),并且我以这种方式丢失了结果。

我还需要在交叉表中使用该变量,这样我就可以计算每个敏锐度级别。我尝试在 acuity 字段上创建一个 Max 变量=Max([敏锐度]).这适用于主选项卡,但不适用于交叉表。有关详细信息,请参阅随附的屏幕截图。

  • 我不太明白你想要什么。你能在 Excel 中模拟你的预期结果吗?
  • 我正在寻找删除其中包含 Null 的额外行。有一些只有 Null 值,所以我无法删除所有 Null。我附上了一张我想要得到的结果的图片。

标签: business-objects


【解决方案1】:

首先,我使用您的测试数据创建了一个query,这样我就可以进入一个徒手的 SQL 查询,这样我就有了一个可以使用的示例。我添加了行号维护数据的行顺序。

我的方法需要三个变量。一种不同的方法可能需要更少的变量,或者可以合并变量中的公式。但是,我喜欢将它们分开,以便更好地理解逻辑进程和更好的可维护性。

Var 视力水平调整如果敏锐度是 Null ,否则就让它更容易处理......

=If(IsNull([Acuity Level]); -1; [Acuity Level])

Var Max 敏锐度等级是最大的价值Var 视力水平调整在每个组合内患者姓名和遭遇类型.这称为calculation context。我不太了解这个主题的细微差别,无法解释为什么我下面的内容有效,但确实如此。我经常参考以前的链接。另外,这就是为什么我选择 -1 来替换 Null 很重要的原因。

=Max([Var Acuity Level Adjusted]) In ([Patient Name]; [Encounter Type])

Var Max 滤波器标记前两个变量相等的行。此变量是必需的,因为您不能基于一个对象相对于另一个对象进行过滤。

=If([Var Acuity Level Adjusted] = [Var Max Acuity Level]; 1; 0)

现在,如果我添加这些变量,它看起来像这样......

然后我们可以添加一个过滤器来只显示记录Var Max 过滤器 = 1.您可以隐藏额外的列,甚至将它们从表中删除。

希望您可以将此应用于您的情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多