(本文档仅供参考)
问题说明:
如何统计smartbi里面的各种报表类型的数量?
解决方案:
可以通过写sql去知识库里面的t_restree表里面查询。比如查询smartbi里面所有电子表格报表的数量。
select count(*) from t_restree where c_restype='SPREADSHEET_REPORT'
其中c_restype字段代表的是资源类型,各种常见资源类型的中文对照如下(不同版本有细微不同,具体见 如何查看各个资源类型的中文名称 ):
1.可视化查询:BUSINESS_VIEW
2.SQL查询:TEXT_BUSINESS_VIEW
3.存储过程查询:PROC_BUSINESS_VIEW
4.原生SQL查询:RAWSQL_BUSINESS_VIEW
5.灵活分析:SIMPLE_REPORT
6.组合分析/即席查询:COMBINED_QUERY
7.透视分析:INSIGHT
8.仪表分析: Dashboard
9.地图分析: DashboardMap
10.电子表格:SPREADSHEET_REPORT
11.多维分析:OLAP_REPORT
12.portal页面: PAGE
13.WEB链接:URL
14.SMARTBIX_DATASET:自助数据集
15.SMARTBIX_PAGE:自助仪表盘
16.DAQ_IMPORTCONFIG:Excel导入模板
17.WEB_SPREADSHEET_REPORT WEB电子表格
一、下图为“查询smartbi里面所有电子表格报表的数量”
二、以下为“查询smartbi里面资源类型的数量”
SELECT c_restype, COUNT(*) AS "数量" FROM t_restree GROUP BY c_restype;
三、以下为“查询smartbi里面资源类型的数量”,添加上条件
SELECT c_restype, COUNT(*) AS "数量" FROM t_restree where c_restype in ("SIMPLE_REPORT","COMBINED_QUERY","INSIGHT","Dashboard","SPREADSHEET_REPORT","SMARTBIX_PAGE") GROUP BY c_restype;
t_restree 表数据字典
字段名 | 中文含义 | 说明 |
c_resid | 资源ID | 节点ID(报表节点ID) |
c_resname | 名字 | 报表名字 |
c_resalias | 别名 | 报表别名 |
c_pid | 父目录ID | 上级节点ID |
c_restype | 资源类型 | 报表资源类型(英文的) |
c_order | 节点顺序 | 报表排序 |
c_perm | 权限 | 报表定义相关的信息都存在在这个字段中 |
c_resdesc | 描述 | 描述,如果没有写,就是空 |
c_created | 创建时间 | 报表创建时间 |
c_lastmodified | 最后修改时间 | 报表最后修改保存时间 |
c_status | 状态 | status是审核状态,现在没用了。 |
c_extended | 资源节点的额外属性 | 存储特殊内容,如自定义图标,叶子节点等 |