Winny 发表于 2021-5-24 18:00:57

SpreadJS V14 Update1 新特性 - 透视表 - 数据钻取

本帖最后由 Winny 于 2021-5-24 18:10 编辑

Excel透视表中提供了在右键显示详细信息的功能,用户在浏览透视表时,可以选中值区域的某一单元格,之后右键点击查看详细信息,会在当前表单前方插入一张新的表单,显示与当前点击单元格相关的数据列表,有助于用户快速、高效的分析数据。SpreadJS V14 Update1也实现了该功能,接下来会讲解该功能的详细实现方式。
1. 使用在线表格编辑器
   在生成的透视表中,选中数据区域某一单元格,点击右键,选中显示详细信息,如下所示:
   
   点击显示详细信息,可以看到与该数据相关的数据列表显示在前边新生成的一个表单中,如下所示。

2. 使用API获取透视表单元格数据详情
SpreadJS V14 Update1提供了getPivotDetails()方法来获取透视表数据的详细信息,具体形式如下:    getPivotDetails(pivotItemInfo: GC.Spread.Pivot.IPivotItemInfo[])
/**
* pivotItemInfo: 数组类型,每一项为一个obj
* pivotItemInfo.fieldName: 字段名称,string类型
* pivotItemInfo.fieldItem: 数据项名称,string类型
**/
具体调用示例如下:var spread = new GC.Spread.Sheets.workbook(document.getElementById("ss"),{sheetCount:3});
var sourceSheet = spread.getSheet(0);
var sheet = spread.getSheet(1);
var sourceData = [["Date","Buyer","Type","Amount"],
                  ["01-Jan","Mom","Fuel",74],
                  ["15-Jan","Mom","Food",235],
                  ["17-Jan","Dad","Sports",20],
                  ["21-Jan","Kelly","Books",125]];
sourceSheet.setArray(0, 0, sourceData );
sourceSheet.tables.add('sourceData', 0, 0, 5, 4);
var layout = GC.Spread.Pivot.PivotTableLayoutType.compact;
var theme = GC.Spread.Pivot.PivotTableThemes.medium2;
var pivotTable = sheet.pivotTables.add("pivotTable_1", 'sourceData', 1, 1, layout, theme, options);
pivotTable.add("Buyer","Buyer",GC.Spread.Pivot.PivotTableFieldType.rowField);
pivotTable.add("Type","Type",GC.Spread.Pivot.PivotTableFieldType.columnField);
pivotTable.add("Amount","Sum of Amount",GC.Spread.Pivot.PivotTableFieldType.valueField, GC.Pivot.SubtotalType.sum);






页: [1]
查看完整版本: SpreadJS V14 Update1 新特性 - 透视表 - 数据钻取