问题描述
HI,
我刚开始服从并且遇到一个问题,其中我有三个表
- TABLE Employee (雇员表,其中包含历史记录和当前记录 数据)
╔════════════════╦══════════════════╗
║ Employee_Email ║ Current_Employee ║
╠════════════════╬══════════════════╣
║ user1 ║ Y ║
║ User2 ║ Y ║
║ User3 ║ N ║
║ User4 ║ Y ║
║ User5 ║ Y ║
╚════════════════╩══════════════════╝
- 表用法(其中包含历史和当前下载数据)
╔════════════════╦════════════╗
║ employee_email ║ Product_ID ║
╠════════════════╬════════════╣
║ User1 ║ Prod1 ║
║ User1 ║ Prod2 ║
║ User1 ║ Prod3 ║
║ User2 ║ Prod1 ║
║ User3 ║ Prod2 ║
║ User3 ║ Prod5 ║
║ User5 ║ Prod2 ║
║ User5 ║ Prod4 ║
║ User5 ║ Prod1 ║
╚════════════════╩════════════╝
- 表产品(包含历史和当前产品数据)
╔════════════╦══════════════╗
║ Product_Id ║ Product_Name ║
╠════════════╬══════════════╣
║ Prod1 ║ product1 ║
║ Prod2 ║ product2 ║
║ Prod3 ║ product3 ║
║ Prod4 ║ product4 ║
║ Prod5 ║ product5 ║
╚════════════╩══════════════╝
要实现逻辑
select count(usg.employee),count(emp.email_email)
from
usage usg
right join product prd on prd.product_id = usg.product_id
right join employee emp on upper(emp.email_email) = upper(usg.employee)
where
emp.CURRENT_FLAG = 'Current Employee';
这里的预期结果是
╔═════════════════════╦════════════════════════╗
║ count(usg.employee) ║ count(emp.email_email) ║
╠═════════════════════╬════════════════════════╣
║ 4 ║ 5 ║
╚═════════════════════╩════════════════════════╝
上面的SQL给出了4和4。我可以通过在plsql中使用内联或子查询来实现此目的,但是不确定如何在OBIEE RPD中实现内联或子查询。
我创建了一个简单的星形模式,其中Table2是事实表,而table1和table2是维。当我将这种模型引入OBIEE时,我从表2中获得了两列的结果 4 。不确定我是否使用了错误的联接?
请帮助
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)