logo资料库

NC65企业报表浮动行取数手册.doc

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
数据源:
后台NC数据表:
编写SQL脚本步骤:
1.点击数据-指标管理找到后台对应的表和列名IUFO_MEASURE_DATA_X
2.查询这张企业报表对应的多张IUFO_MEASURE_DATA_X出所对应的IUFO_MEASPUB_
a.查询本NC系统所有IUFO_MEASPUB_X,并用union all联合查询。
b.将上述结果拼接在一起
3.查询找到IUFO_MEASURE_DATA_X对应的关键字组合。
4.查询每个关键字所对应的维度表。
5.查询出企业报表的每条记录对应的合并方案。
6.查询出指标引用的自定义档案。
7.拼接并联合查询这张所有结果集。
数据源: NC65 企业报表 带有浮动行的企业报表 后台 NC 数据表: 指标明细表:IUFO_MEASURE_DATA_X(一张企业报表可能包含多张指标明细表,具 体根据指标提取上的 fromtable 确定) 关键字明细表:IUFO_MEASPUB_X(一张企业报表可能包含多张关键字明细表,具 体根据合并方案的关键字组合以及表列引用的关键字确定) 关键字维度表: iufo_keydetail_x() 关键字组合表: iufo_key_comb (包含所有报表关键字组合) 关键字表:iufo_keyword(包含关键字和对应的关键字维度表) 合并方案:iufo_hbscheme(包含合并方案名称以及数据版本号) *带有浮动行的企业报表指标可能包含自定义档案引用,关键字引用,计算指标 等。 编写 SQL 脚本步骤: 1. 点击数据-指标管理找到后台对应的表和列名 IUFO_MEASURE_DATA_X
2. 查 询 这 张 企 业 报 表 对 应 的 多 张 IUFO_MEASURE_DATA_X 出 所 对 应 的 IUFO_MEASPUB_X。 *IUFO_MEASURE_DATA_X 与 IUFO_MEASPUB_X 中 X 部分字符串不一样。 a. 查询本 NC 系统所有 IUFO_MEASPUB_X,并用 union all 联合查询。 Select distinct 'select alone_id,'''||table_name ||''' Tablename from '||table_name ||' union all' from all_tables where table_name like 'IUFO_MEASPUB_%' and num_rows >0; 样例查询结果: b.将上述结果拼接在一起 代码格式: select Distinct 'BA_IUFO_MEASURE_DATA_X', b.tablename
alone_id,'IUFO_MEASPUB_RYYO' as tablename from from BA_IUFO_MEASURE_DATA_X a left join ( --粘贴上面一个 union all 的拼接语句,去掉最后一个 union all ) b on a.alone_id =b.alone_id where b.alone_id is not null; 样例格式: select distinct 'BA_IUFO_MEASURE_DATA_5KYM8NG3',b.tablename from BA_IUFO_MEASURE_DATA_5KYM8NG3 a left join (select IUFO_MEASPUB_RYYO@ba_dblink_gl union all select IUFO_MEASPUB_RYY8@ba_dblink_gl union all select IUFO_MEASPUB_RYY5@ba_dblink_gl union all select alone_id,'IUFO_MEASPUB_RYY4' from select IUFO_MEASPUB_0NV1@ba_dblink_gl union all select IUFO_MEASPUB_0MIE@ba_dblink_gl union all select IUFO_MEASPUB_0MIC@ba_dblink_gl union all select IUFO_MEASPUB_0MIB@ba_dblink_gl ) b on a.alone_id =b.alone_id where b.alone_id is not alone_id,'IUFO_MEASPUB_0NV1' alone_id,'IUFO_MEASPUB_0MIE' alone_id,'IUFO_MEASPUB_0MIC' alone_id,'IUFO_MEASPUB_0MIB' alone_id,'IUFO_MEASPUB_RYY8' alone_id,'IUFO_MEASPUB_RYY5' from from from from from from null; 样例查询结果: 3. 查询找到 IUFO_MEASURE_DATA_X 对应的关键字组合。 代码格式: select name from IUFO_KEY_COMB where SUBSTR(UPPER(PK_KEY_COMB),17,4)
= SUBSTR('IUFO_MEASPUB_X',14,4); 代码样例: select name from IUFO_KEY_COMB where SUBSTR(UPPER(PK_KEY_COMB),17,4) = SUBSTR('IUFO_MEASPUB_F9KL',14,4); 样例查询关键字组合结果:单位,对方单位编码,会计月,序号,被投资单位名称, 企业性质,经营状况 *UFO_MEASPUB_X 表名中 X 部分,对应 IUFO_KEY_COMB 中的 PK_KEY_COMB 后四位 字符串。 如果一张企业报表对应多张 UFO_MEASPUB_X 后台表,对应的关键字明细表也是多 张。 4. 查询每个关键字所对应的维度表。 代码格式: select name,detailtable from iufo_keyword where name in ('关键字组合'); 代码案例: select name,detailtable from iufo_keyword@ba_dblink_gl where name in ('单位','对方单位编码','会计月','序号','被投资单位名称','企业性 质','经营状况'); 样例查询关键字组合结果: 5. 查询出企业报表的每条记录对应的合并方案。 在最后脚本关联查询下 iufo_hbscheme 即可。
6. 查询出指标引用的自定义档案。 找出所有包含引用自定义档案的指标: 样例:担保方式','担保类型','反担保方式','被担保方贷款银行','是否逾期 ','是否被诉','是否按股权比例担保','内外担保' 代码格式: select b.code,b.name,a.code,a.name,a.pk_defdoc from bd_defdoc a left join bd_defdoclist b on a.pk_defdoclist = b.pk_defdoclist where b.name in (‘引用的自定义档案名称’); 样例格式: select b.code,b.name,a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl a left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = b.pk_defdoclist where b.name in ('担保方式','担保类型','反担保方式','被担保方贷款银 行','是否逾期','是否被诉','是否按股权比例担保','内外担保') *查询出结果直接关联主表就行。 7. 拼接并联合查询这张所有结果集。 代码格式: --一个 IUFO_MEASURE_DATA_X 对应一个查询 sql 脚本 select 报表指标(计算指标), 报表指标(自定义档案指标), 报表指标(关键字指标), b.ver, --合并方案版本号 (case when b.ver =0 then '个别报表' else q.name end) --合并方案 版本名称 from IUFO_MEASURE_DATA_X a left join IUFO_MEASPUB_X b on a.alone_id =b.alone_id left join iufo_keydetail_X c on b.keyword1 =c.keyval and c.dr =0 --对应多个关键字维度表 left join ( select a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl a left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = b.pk_defdoclist where b.name in ('自定义档案名称')
) f on a.my4ncy9 =f.code--对应自定义档案名称 left join iufo_hbscheme q on b.ver =q.version where a.dr =0; 样例代码: /* 报表:提供担保情况 浮动指标表:IUFO_MEASURE_DATA_5KYM8NG3 关键字指标表(包含浮动行关键字引用):IUFO_MEASPUB_F9KL 指标维度表: iufo_keydetail_unit,iufo_keydetail_6785 */ select a.m10004,--资产负债率 a.my4ncy9,--担保方式 f.name as dbfs_name,--担保方式名称 a.md527lt,--担保类型 g.name as dblx_name ,--担保类型名称 a.mchjxe6,--反担保方式 h.name as fdbfs_name,--反担保方式名称 a.m10000,--担保品评估值 a.m1ynnm9,--被担保方贷款银行 i.name as bdbfyh_name, --被担保方贷款银行名称 a.m10012,--实际担保金额 a.m10011,--本年新增担保金额 a.mec2vjk,--是否逾期 j.name as sfqy_name, --是否逾期名称 a.mx4lga4,--是否被诉 k.name as sfyq_name,--是否被诉名称 a.mwgw4d3,--是否按股权比例担保 l.name as sfgqbldb_name,--是否按股权比例担保名称 a.muwjdiz,--担保起始时间 a.mr2rvqn,--担保终止时间 a.mva6jkg,--内外担保 m.name as nwdb_name,--内外担保名称 a.mxbdg0f,--备注 --a.keyword1,--单位 PK --c.code as keyword1_name, --单位编码 c.name1 as keyword1_name,--单位名称 --keyword2,--对方单位 pk --d.code as keyword2_code,--对方单位编码 d.name1 as keyword2_name ,--对方单位名称 b.keyword3,--会计月
b.keyword4,--序号 b.keyword5,--被投资单位名称 --b.keyword6 ,--企业性质 pk --e.code as keyword6_code,--企业性质编码 e.name1 as keyword6_name,--企业性质名称 b.keyword7, --经营状况 b.ver, --合并方案版本号 (case when b.ver =0 then '个别报表' else q.name end) --合并方案 版本名称 from IUFO_MEASURE_DATA_5KYM8NG3@ba_dblink_gl a left b join =b.alone_id left join iufo_keydetail_unit@ba_dblink_gl c =c.keyval and c.dr =0--单位 left join iufo_keydetail_unit@ba_dblink_gl d =d.keyval and d.dr =0--对方单位编码 left join iufo_keydetail_6785@ba_dblink_gl e =e.keyval --企业性质 left join ( IUFO_MEASPUB_F9KL@ba_dblink_gl on b.keyword1 on a.alone_id on b.keyword2 on b.keyword2 select a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = b.pk_defdoclist where b.name in ('担保方式') ) f on a.my4ncy9 =f.code--担保方式 left join ( b.pk_defdoclist where b.name in ('担保类型') ) g on a.md527lt =g.code--担保类型 left join ( a a a select a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = select a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = b.pk_defdoclist where b.name in ('反担保方式') ) h on a.mchjxe6 =h.code--反担保方式 left join (
select a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = b.pk_defdoclist where b.name in ('被担保方贷款银行') ) i on a.m1ynnm9 =i.code--被担保方贷款银行 left join ( select a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = a a a a a b.pk_defdoclist where b.name in ('是否逾期') ) j on a.mec2vjk =j.code--是否逾期 left join ( b.pk_defdoclist where b.name in ('是否被诉') ) k on a.mx4lga4 =k.code--是否被诉 left join ( select a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = select a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = b.pk_defdoclist where b.name in ('是否按股权比例担保') ) l on a.mwgw4d3 =l.code--是否按股权比例担保 left join ( select a.code,a.name,a.pk_defdoc from bd_defdoc@ba_dblink_gl left join bd_defdoclist@ba_dblink_gl b on a.pk_defdoclist = b.pk_defdoclist where b.name in ('内外担保') ) m on a.mva6jkg =m.code--内外担保 left join iufo_hbscheme@ba_dblink_gl q on b.ver =q.version where a.dr =0; --合计行指标 select mvk1t2x,--合计担保品评估值 mkx6dh4,--合计实际担保金额
分享到:
收藏