天软金融分析.NET函数大全 > TSL函数 > 基础函数 > 数组 > 数组操作

framePivot_table    

简述
分组、透视、汇总,类似可见Pivot_table
定义
framePivot_table(t:DBData;index:String;columns:Array;vals:Array;aggfunc:String;aggfuncnames:Array):array
参数
名称类型说明
tDBData数据表类型,数据表
indexString字符串,行分类字段,字段值含有nill等不可设为索引
columnsArray一维字符串数组,列分类字段,字段值含有nill等不可设为索引
valsArray一维字符串数组,值字段,未指定时,代表对所有除index、columns 指定字段之外的所有字段计算
aggfuncString字符串,值汇总函数,支持如下:
a、所有 TS_SQL 聚合函数:e.g:"avg"(avgof),"sum"(sumof)
b、内置函数:
"_details": 分组详情
"_first": 第一个
"_last": 最后一个
c、自定义函数中使用关键字thisgroup 得到当前分组数据。
aggfuncnamesArray一维字符串数组,自定义汇总函数名称对照表
返回arrayarray,分组、透视、汇总
  • 范例

    //指定条件,首列为申万行业,后续列标为日期,按平均值汇总值为涨幅、振幅的的数据透视表数据
      stocks:=GetBKByDate("SH000010",20210525t);
      begt:= 20210515T;
      endt:= 20210525T;
      t:=select ['StockID'] as "代码",
           ["StockName"] as "名称",
           datetostr(['date']) as "日期",
           ["close"] as "收盘价",
           spec(specdate(stockzf3(),['date']),['StockID']) as "涨幅",
           spec(specdate(stockzdf3(),['date']),['StockID']) as "振幅",
           spec(base(10029),['StockID']) as "申万行业"
       from markettable datekey begt to endt of stocks end;
      index:= "申万行业";
      colunms:= "日期";
      vals:= array("涨幅","振幅");
      aggfunc:= "avg";
      return framePivot_table(t,index,colunms,vals,aggfunc);

    结果:
相关