起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 194|回复: 9

【结贴】请问是否可以手工创建透视数据集的行维、项维?**

[复制链接]
发表于 2007-10-11 14:12:49 | 显示全部楼层 |阅读模式
if DataSetTSSJJ1=nil then
    DataSetTSSJJ1 := TPivotDataSet.Create(Self);
  DataSetTSSJJ1.Close;
  DataSetTSSJJ1.DecisionDef.DimensionDefs.Clear;
  DataSetTSSJJ1.DecisionDef.SummaryDefs.Clear;

  with DataSetTSSJJ1.DecisionDef.DimensionDefs.Add do
  begin
    TableName := 'SJJ_WZKCB';
    FieldType := TFieldType.ftString;
    FieldName := 'KF';
    Origin := 'KF';
    DisplayName := '库房';
    IsPrimaryKey := True;
    IsAgg := False;
    DimStyleDefType := TDecisionDimStyleDefType.dfRowDim;
    DimType := TDecisionDimType.dtDataDim;
    ShowSubTotal := False;
    CustomDim.FieldType := TCustomDimType.cdtString;
    BinType := TBinType.binNone;
  end;
  with DataSetTSSJJ1.DecisionDef.DimensionDefs.Add do
  begin
    TableName := 'SJJ_WZKCB';
    FieldType := TFieldType.ftString;
    FieldName := 'WPBM';
    Origin := 'WPBM';
    DisplayName := '产品';
    IsPrimaryKey := True;
    IsAgg := False;
    ShowSubTotal := False;
    CustomDim.FieldType := TCustomDimType.cdtString;
    BinType := TBinType.binNone;
    DimStyleDefType := TDecisionDimStyleDefType.dfColDim;
    DimType := TDecisionDimType.dtDataDim;
  end;
  with DataSetTSSJJ1.DecisionDef.SummaryDefs.Add do
  begin
    TableName := 'SJJ_WZKCB';
    FieldType := TFieldType.ftInteger;
    FieldName := 'ZDKCL';
    Origin := 'ZDKCL';
    DisplayName := '数量';
    IsPrimaryKey := False;
    IsAgg := False;
    SummType := TDecisionSummType.dtDataSumm;
    SummFlags := TSummFlags.sfSum;
  end;
  with DataSetTSSJJ1 do
  begin
    ShowProgressDialog := True;
    ID := 'TSSJB11';
    DisplayName := '测试透视数据集';
    Name := 'TSSJB11';
    DataSetTSSJJ1.Database.URL := 'Biz:\JUSTEPDEMOSYSTEM\JUSTEPDEMODATABASE.DATABASE';

    DecisionDef.ShowFieldName := False;
    DecisionDef.SummAreaWidth := 1;
    DecisionDef.SummAreaHeight := 1;
    DecisionDef.MaxDims := 5;
    DecisionDef.MaxSums := 10;
    DecisionDef.MaxCells := 0;
    DecisionDef.DecisionType := TDecisionType.dctCrosstab;
    DecisionDef.DatabaseURL := 'Biz:\JUSTEPDEMOSYSTEM\JUSTEPDEMODATABASE.DATABASE';
    DecisionDef.DataSetID := 'TSSJJ11';
    DecisionDef.DisplayName := #36879#35270#25968#25454#38598'1';
    DecisionDef.OriginalSQL.Text :=
      'SELECT SJJ_WZKCB.KF, SJJ_WZKCB.WPBM, SJJ_WZKCB.ZDKCL FROM SJJ_WZKCB';
    SparseRows := False;
    SparseCols := False;
  end;
  DataSetTSSJJ1.Open;
  DataSource1.DataSet := DataSetTSSJJ1;
http://bbs.justep.com/forum.php? ... light=DimensionDefs
回复

使用道具 举报

发表于 2007-10-11 14:46:32 | 显示全部楼层
手工创建?

在信息中新建透视数据集,定义维和项不就是手工创建吗?
回复 支持 反对

使用道具 举报

发表于 2007-10-11 15:20:18 | 显示全部楼层
工创建透视数据集的行维、项维
支持


不知道楼主贴这段代码的意思?
是编译不过,还是运行出错?
是哪句出问题?
原始的错误信息一起贴上来看看

可以参考一下决策数据集的创建,http://bbs.justep.com/forum.php?mod=viewthread&tid=13876  15楼有个例子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-11 16:07:32 | 显示全部楼层
我的意思是代码创建,
决策数据集代码创建能够成功
但是投式数据集按照一楼的代码段运行到DataSetTSSJJ1.DecisionDef.DimensionDefs.Add则抱错,

我的版本是2819
我提供代码的意图是说的我参考的代码是你们之前提供的,但是我运行却抱错。
回复 支持 反对

使用道具 举报

发表于 2007-10-11 16:15:18 | 显示全部楼层
把原始的错误信息贴出来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-11 16:45:00 | 显示全部楼层
图片

未命名.jpg

13.43 KB, 下载次数: 127

回复 支持 反对

使用道具 举报

发表于 2007-10-11 17:21:44 | 显示全部楼层
TPivotDataSet在界面上放置这个控件试试,别用
if DataSetTSSJJ1=nil then
    DataSetTSSJJ1 := TPivotDataSet.Create(Self);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-12 08:57:40 | 显示全部楼层
试过了,同样问题?
请问你们那边没有重现这个问题么?
回复 支持 反对

使用道具 举报

发表于 2007-10-12 10:47:28 | 显示全部楼层
在DataSetTSSJJ1.Close; 后面加上:
DataSetTSSJJ1.DecisionDef.BeginUpdate;
try

在 DataSetTSSJJ1.Open;前加:
  finally
    DataSetTSSJJ1.DecisionDef.EndUpdate;
  end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-12 11:17:05 | 显示全部楼层
搞定,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-28 20:48 , Processed in 0.043551 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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