精华内容
下载资源
问答
  • 有两个数据窗口,dw1,dw2 dw1中有日期,编号,类型,备注 其中类型有两种,A B 20131011 001 A 20131012 002 B 20131013 003 A 。。。 dw2中有 日期 ,流水号 类型 。。。备注 类型对应 A ,C,D,E,F ...
  • 如何动态地使DataWindow中的DropDownDW按某一条件显示内容关头:运用GetChild,然后运用Retrieve或Setfilter方法即可。详细说明:Datawindow有两个字段,一个为省份c,一个为都市city,都市为DropDownDw,需要根据...

    如何动态地使DataWindow中的DropDownDW按某一条件显示内容

    关头:运用GetChild,然后运用Retrieve或Setfilter方法即可。

    详细说明:Datawindow有两个字段,一个为省份c,一个为都市city,都市为DropDownDw,需要根据省份的动态改变都市的显示内容,编程方法以下(pb6版本):

    datawindowchild dwChild

    Choose case dwo.name

    case "province" //省份发生改变,需要动态更新都市下拉窗口

    If this.GetChild("city", dwChild) <> 1 Then

    MessageBox("Error", "GetChild Error!")

    Return 0

    End If

    dwChild.Settranso b j e c t(sqlca)

    //---- 第一种方法 运用setfilter 过滤数据,宜于数据较少300行以下

    dwChild.Setfilter(" province = " + data)

    //如果是字符型,用下面代码

    //dwChild.Setfilter(" province = '" + data + "'")

    dwChild.filter()

    //---------------------------------------------------------------------------------------//

    //--- 或运用第二种方法 运用带参数的 Datawindow,宜用于数据行较多情况

    dwChild.Retrieve(data)

    //-----------------------------------------------------------------------------------------------//

    End Choose

    展开全文
  • 聚合函数(如sum()、avg()、max()等等)是针对定义的行集(组)执行聚集,每组只返回一个值。窗口函数也是针对定义的...语法:主要是over( PARTITION BY (根据条件分组,形成一个小组)….ORDER BY(再组内进行排序...

    聚合函数(如sum()、avg()、max()等等)是针对定义的行集(组)执行聚集,每组只返回一个值。

    窗口函数也是针对定义的行集(组)执行聚集,可为每组返回多个值。如既要显示聚集前的数据,又要显示聚集后的数据。

    窗口查询有两个步骤:将记录分割成多个分区,然后在各个分区上调用窗口函数。

    语法:主要是over( PARTITION BY (根据某条件分组,形成一个小组)….ORDER BY(再组内进行排序) …. )

    over:

     over (order by col1)                     --按照 col1 排序, 没分区范围就是整个表
     over (partition by col1)                 --按照 col1 分区 
     over (partition by col1 order by col2)   -- 按照 col1 分区,按照 col2 排序
      
      --带有窗口范围
     over (partition by col1 order by col2 ROWS 窗口范围)   -- 在窗口范围内,按照 col1 分区,按照 col2 排序

    实例:

    7d603eb8c3008bdfcb705ae30c3f7ce5.png

    -- 按照age排序,每阶段的age数据进行统计求和

    select id,age,name, count() over(order by age) from wt1;

    结果:

    e6e9f52c221bf29eb9b37974e9d9596c.png

    -- 窗口范围是表下按照age进行分区

    -- 在分区里面,再按照age进行排序

     select id,age,name, count() over(partition by age order by age) from wt1;

    5f46ea82b7655f1f6120ec37e8c5e2ec.png

    -- 窗口范围是表下按照age进行分区

    -- 在分区里面,再按照id进行降序排序

     select id,age,name, count() over(partition by age order by age) from wt1;

    序列函数

    row_number:会对所有数值,输出不同的序号,序号唯一且连续,如:1、2、3、4、5。

    rank:会对相同数值,输出相同的序号,而且下一个序号间断,如:1、1、3、3、5。

    dense_rank:会对相同数值,输出相同的序号,但下一个序号不间断,如:1、1、2、2、3。

    ROW_NUMBER()

    row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 

    表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。

    表数据:

    3910b559efb9822c43b4f834e7496081.png

    -- rn_id 按照性别分组,按照id排序

    select id,sex,name, row_number() over(partition by sex order by id desc) from student;

    64f4c0224875ddd49c94abcbc10def7e.png

    --查询student表中按照sex分组,取每组的最小id的记录

    select a.* from 
    (select sex,age,id, row_number() over(partition by sex order by id) as rn from student) a
    where a.rn = 1;

    7469de5fbbfa31bf881c18793f5a1c38.png

    over中partition by和distribute by区别:

    1)partition by [key..] order by [key..]只能在窗口函数中使用,而distribute by [key...] sort by [key...]在窗口函数和select中都可以使用。

    2)窗口函数中两者是没有区别的

    3)where后面不能用partition by

    Window 函数:

    ROWS窗口函数中的行选择器 rows between [n|unbounded preceding]|[n|unbounded following]|[current row] and [n|unbounded preceding]|[n|unbounded following]|[current row]

    参数解释:

    n行数

    unbounded不限行数

    preceding在前N行

    following在后N行

    current row当前行

    应用场景:

    1)查询当月销售额和近三个月的销售额

    2)查询当月销售额和今年年初到当月的销售额

    表数据:

    bb74cc3101f0e87cf93245b167334d18.png

    实例:

    -- 查询当月销售额和近三个月的销售额

    SELECT 
    y,
    m,
    sales,
    sum(sales) OVER(PARTITION BY y ROWS between unbounded preceding and current row) AS s2
    FROM sale_table;

    818a4e82064dc6a6db882081b91a03d5.png
    展开全文
  • pb数据窗口输入问题

    2015-02-04 15:20:06
    在pb数据窗口新增一行,在一个字段输入一个值之后,在另外一个字段根据条件自动显示一个值,而且用户无法修改,这个怎么实现   在editchange事件下写代码 string ll_barcode,ll_name,ll_price dw_1.AcceptText...

    在pb数据窗口新增一行,在一个字段输入一个值之后,在另外一个字段根据条件自动显示一个值,而且用户无法修改,这个怎么实现

     

    在editchange事件下写代码
    string ll_barcode,ll_name,ll_price
    dw_1.AcceptText()
    for i=1 to dw_1.rowcount
    ll_barcode=getitemstring(i,"base_barcode")
    select name,price
    from base_barcode
    into :ll_name,:ll_price
    where barcode=:l_barcode;
    dw_1.object.name[i]=ll_name
    dw_1.object.price[i]=ll_price
    next

    要使数据窗口控件中的数据不被改动,要在数据窗口页面编辑,点击tab order 按钮,下面会显示红色小字,只要是0,用户就无法修改数据,大于0就表示可以输入数据,而且根据大小排列是编辑TAB键跳动的顺序

    展开全文
  • 数据窗口逐层过滤的实现 分类: PB开发技术 2009-02-19 17:02 1063人阅读 评论(0) 收藏 举报 integerfilterdeletestring百度存储   信息系统开发过程中你可能会收到这样的用户要求,“允许我在...
    

    数据窗口逐层过滤的实现

    分类: PB开发技术 1063人阅读 评论(0) 收藏 举报

           信息系统开发过程中你可能会收到这样的用户要求,“允许我在当前可见结果集中根据定义的条件过滤数据,与GOOLGE或百度的在结果中搜索功能类似”。

           PB虽然未直接提供该项功能,但实现起来也是非常简单。通常有两种方法:一、使用find函数直接将不符合条件的数据移到过滤区,二、将当前过滤区数据移走,然后使用setfilter函数过滤,再将移走的数据移回过滤区。方法一相对而言性能要差些,因为它要经历循环查找。在此笔者介绍第二种方法,你可以将of_filterinresult函数保存在你的数据窗口或数据存储祖先中。

    附:of_filterinresult函数源代码。

    /*******************************************************************

    函数名称:of_filterinresult()

    参数:     as_filterexpr string 过滤条件

    返回值:  integer 是否成功(1表示成功,-1表示失败)

    功能描述:在结果集中过滤

    创建人:  康剑民

    创建日期:2009-02-19

    版本号:  V1.0

    *******************************************************************/

    long ll_filtered_count

    integer li_return

     

    ll_filtered_count = this.filteredcount()

    //将过滤缓冲区数据移动到删除缓冲区

    if ll_filtered_count > 0 then

           this.rowsmove(1,ll_filtered_count,filter!,this,this.deletedcount()+1,delete!)

    end if

    //执行过滤

    li_return = this.setfilter(as_filterexpr)

    this.filter()

    //将删除缓冲区中本属于过滤缓冲区的数据移回到过滤缓冲区

    if ll_filtered_count > 0 then

           this.rowsmove(this.deletedcount() - ll_filtered_count + 1,this.deletedcount(),delete!,this,1,filter!)

    end if

     

    return li_return

     

    附:of_filterinresult函数说明。

    of_filterinresult函数

            :   新建

        法:  integer dwname.of_filterinresult(as_filterexpr)

            能:  在结果集中过滤

        访问等级:  public

            数:  string as_filterexpr过滤条件

        返 回 值:  integer1表示成功,-1表示失败。

    使用方法:  程序需要处调用,如在执行逐层过滤的按钮clicked事件。

        使用举例: 

    1 下面的例子出自cb_filterinresult.clicked事件,sle_filterexpr为输入过滤条件的单行编辑框:

    Dw_1.of_filterinresult(sle_filterexpr.text)

            考: 

     

    作者:康剑民  kangjianmin@139.com

    写作日期:2009-02-19

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    展开全文
  • 数据窗口的 数组参数包括:String array,Number array,Date array,Time array,DateTime array 在定义数据窗口参数变量时,根据自己需要的类型选择。 但在写条件的时候,关联符记得要写 in 可别写成= 代码的实现(从...
  • 一款实用的jQuery表格数据条件筛选代码,点击筛选按钮弹出设置窗口根据需要进行勾选来显示表格数据
  • PB日志-数据窗口控件函数142.Sort()

    千次阅读 2011-11-06 11:16:12
    根据当前的排序条件排序数据窗口控件的行。 语法 dwcontrol.Sort ( ) 参数 dwcontrol:数据窗口控件名 返回值 Integer。函数执行成功时返回 1,发生错误时函数返回-1。如果 dwcontrol 的值为NULL,则 Sort()...
  • 在定义数据窗口参数变量时,根据自己需要的类型选择。 但在写条件的时候,关联符记得要写 in 可别写成= 代码的实现(从病人表中取出2个病人ID号,001,002,类型为String): String ar_patient
  • 前言 能翻到这篇博文的,想必大家对窗口函数的基本使用已经有了一定的了解,这里就不废话再去多说...我们如果要对一组数据根据某个列去排名,一般会使用row_number(),但是如果我们要对某个列符合条件的才去row_number
  • 我们有时候需要根据不同的条件,改变数据窗口中任意行某一列的颜色。比如:用不同颜色显示不同成绩。举例说明:string ls_colordw_1.settransobject( sqlca)dw_1.retrieve( )ls_color = "255 ~t case(stgrade "ls_...
  • spss中根据某一条件选择个案的方法

    千次阅读 2018-07-17 18:00:06
    第一步:点击导航栏上的数据,点击选择个案,如下图: ...最后:点击继续,点击确定,生成新列将会添加到表中的最后一列,这里1表示根据条件选中的个案,0表示未根据条件选中的个案,如下图: ...
  • 窗口函数

    2020-02-29 11:27:40
    窗口函数 首先我们知道聚合函数(如sum()、avg()、max()等等)是针对定义的行集(组)执行聚集,每组只返回一个值。 窗口函数也是针对定义的行集(组...语法:主要是over( PARTITION BY (根据条件分组,形成一个...
  • 一、原始数据表如下(sheet页名称为:数据源),需要根据B列人员所属组织拆分成每个组织一个工作表。 二、进入VBE编辑页面 三、插入一个新的模块。 四、在模块1窗口粘入如下代码 ,并保存 五、通过【开发者工具】...
  • /* 测试数据 数据库版本为 MS SQL SEVER 2008 R2 */ --学生基础信息表 create table TB1(name VARCHAR(20),age int,PRIMARY KEY(name)); insert into TB1(name,age) values('张三',16); insert into TB1(name...
  • 滑动窗口问题_总结

    2020-01-21 22:05:44
    一. 一般需要用到双指针, 还有特殊的需要用到特定数据结构sorted_map. 二. 这类题目脱离不开主串(主数组)和子串(子数组)的关系, 短的在长的... 条件可能发生改变, 根据这个决定左指针是否移动. 五. 例题 1. leetc...
  • 想通过aspnet实现一个功能,原页面有个按钮我通过showmodaldialog弹出一个窗口窗口里面是一个表单,我希望表单的数据传递到原页面,原页面再根据这些参数,重新绑定gridview,得出查询结果,我的原页面gridview...
  • 在双约束的条件下, 滑动时间窗的窗口宽度和滑动步长能够根据告警序列的实际情况自动地调整, 并选取时间段的中点作为参照点。实验证明, 采用双约束滑动时间窗划分算法可以获得比传统方法更高的数据提取效率, 并且能够...
  • 前提条件: 因为TCP是端到端的协议,并且是全双工,也就是客户端A和服务端B都可以同时接收和发送,都有自己的发送缓冲区和接收缓冲区,所以这里的场景为A发送数据到B的情况。 滑动窗口的作用: 服务端根据自己的...
  • 我有一个程序,将检查几个条件,并检查数据是否可用。如果有任何丢失的数据,那么我会弹出另一个窗口,在该窗口中收集数据。它将有两个按钮(应用和关闭)。我想在按钮被触发后返回一个值。在program.py和{}都有自己...
  • 学习目标:掌握elementUI提供的脚手架搭建管理后台的方法掌握elementUI的table组件的使用,实现列表功能掌握elementUI的pagination组件的使用,实现分页功能掌握elementUI的form相关组件的使用,实现条件查询功能...
  • 往往有这种需求:需要显示的视图为ClistView,但这个View的显示数据是有条件的,需要根据用户的输入来显示,如查询历史记录所需的条件。这时有3种方案: 1. 使用CFormView/Dialog来控制,显示使用CListCtrl控件。 ...
  • DataGridView更新数据

    2021-02-15 18:21:56
    现在我根据条件搜索出10条数据出来,我每一条数据后面有一个详情和删除按钮,当我点击删除按钮,做了删除数据的操作, 删除成功后, MessageBox.Show("删除成功");...
  • 原文:http://coolketang.com/staticOffice/5a97f32aee920a788082fff3.html1. 本节课将为您演示,如何根据文字内容的笔划... 在打开的排序设置窗口中,点击[添加条件]按钮,添加一个排序条件。 4. 点击[主要关键字...
  • 需求场景:在查询页面,填写查询条件,查询条件包括上传的图片,根据图片的特征查询,这就需要在提交的时候,使用POST提交,因为GET提交无法提交图片数据,提交查询条件之后,在新的窗口展示查询结果。(当然查询结果...
  • 数据视图的功能与数据源是相互独立的,因此可实现相同的数据源使用不同的方式绑定多个不同的数据视图,如,一个数据源的两个视图根据不同的过滤条件显示不同的记录。 所有的视图对象都继承自CollectionView类,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 386
精华内容 154
关键字:

数据窗口根据条件