本文介绍了如何在肥胖仪表板中实现以下目标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个如下表:
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.
After I filter the table by using role1='Y'
, I lost Pete and Den.
我如何使用分析来构建如下表:
How can I use the analysis to build a table like below:
Count (Y)
Role1 3
Role2 2
Role3 3
我尝试了一切.请帮助
谢谢
推荐答案
如果您的数据库是Oracle 11g或更高版本,则可以使用unpivot子句
If your database is Oracle 11g or later you can use the unpivot clause
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中的不透明视图
You could use this query as an opaque view in the RPD
这篇关于如何在肥胖仪表板中实现以下目标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!