`
werwolf
  • 浏览: 93813 次
  • 性别: 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客户端...

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

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

    oracle jdbc 驱动,支持oracle 19c

    oracle jdbc 驱动,支持oracle 19c

    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客户端库来实现与...

    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 SQL查询工具

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

    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