在这里,针对“ReportStudio入门教程(五十二) - 目标值(按层级取数)”,这张报表,讲下FM建模的方法
我们继续使用上一次的FM
1. 新建目标值表 dm_deptserquality_assess
季度ID,行政组织ID,目标值
对于目标值,每个层级的部门都有单独的目标值
[sql] view plaincopy
- drop table if exists dm_deptserquality_assess;
- create table dm_deptserquality_assess(
- quarter_id bigint,
- dept_dmid bigint,
-
- service_check_score numeric(28,4)
- );
插入一些数据:
[sql] view plaincopy
- with tm_a as (
- select distinct quarter_id from dm_calendar where year_id in (2012,2013) order by quarter_id
- ),
- tm_b as (
- select distinct dept_dmid from dm_dept_org order by dept_dmid
- )
-
- insert into dm_deptserquality_assess(
- quarter_id,
- dept_dmid,
-
- service_check_score
- )
- select
- tm_a.quarter_id,
- tm_b.dept_dmid,
-
- random()*100
- from
- tm_a , tm_b;
2. 数据库视图:引入目标指值表
右键,选择,运行元数据向导:
选择数据源:
3. 数据库视图:改造目标值表
这里的话,我们需要对目标值表进行改造,因为我们要按层级取数据,所以我们要让目标值表和层级有点关系
双击打开目标值表,编辑SQL:
[sql] view plaincopy
- Select
- dm_deptserquality_assess.quarter_id ,
- dm_deptserquality_assess.dept_dmid ,
- dm_deptserquality_assess.service_check_score,
- o.level
- From
- dm_deptserquality_assess dm_deptserquality_assess
- join dm_dept_org o on o.dept_dmid = dm_deptserquality_assess.dept_dmid
验证之后,确认即可。
4. 数据库视图:修改字段用途
刚引入,默认是这样的,我们要把ID都修改为“标识符”
5. 数据库视图:设置关联关系
到了这里,我们就需要考虑一下这个LEVEL了,她其实也是一个维度,
在这里,我们需要构造一个组织层级维度:
[sql] view plaincopy
- Select
- level as level_id,
- level as level_name
- from
- dm_dept_org
- group by level
然后设置上关联关系:
数据库视图,我们先讲到这里,我们下回接着说......
添加新评论0 条评论