Regrouper les champs de tableau croisé dynamique dans le tableau croisé dynamique
Scénarios d’utilisation possibles
Microsoft Excel permet de grouper les champs de pivot du tableau croisé dynamique. Lorsqu’il y a une grande quantité de données liées à un champ de pivot, il est souvent utile de les regrouper en sections. Aspose.Cells for Node.js via C++ offre également cette fonctionnalité via la méthode PivotTable.groupBy().
Comment regrouper les champs de tableau croisé dynamique dans le tableau croisé dynamique
Le code d’exemple suivant charge le fichier Excel d’exemple et effectue un groupement sur le premier champ de tableau croisé dynamique en utilisant la méthode PivotTable.groupBy(). Ensuite, il actualise et calcule les données du tableau croisé dynamique et enregistre le classeur sous le nom de fichier Excel de sortie. La capture d’écran montre l’effet du code d’exemple sur le fichier Excel d’exemple. Comme vous pouvez le voir sur la capture d’écran, le premier champ de tableau croisé dynamique est maintenant regroupé par mois et par trimestres.
Code d’exemple
const AsposeCells = require("aspose.cells.node"); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Load sample workbook | |
var wb = new AsposeCells.Workbook("sampleGroupPivotFieldsInPivotTable.xlsx"); | |
//Access the second worksheet | |
var ws = wb.getWorksheets().get(1); | |
//Access the pivot table | |
var pt = ws.getPivotTables().get(0); | |
//Specify the start and end date time | |
var dtStart = new Date(2008, 1, 1); | |
var dtEnd = new Date(2008, 9, 5); | |
//Specify the group type list, we want to group by months and quarters | |
var groupTypeList = [AsposeCells.PivotGroupByType.Months, AsposeCells.PivotGroupByType.Quarters]; | |
//Apply the grouping on first pivot field | |
var field = pt.getRowFields().get(0); | |
field.groupBy(dtStart, dtEnd, groupTypeList, 1, true); | |
//Refresh and calculate pivot table | |
pt.setRefreshDataFlag(true); | |
pt.refreshData(); | |
pt.calculateData(); | |
pt.setRefreshDataFlag(false); | |
//Save the output Excel file | |
wb.save("outputGroupPivotFieldsInPivotTable.xlsx"); |