起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: hule1234

【结帖】[请求]求个数据处理的方法。比较急。谢谢高手来看看**

[复制链接]
发表于 2008-7-16 11:43:00 | 显示全部楼层
好,恭喜楼主。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-16 11:47:11 | 显示全部楼层
讲下思路:
把原始数据表  通过透视  可以得出
透视数据集一:统计 S 和A的个数   统计   S和A的总数
透视数据集二:统计S和A的总分数。
两个透视数据集因为前面的班组是固定的,而且加上取值顺序固定,班组字段是查找属性
所以两个透视数据集放在一起行数是一样的。
下面是代码:
procedure TMainForm.BizFormShow(Sender: TObject);
   begin
   DataSetTotalCount.DataSet.Close;
   DataSetTotalSore.DataSet.Close;
end;

procedure TMainForm.btnQueryClick(Sender: TObject);
var
  lParam1: TBizParam;
  lParam2: TBizParam;
begin
  lParam1 := SystemUtils.TContextUtils.GetParam(Context,'Biz:\OPERATION\Run.ParamGroup\lyear.param','lyear');
  lParam2 := SystemUtils.TContextUtils.GetParam(Context,'Biz:\OPERATION\Run.ParamGroup\lmonth.param','lmonth');
  lParam1.Value := deDept.Text;
  lParam2.Value := DataEdit1.text;

  DataSetTotalCount.DataSet.open;
  DataSetTotalSore.DataSet.open;
  TPivotDataSet(DataSetTotalCount.dataSet).Close;
  TPivotDataSet(DataSetTotalSore.DataSet).Close;
  TPivotDataSet(DataSetTotalCount.dataSet).DecisionDef.SQL := 'SELECT * FROM ANALYSRECORD ' + ' WHERE year =&[Biz:\OPERATION\Run.ParamGroup\lyear.param] and month =&[Biz:\OPERATION\Run.ParamGroup\lmonth.param]';

  TPivotDataSet(DataSetTotalSore.DataSet).DecisionDef.SQL := 'SELECT * FROM ANALYSRECORD ' + ' WHERE year =&[Biz:\OPERATION\Run.ParamGroup\lyear.param] and month =&[Biz:\OPERATION\Run.ParamGroup\lmonth.param]';
  TPivotDataSet(DataSetTotalCount.dataSet).Open;
  TPivotDataSet(DataSetTotalSore.dataSet).Open;

  end;
回复 支持 反对

使用道具 举报

发表于 2008-7-16 11:57:34 | 显示全部楼层
好,谢谢分享,揭帖。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 05:57 , Processed in 0.049262 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表