【问题标题】:Report that only displays employees directly reporting to the manager running the report仅显示直接向运行报告的经理报告的员工的报告
【发布时间】:2019-04-23 10:32:36
【问题描述】:

您好,我正在运行 Obi 11g,并且正在为经理创建仪表板,但我很难找到一种方法来为仪表板创建报告,该报告仅显示直接向运行仪表板/报告的经理报告的员工.

我做了一些研究,我猜这将通过会话变量来完成?但我不确定如何。如果有一种方法可以提取执行用户的用户名,我可以说employee.username = session.username,然后相应地运行查询,但是有没有办法呢? 任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: sql oracle oracle11g datamodel


    【解决方案1】:

    这是甲骨文。它提供了一个名为USER 的函数,它返回...嗯,当前用户。因此,您的查询可能会将其用作

    where employee.username = user
    

    【讨论】:

    • 无论我登录谁,用户都会返回值“FUSION_RUNTIME”。
    • 用户变量将返回模式名称。因此,无论谁登录,它都会返回值“FUSION_RUNTIME”。因为每个人都使用相同的架构。
    • 我明白了;抱歉,我希望它会有所帮助。
    【解决方案2】:

    由于这可能是 Oracle 产品 但不是 Oracle 数据库 查询,因此您将需要更多特定于 OBI 的内容:

    VALUEOF(NQ_SESSION.USER)

    【讨论】:

    • 无论如何你可以给我看一个示例查询吗?我得到了一个无效的表名。
    • 不确定你的意思或你的问题是什么,因为你不是很精确。我所描述的是近 20 年来一直以这种形式存在的标准功能。
    • 我认为更多是因为。我完全误解了我想说的话,或者我的研究可能完全错误,并且通过人们对我的问题的看法。我正在为数据模型的数据集中编写 SQL 查询。我想提取运行使用此数据模型的报告的任何人的当前用户名。我已经尝试过用户 sys_context('USERENV','CURRENT_USER') 我也尝试过 SESSION_USER 并且它都返回了 fusion 或 fusion_runtime
    • “我正在为数据模型的数据集中编写 SQL 查询。”那是 BI Publisher,而不是 OBIEE。虽然 BIP 可以集成,但它仍然是一种完全不同的技术。
    • 啊,我明白了。很抱歉,我仍然刚开始在 Oracle 中工作,有人错误地(显然)告诉我我在 OBIEE。这实际上也解释了我的搜索遇到的很多麻烦。感谢您的澄清。那我把 obiee 标签去掉。
    【解决方案3】:

    我找到了我要找的东西

    SELECT fnd_global.user_name FROM DUAL

    这会发布用户名而不是架构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多