如何解决在RPD中建立正确的STAR模型
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 举报,一经查实,本站将立刻删除。