如何在obiee仪表板中实现以下目标

时间:2013-09-26 19:26:54

标签: sql analysis dashboard unpivot obiee

我有一张如下表:

id name role1 role2 role3
-------------------------
1  John   y    n      y
2  Pete   n    y      y
3  Den    n    y      y
4  Mat    y    n      n

使用role1='Y'过滤表后,我丢失了Pete和Den。

如何使用分析构建如下表格:

       Count (Y)
Role1    3
Role2    2
Role3    3

我尝试了一切。请帮忙

由于

1 个答案:

答案 0 :(得分:1)

如果您的数据库是Oracle 11g或更高版本,则可以使用unpivot子句

SELECT usr_role,
  COUNT(*) role_count
FROM
  (SELECT  * 
     FROM table_name 
     UNPIVOT (hasRole FOR usr_role IN (role1,role2,role3))
  WHERE hasRole = 'y'
  )
GROUP BY usr_role ;

返回:

USR_ROLE  ROLE_COUNT
ROLE3      3
ROLE1      2
ROLE2      2

您可以将此查询用作RPD中的不透明视图