4. Creating your first PivotTable from CAE results
With a clean, well-structured nodal stress dataset in hand, the next step is to convert that flat table into a PivotTable that answers a specific engineering question. This chapter walks through the complete first-build workflow: choosing the right fields, understanding what each of the four PivotTable areas does, and arranging a layout that summarizes nodal stresses by part, load case, and location. The goal is not merely to produce a table, but to produce a table whose numbers you can defend in a design review.
Starting Point: The Flat Nodal Stress Table
Assume the dataset exported from the solver contains one row per node per load case, with the following columns: NodeID, PartName, LoadCase, X, Y, Z, vonMises_MPa, MaxPrincipal_MPa, and MinPrincipal_MPa. A typical extract might look like this:
NodeID PartName LoadCase X Y Z vonMises_MPa MaxPrincipal_MPa MinPrincipal_MPa
10241 Bracket_A LC1_Brake 12.50 0.00 45.20 182.4 96.1 -41.7
10242 Bracket_A LC1_Brake 18.75 0.00 45.20 201.7 110.3 -52.9
10241 Bracket_A LC2_Corner 12.50 0.00 45.20 244.9 131.8 -60.2
...
Before inserting the PivotTable, confirm three things: the header row is a single row with no merged cells, every column has a unique name, and there are no blank rows inside the data range. If the export contains a units row or a title row above the headers, delete it first — PivotTables treat the first row of the source range as field names, and a stray title row will produce fields named "Column1", "Column2", and so on.
Inserting the PivotTable and Reading the Four Areas
Select any cell inside the data range and choose Insert → PivotTable. Excel proposes the full contiguous range and a new worksheet. Accept both, then confirm the PivotTable Fields pane appears on the right. That pane exposes four drop zones, and understanding their distinct roles is the core skill of this chapter:
- Rows — defines the vertical grouping hierarchy. Each unique combination of row-field values becomes one row in the output. For nodal stress work,
PartNameandLoadCaseare natural row fields. - Columns — defines horizontal grouping. Use sparingly; a column field with many unique values (such as
NodeID) will explode the table width. - Values — holds the numeric fields to be aggregated. The default aggregation for numeric fields is Sum, which is almost always wrong for stress. You will change it to Max, Average, or Count depending on the question.
- Filters — applies a page-level restriction to the whole PivotTable, such as showing only
LC1_Brakeor only nodes above a stress threshold.
vonMises_MPa into Values, Excel sums it. A summed nodal stress has no physical meaning. Right-click the value field, choose Value Field Settings, and switch to Max for peak-stress screening or Average for trend comparison. Always verify the aggregation label in the column header — it will read "Max of vonMises_MPa" once corrected.
A First Layout for Peak Nodal Stress
A defensible first layout for screening is: PartName in Rows, LoadCase in Columns, and vonMises_MPa in Values with aggregation set to Max. This produces a compact matrix where each cell is the highest von Mises stress found anywhere in that part under that load case — exactly the number a stress engineer checks against yield.
To make the result readable, apply these formatting steps in order: set the value field number format to one decimal place, rename the value header from "Max of vonMises_MPa" to "Peak vonMises (MPa)" via Value Field Settings → Custom Name, and enable Design → Grand Totals → On for Rows and Columns. The grand total row then reports the global peak across all parts for each load case, which is a useful cross-check against the solver's own global maximum report.
Adding Location Context Without Breaking the Layout
Part-level peaks tell you where in the assembly the problem is, but not which node. Adding NodeID under PartName in the Rows area creates a nested hierarchy: each part expands to its nodes, and the Max aggregation at node level equals the raw nodal value. This is useful for drill-down but produces a very long table. A practical compromise is to keep NodeID out of the default layout and instead use it only when a part-level peak looks suspicious — expand that part, sort the node values descending, and read off the top few nodes. Record those NodeIDs; they become the coordinates you feed into the contour plot or the hand-calculation check.
The SVG below shows how the same source columns map into the four PivotTable areas and how the resulting matrix is assembled, including the aggregation decision that must be made for the stress field.
Verifying the First PivotTable
A PivotTable is only trustworthy after it has been reconciled against an independent source. Three checks are worth performing on every first build:
- Grand-total cross-check. Compare the grand total of the Max aggregation against the solver's reported global maximum von Mises stress. They should match to the displayed precision. A mismatch usually means the source range excluded some rows, or a filter is silently active.
- Row-count sanity check. Add
NodeIDto Values with aggregation Count. The total should equal the number of unique nodes multiplied by the number of load cases. If it is lower, duplicate rows were collapsed or the range was truncated. - Spot-check one cell. Pick the highest cell, expand its part to node level, and confirm the node value equals the raw value in the source table. This catches aggregation errors such as Sum being left in place.
Common Failure Symptoms and Fixes
| Symptom | Likely Cause | Fix |
|---|---|---|
| Fields named "Column1", "Column2" | Title or units row above headers | Delete rows above the header, re-insert PivotTable |
| Stress values far too large | Sum aggregation left as default | Value Field Settings → Max or Average |
| Table much wider than expected | High-cardinality field in Columns (e.g. NodeID) | Move field to Rows or remove it |
| Grand total lower than solver maximum | Source range truncated or filter active | Check Change Data Source and clear Filters area |
| New rows missing after re-export | PivotTable not refreshed | Right-click → Refresh, or widen source to a table |
Once the layout is verified, save the workbook with the PivotTable on its own sheet and the source data on a separate sheet. This separation keeps the analysis reproducible: when the solver exports a revised result set, you replace the source sheet, refresh, and the same layout regenerates the summary without rebuilding it. That reproducibility is the real deliverable of this chapter — a first PivotTable that is correct, explainable, and ready to be extended in later chapters with calculated fields, grouping, and multi-load-case comparisons.