`
werwolf
  • 浏览: 94242 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle 补充同期

阅读更多

----补充同期的三种算法
--总评得分同期
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使用分析函数计算同期值及常用计算函数使用" 本资源摘要信息主要介绍了SYBASE iq和ORACLE中使用分析函数计算同期值和常用计算函数的使用方法。文章涵盖了同期值的计算、累计及同期累计值的计算、...

    ORACLE补充

    ORACLE补充了ORACLE常用的表空间,系统表等方便管理和操作

    Oracle 19C安装的补充包 oracle-database-preinstall

    "Oracle 19C安装的补充包 oracle-database-preinstall" 是为了简化Oracle 19C数据库安装过程而设计的一个预安装包,包含了安装过程中可能需要的一些关键依赖项。这个预安装包的主要目的是确保在离线环境下也能顺利...

    oracle补充oracle补充

    根据提供的信息来看,这段内容似乎并不包含明确的Oracle数据库或者相关技术的具体信息,而是涉及了一些日常生活中的场景描述,包括对医疗场景的一些叙述等。不过,既然任务要求是围绕Oracle进行知识点的生成,那么...

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer)

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer 不用安装Oracle客户端也可以使用PLSQL Developer 绿色! 安全! 轻便! 可靠! 1、本软件可作为简单的Oracle9i客户端...

    oracle jdbc 驱动,支持oracle 19c

    oracle jdbc 驱动,支持oracle 19c

    基于C#连接Oracle数据库Oracle.ManagedDataAccess

    首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...

    Python连接oracle工具cx_Oracle官方文档

    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.driver.oracledriver Oracle JDBC驱动包 ojdbc6

    Oracle JDBC驱动包是Oracle数据库与Java应用程序之间进行通信的关键组件,它使得Java程序员能够通过编写Java代码来操作Oracle数据库。标题中的"ojdbc6"指的是Oracle JDBC驱动的一个特定版本,适用于Java SE 6环境。...

    OracleClient-19C Oracle客户端,包括windows和Linux

    Oracle Client是Oracle公司提供的数据库连接工具,用于与Oracle数据库服务器进行通信。19C是Oracle Database的一个版本,代表第19个主要版本。这个压缩包包含的Oracle Client适用于Windows和Linux操作系统,使得...

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...

    cx_Oracle使用手册

    cx_Oracle是Python编程语言中用于连接Oracle数据库的一个模块。该模块遵循Python数据库API规范,并且适用于Oracle 11.2和12.1版本,同时兼容Python 2.x和3.x版本。cx_Oracle模块通过使用Oracle客户端库来实现与...

    oracle SQL查询工具

    oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具...

    oracle10G和oracle11G的OCI.dll

    oci.dll是Oracle Call Interface的缩写,它是Oracle数据库的一个核心组件,允许开发者使用各种编程语言与Oracle数据库进行交互。在Oracle 10G和11G版本中,oci.dll扮演了至关重要的角色,为应用程序提供了访问数据库...

    Veeam 备份恢复oracle数据库详细配置文档

    Veeam 备份恢复 Oracle 数据库详细配置文档 本文档旨在详细介绍如何使用 Veeam 备份恢复 Oracle 数据库的配置过程。该文档将指导读者从环境准备到推送 Oracle RMAN Plugin,再到创建备份作业和运行备份作业,最后...

    SqlDbx连接oracle

    首先,连接Oracle数据库通常需要Oracle客户端软件,但这里提到的“Sqldbx连接oracle,不用安装client”,意味着SqlDbx可能通过一种无需完整Oracle客户端的方式来实现连接。这种连接方式通常依赖于Oracle的Instant ...

    oracle客户端免安装版

    Oracle客户端免安装版,也被称为Oracle Instant Client,是Oracle公司提供的一种轻量级的数据库连接工具,无需完整的Oracle数据库服务器安装即可使用。它主要用于在不安装完整客户端的情况下,实现应用程序与Oracle...

    sap oracle sap oracle sap oracle sap oracle

    sap oracle sap oracle sap oracle

    Oracle Instant Client 11.2.0.1.0 轻量级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库连接Oracledb数据库,使用示例

    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 ...

Global site tag (gtag.js) - Google Analytics