----补充同期的三种算法
--总评得分同期
create or replace view bi_pm_nw_sw_dqdfqk_fyn_zpdf_tq as
select
to_char(nd) nd,
to_char(jd) jd,
sq,
ddmc,
zpdf,
first_value(zpdf) over(partition by ddmc order by to_date(nd || '-' || jd, 'yyyy-mm') range between NUMTOYMINTERVAL(1, 'year') PRECEDING and NUMTOYMINTERVAL(1, 'year') PRECEDING) zpdf_tq
from PM_NW_SW_DQDFQK where sq<>'云南'
union all
select --这里只针对所有区域单位的最大季度补充
to_char(nd+1) nd,
to_char(jd) jd,
sq,
ddmc,
null zpdf,
zpdf zpdf_tq
from PM_NW_SW_DQDFQK
where sq<>'云南' and nd = to_char(sysdate - NUMTOYMINTERVAL(1, 'year'), 'yyyy')
and jd>(select max(jd) from PM_NW_SW_DQDFQK where sq<>'云南' and nd=to_char(sysdate, 'yyyy'));
--总评分同期第二种算法 可以补充所有的同期数据 但是数据多时速度会慢 推荐用法
create or replace view bi_pm_nw_sw_dqdfqk_fyn_zpdf_tq as
select to_char(nd) nd,
to_char(jd) jd,
sq,
ddmc,
zpdf,
first_value(zpdf) over(partition by ddmc order by to_date(nd || '-' || jd, 'yyyy-mm') range between NUMTOYMINTERVAL(1, 'year') PRECEDING and NUMTOYMINTERVAL(1, 'year') PRECEDING) zpdf_tq
from PM_NW_SW_DQDFQK
where sq <> '云南'
union all
select *
from (select to_char(nd + 1) nd,
to_char(jd) jd,
sq,
ddmc,
null zpdf,
zpdf zpdf_tq
from PM_NW_SW_DQDFQK
where sq <> '云南')
where (nd, jd, sq, ddmc) not in
(select nd, jd, sq, ddmc from PM_NW_SW_DQDFQK where sq <> '云南')
and to_number(nd) <= to_number(to_char(sysdate, 'yyyy'));
--总评分同期第三种算法 可以补充所有的同期数据 但是数据多时速度会慢很多
create or replace view bi_pm_nw_sw_dqdfqk_fyn_zpdf_tq as
select nd, jd, sq, ddmc, zpdf, zpdf_tq
from (select decode(a.nd, null, b.nd, a.nd) nd,
decode(a.jd, null, b.jd, a.jd) jd,
decode(a.sq, null, b.sq, a.sq) sq,
decode(a.ddmc, null, b.ddmc, a.ddmc) ddmc,
a.zpdf,
b.zpdf_tq
from (select --当前数据
to_char(nd) nd, to_char(jd) jd, sq, ddmc, zpdf
from PM_NW_SW_DQDFQK
where sq <> '云南') a
full outer join (select --上年数据
to_char(nd + 1) nd,
to_char(jd) jd,
sq,
ddmc,
zpdf zpdf_tq
from PM_NW_SW_DQDFQK
where sq <> '云南') b
on a.nd = b.nd
and a.jd = b.jd
and a.sq = b.sq
and a.ddmc = b.ddmc
order by nd, jd)
where to_number(nd) <= to_number(to_char(sysdate, 'yyyy'));
分享到:
相关推荐
"SYBASE iq与ORACLE使用分析函数计算同期值及常用计算函数使用" 本资源摘要信息主要介绍了SYBASE iq和ORACLE中使用分析函数计算同期值和常用计算函数的使用方法。文章涵盖了同期值的计算、累计及同期累计值的计算、...
ORACLE补充了ORACLE常用的表空间,系统表等方便管理和操作
"Oracle 19C安装的补充包 oracle-database-preinstall" 是为了简化Oracle 19C数据库安装过程而设计的一个预安装包,包含了安装过程中可能需要的一些关键依赖项。这个预安装包的主要目的是确保在离线环境下也能顺利...
根据提供的信息来看,这段内容似乎并不包含明确的Oracle数据库或者相关技术的具体信息,而是涉及了一些日常生活中的场景描述,包括对医疗场景的一些叙述等。不过,既然任务要求是围绕Oracle进行知识点的生成,那么...
Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer 不用安装Oracle客户端也可以使用PLSQL Developer 绿色! 安全! 轻便! 可靠! 1、本软件可作为简单的Oracle9i客户端...
首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...
oracle jdbc 驱动,支持oracle 19c
cx_Oracle是Python数据库API规范的实现,用于访问Oracle数据库。目前,该模块经过对Oracle客户端版本11.2、12.1和12.2以及Python版本2.7、3.4、3.5和3.6的测试。cx_Oracle遵循开源的BSD许可证,这表示用户可以自由地...
Oracle JDBC驱动包是Oracle数据库与Java应用程序之间进行通信的关键组件,它使得Java程序员能够通过编写Java代码来操作Oracle数据库。标题中的"ojdbc6"指的是Oracle JDBC驱动的一个特定版本,适用于Java SE 6环境。...
Oracle Client是Oracle公司提供的数据库连接工具,用于与Oracle数据库服务器进行通信。19C是Oracle Database的一个版本,代表第19个主要版本。这个压缩包包含的Oracle Client适用于Windows和Linux操作系统,使得...
Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...
cx_Oracle是Python编程语言中用于连接Oracle数据库的一个模块。该模块遵循Python数据库API规范,并且适用于Oracle 11.2和12.1版本,同时兼容Python 2.x和3.x版本。cx_Oracle模块通过使用Oracle客户端库来实现与...
oci.dll是Oracle Call Interface的缩写,它是Oracle数据库的一个核心组件,允许开发者使用各种编程语言与Oracle数据库进行交互。在Oracle 10G和11G版本中,oci.dll扮演了至关重要的角色,为应用程序提供了访问数据库...
Veeam 备份恢复 Oracle 数据库详细配置文档 本文档旨在详细介绍如何使用 Veeam 备份恢复 Oracle 数据库的配置过程。该文档将指导读者从环境准备到推送 Oracle RMAN Plugin,再到创建备份作业和运行备份作业,最后...
首先,连接Oracle数据库通常需要Oracle客户端软件,但这里提到的“Sqldbx连接oracle,不用安装client”,意味着SqlDbx可能通过一种无需完整Oracle客户端的方式来实现连接。这种连接方式通常依赖于Oracle的Instant ...
oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具...
Oracle客户端免安装版,也被称为Oracle Instant Client,是Oracle公司提供的一种轻量级的数据库连接工具,无需完整的Oracle数据库服务器安装即可使用。它主要用于在不安装完整客户端的情况下,实现应用程序与Oracle...
sap oracle sap oracle sap oracle
Oracle Instant Client 11.2.0.1.0是轻量级Oracle客户端,用于连接访问Oracle 9i、10g、11g 11.2.0.1.0版本的Oracle数据库。 Oracle Instant Client11.2.0.1.0 安装程序包含OCI/ OCCI、JDBC-OCI SDK(软件开发工具...
python-oracledb的源码和使用示例代码, python-oracledb 1.0,适用于Python versions 3.6 through 3.10. Oracle Database; This directory contains samples for python-oracledb. 1. The schemas and SQL ...