PB数据窗口如何计算显示分组数据的差值

表只有四列,ID(外键唯一递增)、人员编号(var)、当期生产的A产品数量(int)、当期生成的B产品数量(int),现在需要在数据窗口中查询显示每个人员的本期产品A增量和B增量、AB差值和A的本期占比。开发软件是powerbuilder,数据库是mysql,需要怎么做呢。公司急用,在线等,拜托大神救命。

您好,可以直接使用 计算列就可以实现 ,如下结构

计算列效果如下:

首先 排序需要 先 B顺序 然后 A顺序

两个计算列的代码分别为:if(b = b[-1],c - c[-1],0) 和if(b = b[-1],d - d[-1],0) 

即:列B当前行与上一行的ID相同时,取当前行和上一列的差,不同时为 0


希望对你能有帮助~~





追问

感谢你的帮助,请问你用的是什么风格的数据窗口,选择的是什么数据源?

追答

数据源没有要求,数据库风格grid,tabular 都行

温馨提示:内容为网友见解,仅供参考
无其他回答

PB数据窗口如何计算显示分组数据的差值
首先 排序需要 先 B顺序 然后 A顺序 两个计算列的代码分别为:if(b = b[-1],c - c[-1],0) 和if(b = b[-1],d - d[-1],0)即:列B当前行与上一行的ID相同时,取当前行和上一列的差,不同时为 0 希望对你能有帮助~~

pb 关于分组统计
在建立数据窗口对象时,可以选择建立分组格式的数据对象,然后在里面你可以选择日期进行分组,最后统计的功能,你在数据对象中添加一个文本框,在expression里面选择sum(金额)。

PB数据窗口取值问题
设置DataWindow内指定行列处的数据只要使用一个SetItem()函数就可以了。语法格式:dw_control.SetItem(rownumber, column, value)其中rownumber表示行号,column可以是列号,也可以是列名,value表示要设置的值。但是该必须与DataWindow中指定的行列处的数据类型一致,不然PowerBuilder会报错。SetItem()函数返回1...

请问如何在PB中设置数据窗口对象的查询参数?
打开数据窗口->design->data source->design->retrieval argumens

pb编程 中怎么获取数据窗口中显示的列数
ls_colname = dw_1.describe('#' + string(i) + ".name") + "_t"ls_value = dw_1.describe(ls_colname + ".text")next 5、如何用代码取得数据窗口汇总带计算列的值?String ls_value ls_value = dw_1.Describe("Evaluate("'compute_1',1)")\/\/如果是数值型,要转换。

pb数据窗口分组问题
你好,可以试一下在数据窗口上建立分组的时候在分组所需要的字段上双击该字段写表达式,比如if( 条件1,'货号字段',if(条件2,'品牌字段',if(条件3,'销售字段','')))

如何在pb中的数据窗口中显示数据???
首先做一个数据窗口对象,然后在窗口上加入一个数据窗口控件,把数据窗口对象加入到控件中。在在应用对象open事件中写入 dw_1.settransobject()dw_1.retreve 第一条语句是设置一个事物处理对象,第二条语句是显示数据

如何在pb报表上设计出 每日小计 和 总计 就是对 销售金额 做出一个 统 ...
数据窗口具备这个功能 分组统计即可 数据窗口处于编辑状态---rows---create group ---根据需要(楼主应该按照日期来分组)创建好了后--就能获得按每日的分组统计 选择需要总计的列---点击 sum 在工具栏上是一个求和图标 ,这样就能得到总计数据 如有疑问请Baidu HI ...

pb编程 把数据窗口中的内容分类进行合计数。
SELECT NAME, SUM(QTY) AS TOTAL_QTY FROM TABLE GROUP BY NAME 这个语句出来的数据窗口查询的结果自然就是你要的这个结果了。另外,可以在数据窗口设置参数放到WHERE条件中更详细的查询。还有就是PB本身的分组了,先做好你第一个例子的查询的数据窗口,然后在PB的数据窗口里面选GROUP,group分组的项就...

pb9.0中怎样实现录入时自动计算并显示?
建一个数据窗口,包含这些字段,然后添加一个计算列(compute),表达式写这些字段的和(比如:jbgz+fdgz+zwgz...),这样,在用户输入改变这些字段的值时,那个计算列就出自动计算并显出出来。至于“存入table中”,你可以取出计算列的值,然后用sql语句存到数据库里就行了,取计算列值的示例:dec sj...

相似回答