obiee12c 仪表板提示在分析过滤器之前运行
Posted
技术标签:
【中文标题】obiee12c 仪表板提示在分析过滤器之前运行【英文标题】:obiee12c dashboard prompts running before analysis filters 【发布时间】:2020-10-14 16:53:15 【问题描述】:我有一个使用过滤器来限制结果的分析。 我将此分析与仪表板提示一起放入仪表板中。 仪表板提示由各种列组成,所有列都是“选择列表”类型,并且都具有“限制值”=“所有提示”选项。 但是,这并没有像我预期的那样工作。我认为出现在选择列表中的值应该受到分析中应用的过滤器的限制,但似乎仪表板提示在应用分析过滤器之前首先显示了所有可能的值。 这是正确的吗? 如果这是它的工作方式,我面临的问题是提示列的选择列表中出现的某些值将导致分析中没有数据。
感谢您的帮助!
【问题讨论】:
【参考方案1】:“我认为出现在选择列表中的值应该受到分析中应用的过滤器的限制”
恰恰相反。提示将它们选择的值发送到分析中的过滤器,从而切断数据流。
提示检索选择值而某种观点没有检索到数据是正常的。换一种方式是没有意义的。想象一下,您销售了 5 种产品,其中一种在 8 月份根本没有销售。是否要从月份提示中删除 August?
您提到的提示的相互依赖性是例如 - 将区域限制为仅选定国家/地区的区域。将客户限制为仅选定业务部门的客户等。
您编写和期望的是提示应该检查有效数据(事实)并仅检索数据(事实)存在的值。如上所述,在分析环境中这不是最合乎逻辑的事情,因为观点的一个变化可能意味着数据“存在”或“不存在”——然后你改变观点,情况就会改变。你想要那个。您不想硬编码观点,随着时间的推移或当其他人查看数据(个性化数据安全)时,他们会得到不同的结果。
不要硬编码太多。不要人为地限制系统。
更新:https://imgur.com/BxGnbbB 这是您可以限制提示的位置的屏幕截图
【讨论】:
谢谢克里斯!但想象一下,在我销售的 5 种产品中,我在分析中有一个过滤器,只考虑上半年销售的产品。当我在仪表板中运行此分析时,我希望仅显示一月至六月的月份提示,因为如果用户有可能选择八月,这将给出 NO DATA,这会让用户感到困惑。我用 Oracle Discoverer 工作了很多年,它就是这样工作的。提供一个没有可用数据的选择有什么意义?用户必须猜测哪个选项他会得到结果? 当然,您始终可以强制过滤器检查您的事实表。一旦你选择了一个产品,然后进一步限制了一个不相关的维度,比如地理,那么限制就会忽略事实,只检索真正包含数据的内容。是的,Disco 的工作方式不同,但 OBI 将分析和提示作为绝对独立和可重用的对象。想想成年人的乐高。以您想要的任何方式将它们连接在一起。如果你强迫你的提示与一个特定的分析和数据集相关联,它就无法用于任何其他用途。这意味着更多的一次性 目录中需要管理和维护的一次性对象。现在想象一下源中发生了变化,您需要调整基于此的所有对象。更改 5 个对象可重复使用的对象?还是换500个一次性的? 为没有数据的地方提供选择......嗯......你怎么知道?您只能知道您是否将数据集限制并缩减为几乎是静态的、不变的事物。明天怎么样?如果有新产品怎么办?如果您将产品重新分配给不同的销售代表并且他们应用了个人数据可见性怎么办?如果将其他数据添加到模型中怎么办? 非常感谢您的帮助。你说得对,我想我需要习惯一种新的思维方式。但是,我将尝试使用不同的示例:假设列提示不包含 Months(实际上只有 12 个不同的值),而是包含 Service name 或任何其他具有许多不同值的列。当用户需要从提示的选择列表中选择一个值时,这将是一个反复试验的过程,直到他选择了一个显示了一些数据的服务。以上是关于obiee12c 仪表板提示在分析过滤器之前运行的主要内容,如果未能解决你的问题,请参考以下文章