Dash Pivottable is a Dash component wrapping the react-pivottable library, created by Nicolas Kruchten. It lets you build interactive pivot tables using purely Python.
First, install virtualenv
with pip install virtualenv
.
Then, make sure to clone this project, create a venv and install requirements:
git clone https://github.com/plotly/dash-pivottable.git
cd dash_pivottable
python3 -m venv ./venv
source venv/bin/activate
pip install -r requirements.txt
And simply run the example in the venv:
python usage.py
The following parameters can be modified:
id
(string; optional): The ID used to identify this component in Dash callbacksdata
(list; optional): The input datahiddenAttributes
(list; optional): contains attribute names to omit from the UIhiddenFromAggregators
(list; optional): contains attribute names to omit from the aggregator arguments dropdownshiddenFromDragDrop
(list; optional): contains attribute names to omit from the drag'n'drop portion of the UImenuLimit
(number; optional): maximum number of values to list in the double-click menuunusedOrientationCutoff
(number; optional): If the attributes' names' combined length in characters exceeds this value then the unused attributes area will be shown vertically to the left of the UI instead of horizontally above it. 0 therefore means 'always vertical', and Infinity means 'always horizontal'.
The following props can be used as an input to callbacks, but can't be modified:
cols
(list; optional): Which columns are currently in the column areacolOrder
(string; optional): The order in which column data is provided to the renderer, must be one of "key_a_to_z", "value_a_to_z", "value_z_to_a", ordering by value orders by column totalrows
(list; optional): Which rows is currently inside the row area.rowOrder
(string; optional): The order in which row data is provided to the renderer, must be one of "key_a_to_z", "value_a_to_z", "value_z_to_a", ordering by value orders by row totalaggregatorName
(string; optional): Which aggregator is currently selected. E.g. Count, Sum, Average, etc.vals
(list; optional): Attribute names used as arguments to aggregator (gets passed to aggregator generating function)rendererName
(string; optional): Which renderer is currently selected. E.g. Table, Line Chart, ScattervalueFilter
(dictionnary; optional): Object whose keys are attribute names and values are objects of attribute value-boolean pairs which denote records to include or exclude from computation and rendering; used to prepopulate the filter menus that appear on double-click
Default Values:
menuLimit
: 500unusedOrientationCutoff
: 85hiddenAttributes
: []hiddenFromAggregators
: []hiddenFromDragDrop
: []
You can find the following FAQs in contributing.md: