| PS Gallery (downloads + version) | License | Issues / PRs |
|---|---|---|
| Runtime (pwsh) | Platforms |
|---|---|
A modern PowerShell Universal custom component based on react-pivottable.
This module enables interactive pivot tables with drag & drop functionality directly inside PowerShell Universal dashboards.
- Interactive pivot table UI (drag & drop)
- Based on the latest
react-pivottable(React 19 compatible) - Works with PowerShell Universal (PSU)
- Minimal required input:
Data- Backward compatibility with the old
UD-Pivotversion is guaranteed; only-Datais required
- Backward compatibility with the old
- Supports:
- Rows
- Columns
- Values
- Aggregations
- Filtering
- Sorting
- Plotly charts (bar, line, pie, scatter, etc.)
- Accepts PowerShell objects directly
Install-Module -Name UniversalDashboard.Pivotπ For detailed setup steps (especially on fresh systems), see: docs/BUILD.md
- Download or clone this repository
- Build the project (see BUILD section)
- Copy the contents of the
outputfolder to your PowerShell Universal modules/components directory or useImport-Module:- Components (old way):
<PSU Repository>/Components/UniversalDashboard.Pivot/<version> - Modules:
<PSU Repository>/Modules/UniversalDashboard.Pivot/<version>
- Components (old way):
Import-Module .\output\UniversalDashboard.Pivot.psd1Here is a basic example β more can be found in: π examples/psu-test-page.ps1.
Also check the example gifs/pictures in docs/
$Data = @(
@{ Team = 'OPS'; Status = 'Open'; Priority = 'High'; Count = 5 }
@{ Team = 'OPS'; Status = 'Closed'; Priority = 'Low'; Count = 2 }
@{ Team = 'DEV'; Status = 'Open'; Priority = 'High'; Count = 8 }
@{ Team = 'DEV'; Status = 'Closed'; Priority = 'Medium'; Count = 3 }
)
New-UDPivot -Id 'pivot-demo' -Data $Data| Parameter | Description |
|---|---|
Data |
Input data (array of objects or scriptblock) |
| Parameter | Description |
|---|---|
Id |
Component ID |
Rows |
Row fields |
Cols |
Column fields |
Vals |
Value fields |
AggregatorName |
Aggregation function (e.g. Count, Sum) |
RendererName |
Renderer type (e.g. Table, Bar Chart, Pie Chart, etc.) |
| Parameter | Description |
|---|---|
HiddenAttributes |
Hide attributes from UI |
HiddenFromAggregators |
Hide attributes from aggregator dropdown |
HiddenFromDragDrop |
Hide attributes from drag & drop area |
MenuLimit |
Max values shown in filter menu (default: 500) |
UnusedOrientationCutoff |
Layout switch threshold (default: 85) |
| Parameter | Description |
|---|---|
RowOrder |
Row sort order (key_a_to_z, value_a_to_z, value_z_to_a) |
ColOrder |
Column sort order (key_a_to_z, value_a_to_z, value_z_to_a) |
| Parameter | Description |
|---|---|
ValueFilter |
Predefined filter configuration |
To suit my personal needs, I used CSS to give the Pivot component a different look and feel. You can see that in the screenshots. You can find the style i used it in examples\style.css
This project is a complete rewrite and modernization of the original:
π https://github.com/psDevUK/UD-Pivot
The original module is based on an outdated version of Universal Dashboard and React.
This version:
- updates dependencies to modern React
- rebuilds the component using current PSU custom component standards
- ensures compatibility with current PSU versions (5.6.x+ / 2026.x)
- restores full renderer support including Plotly charts
- Only
Datais required; all other parameters are optional - The component follows the behavior of
react-pivottable - For numeric aggregation (e.g. Sum), use a value field
- Plotly renderers are automatically available after build
- Not all
react-pivottableprops exposed yet - No powershell module will be created / published to gallery directly from this repository using actions (current state)
- Add support for additional PivotTableUI props
- Reduce bundle size (lazy loading / external Plotly)
react-pivottablePivotTable.js- PowerShell Universal / Universal Dashboard ecosystem
