UNPKG

@steelbreeze/pivot

Version:

Minimal TypeScript / JavaScript n-cube library

749 lines 55.9 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Pivot</title> <meta name="description" content="Documentation for Pivot"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="assets/css/main.css"> <script async src="assets/js/search.js" id="search-script"></script> </head> <body> <header> <div class="tsd-page-toolbar"> <div class="container"> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base="."> <div class="field"> <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <input id="tsd-search-field" type="text" /> </div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li> </ul> <a href="index.html" class="title">Pivot</a> </div> <div class="table-cell" id="tsd-widgets"> <div id="tsd-filter"> <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <div class="tsd-filter-group"> <div class="tsd-select" id="tsd-filter-visibility"> <span class="tsd-select-label">All</span> <ul class="tsd-select-list"> <li data-value="public">Public</li> <li data-value="protected">Public/Protected</li> <li data-value="private" class="selected">All</li> </ul> </div> <input type="checkbox" id="tsd-filter-inherited" checked /> <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label> </div> </div> <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> </div> </div> </div> </div> <div class="tsd-page-title"> <div class="container"> <h1>Pivot</h1> </div> </div> </header> <div class="container container-main"> <div class="row"> <div class="col-8 col-content"> <section class="tsd-panel-group tsd-index-group"> <h2>Index</h2> <section class="tsd-panel tsd-index-panel"> <div class="tsd-index-content"> <section class="tsd-index-section "> <h3>Interfaces</h3> <ul class="tsd-index-list"> <li class="tsd-kind-interface tsd-has-type-parameter"><a href="interfaces/axes.html" class="tsd-kind-icon">Axes</a></li> <li class="tsd-kind-interface tsd-has-type-parameter"><a href="interfaces/criterion.html" class="tsd-kind-icon">Criterion</a></li> <li class="tsd-kind-interface tsd-has-type-parameter"><a href="interfaces/options.html" class="tsd-kind-icon">Options</a></li> <li class="tsd-kind-interface"><a href="interfaces/pair.html" class="tsd-kind-icon">Pair</a></li> </ul> </section> <section class="tsd-index-section "> <h3>Type aliases</h3> <ul class="tsd-index-list"> <li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#criteria" class="tsd-kind-icon">Criteria</a></li> <li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#cube" class="tsd-kind-icon">Cube</a></li> <li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#dimension" class="tsd-kind-icon">Dimension</a></li> <li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#func1" class="tsd-kind-icon">Func1</a></li> <li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#func2" class="tsd-kind-icon">Func2</a></li> <li class="tsd-kind-type-alias"><a href="index.html#key" class="tsd-kind-icon">Key</a></li> <li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#predicate" class="tsd-kind-icon">Predicate</a></li> <li class="tsd-kind-type-alias"><a href="index.html#row" class="tsd-kind-icon">Row</a></li> <li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="index.html#table" class="tsd-kind-icon">Table</a></li> <li class="tsd-kind-type-alias"><a href="index.html#value" class="tsd-kind-icon">Value</a></li> </ul> </section> <section class="tsd-index-section "> <h3>Functions</h3> <ul class="tsd-index-list"> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#average" class="tsd-kind-icon">average</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#count" class="tsd-kind-icon">count</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#cube" class="tsd-kind-icon">cube</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#derivedimension" class="tsd-kind-icon">derive<wbr>Dimension</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#dimension" class="tsd-kind-icon">dimension</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#filter" class="tsd-kind-icon">filter</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#join" class="tsd-kind-icon">join</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#map" class="tsd-kind-icon">map</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#select" class="tsd-kind-icon">select</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="index.html#sum" class="tsd-kind-icon">sum</a></li> </ul> </section> </div> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Type aliases</h2> <section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"> <a name="criteria" class="tsd-anchor"></a> <h3>Criteria</h3> <div class="tsd-signature tsd-kind-icon">Criteria&lt;TRow&gt;<span class="tsd-signature-symbol">:</span> <a href="interfaces/criterion.html" class="tsd-signature-type" data-tsd-kind="Interface">Criterion</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L38">index.ts:38</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The set of critera to used for a point on a dimension.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"> <a name="cube" class="tsd-anchor"></a> <h3>Cube</h3> <div class="tsd-signature tsd-kind-icon">Cube&lt;TRow&gt;<span class="tsd-signature-symbol">:</span> <a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L56">index.ts:56</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A cube of data.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"> <a name="dimension" class="tsd-anchor"></a> <h3>Dimension</h3> <div class="tsd-signature tsd-kind-icon">Dimension&lt;TRow&gt;<span class="tsd-signature-symbol">:</span> <a href="index.html#criteria" class="tsd-signature-type" data-tsd-kind="Type alias">Criteria</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L41">index.ts:41</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>An dimension to pivot a table by.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"> <a name="func1" class="tsd-anchor"></a> <h3>Func1</h3> <div class="tsd-signature tsd-kind-icon">Func1&lt;TArg1, TResult&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>arg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TArg1</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">TResult</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L2">index.ts:2</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A function taking one argument and returning a result.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TArg1</h4> </li> <li> <h4>TResult</h4> </li> </ul> <div class="tsd-type-declaration"> <h4>Type declaration</h4> <ul class="tsd-parameters"> <li class="tsd-parameter-signature"> <ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias"> <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>arg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TArg1</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TResult</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>arg: <span class="tsd-signature-type">TArg1</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">TResult</span></h4> </li> </ul> </li> </ul> </div> </section> <section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"> <a name="func2" class="tsd-anchor"></a> <h3>Func2</h3> <div class="tsd-signature tsd-kind-icon">Func2&lt;TArg1, TArg2, TResult&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>arg1<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TArg1</span>, arg2<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TArg2</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">TResult</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L5">index.ts:5</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A function taking two arguments and returning a result.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TArg1</h4> </li> <li> <h4>TArg2</h4> </li> <li> <h4>TResult</h4> </li> </ul> <div class="tsd-type-declaration"> <h4>Type declaration</h4> <ul class="tsd-parameters"> <li class="tsd-parameter-signature"> <ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias"> <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>arg1<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TArg1</span>, arg2<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TArg2</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TResult</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>arg1: <span class="tsd-signature-type">TArg1</span></h5> </li> <li> <h5>arg2: <span class="tsd-signature-type">TArg2</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">TResult</span></h4> </li> </ul> </li> </ul> </div> </section> <section class="tsd-panel tsd-member tsd-kind-type-alias"> <a name="key" class="tsd-anchor"></a> <h3>Key</h3> <div class="tsd-signature tsd-kind-icon">Key<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Exclude</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">keyof </span><a href="index.html#value" class="tsd-signature-type" data-tsd-kind="Type alias">Value</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">symbol</span><span class="tsd-signature-symbol">&gt;</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L14">index.ts:14</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The type of keys used to reference values in data structures.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"> <a name="predicate" class="tsd-anchor"></a> <h3>Predicate</h3> <div class="tsd-signature tsd-kind-icon">Predicate&lt;TArg&gt;<span class="tsd-signature-symbol">:</span> <a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TArg</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L8">index.ts:8</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A function taking one argument and returning a boolean result.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TArg</h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-type-alias"> <a name="row" class="tsd-anchor"></a> <h3>Row</h3> <div class="tsd-signature tsd-kind-icon">Row<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><a href="index.html#key" class="tsd-signature-type" data-tsd-kind="Type alias">Key</a><span class="tsd-signature-symbol">, </span><a href="index.html#value" class="tsd-signature-type" data-tsd-kind="Type alias">Value</a><span class="tsd-signature-symbol">&gt;</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L17">index.ts:17</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A set of attributes in a row of a table, each addressable via a key.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"> <a name="table" class="tsd-anchor"></a> <h3>Table</h3> <div class="tsd-signature tsd-kind-icon">Table&lt;TRow&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">[]</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L53">index.ts:53</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A table of data.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-type-alias"> <a name="value" class="tsd-anchor"></a> <h3>Value</h3> <div class="tsd-signature tsd-kind-icon">Value<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L11">index.ts:11</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The type of values used in source data structures.</p> </div> </div> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Functions</h2> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="average" class="tsd-anchor"></a> <h3>average</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">average&lt;TRow&gt;<span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L150">index.ts:150</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A generator, to create a function to pass into query that averages numerical values derived from rows in a cube .</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>selector: <a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>A callback function to derive a numerical value for each row.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="count" class="tsd-anchor"></a> <h3>count</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">count&lt;TRow&gt;<span class="tsd-signature-symbol">(</span>table<span class="tsd-signature-symbol">: </span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L158">index.ts:158</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Counts the number of items in a table.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>table: <a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>The source table.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="cube" class="tsd-anchor"></a> <h3>cube</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">cube&lt;TRow&gt;<span class="tsd-signature-symbol">(</span>table<span class="tsd-signature-symbol">: </span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span>, axes<span class="tsd-signature-symbol">: </span><a href="interfaces/axes.html" class="tsd-signature-type" data-tsd-kind="Interface">Axes</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="index.html#cube" class="tsd-signature-type" data-tsd-kind="Type alias">Cube</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L100">index.ts:100</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Pivots a table by two axes</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>table: <a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>The source data, an array of rows.</p> </div> </li> <li> <h5>axes: <a href="interfaces/axes.html" class="tsd-signature-type" data-tsd-kind="Interface">Axes</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>The dimensions to use for the x and y axes.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="index.html#cube" class="tsd-signature-type" data-tsd-kind="Type alias">Cube</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="derivedimension" class="tsd-anchor"></a> <h3>derive<wbr>Dimension</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">derive<wbr>Dimension&lt;TRow&gt;<span class="tsd-signature-symbol">(</span>table<span class="tsd-signature-symbol">: </span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span>, key<span class="tsd-signature-symbol">: </span><a href="index.html#key" class="tsd-signature-type" data-tsd-kind="Type alias">Key</a>, options<span class="tsd-signature-symbol">?: </span><a href="interfaces/options.html" class="tsd-signature-type" data-tsd-kind="Interface">Options</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="index.html#dimension" class="tsd-signature-type" data-tsd-kind="Type alias">Dimension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L83">index.ts:83</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Creates a derived dimension based on the contents of column in a table.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>table: <a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>The source table, an array of objects.</p> </div> </li> <li> <h5>key: <a href="index.html#key" class="tsd-signature-type" data-tsd-kind="Type alias">Key</a></h5> <div class="tsd-comment tsd-typography"> <p>The name to give this dimension.</p> </div> </li> <li> <h5>options: <a href="interfaces/options.html" class="tsd-signature-type" data-tsd-kind="Interface">Options</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = {}</span></h5> <div class="tsd-comment tsd-typography"> <p>An optional structure, containing two configuration parameters: get, a callback function used to convert values in the source table to those in the dimension when pivoting; sort, a method used to sort the values in the axis.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="index.html#dimension" class="tsd-signature-type" data-tsd-kind="Type alias">Dimension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="dimension" class="tsd-anchor"></a> <h3>dimension</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">dimension&lt;TRow&gt;<span class="tsd-signature-symbol">(</span>values<span class="tsd-signature-symbol">: </span><a href="index.html#value" class="tsd-signature-type" data-tsd-kind="Type alias">Value</a><span class="tsd-signature-symbol">[]</span>, key<span class="tsd-signature-symbol">: </span><a href="index.html#key" class="tsd-signature-type" data-tsd-kind="Type alias">Key</a>, get<span class="tsd-signature-symbol">?: </span><a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">, </span><a href="index.html#value" class="tsd-signature-type" data-tsd-kind="Type alias">Value</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="index.html#dimension" class="tsd-signature-type" data-tsd-kind="Type alias">Dimension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L73">index.ts:73</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Creates a dimension from an array of values.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>values: <a href="index.html#value" class="tsd-signature-type" data-tsd-kind="Type alias">Value</a><span class="tsd-signature-symbol">[]</span></h5> <div class="tsd-comment tsd-typography"> <p>The source values.</p> </div> </li> <li> <h5>key: <a href="index.html#key" class="tsd-signature-type" data-tsd-kind="Type alias">Key</a></h5> <div class="tsd-comment tsd-typography"> <p>The name to give this dimension.</p> </div> </li> <li> <h5>get: <a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">, </span><a href="index.html#value" class="tsd-signature-type" data-tsd-kind="Type alias">Value</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></h5> <div class="tsd-comment tsd-typography"> <p>An optional callback function used to convert values in the source table to those in the dimension when pivoting.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="index.html#dimension" class="tsd-signature-type" data-tsd-kind="Type alias">Dimension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="filter" class="tsd-anchor"></a> <h3>filter</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">filter&lt;TRow&gt;<span class="tsd-signature-symbol">(</span>cube<span class="tsd-signature-symbol">: </span><a href="index.html#cube" class="tsd-signature-type" data-tsd-kind="Type alias">Cube</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span>, predicate<span class="tsd-signature-symbol">: </span><a href="index.html#predicate" class="tsd-signature-type" data-tsd-kind="Type alias">Predicate</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="index.html#cube" class="tsd-signature-type" data-tsd-kind="Type alias">Cube</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L117">index.ts:117</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Filters data within a cube.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>cube: <a href="index.html#cube" class="tsd-signature-type" data-tsd-kind="Type alias">Cube</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>The source cube.</p> </div> </li> <li> <h5>predicate: <a href="index.html#predicate" class="tsd-signature-type" data-tsd-kind="Type alias">Predicate</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>A predicate to filter the cube by.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="index.html#cube" class="tsd-signature-type" data-tsd-kind="Type alias">Cube</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="join" class="tsd-anchor"></a> <h3>join</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">join&lt;TRow&gt;<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>dimensions<span class="tsd-signature-symbol">: </span><a href="index.html#dimension" class="tsd-signature-type" data-tsd-kind="Type alias">Dimension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="index.html#dimension" class="tsd-signature-type" data-tsd-kind="Type alias">Dimension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L91">index.ts:91</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Create a composite dimension from others. This creates a cartesian product of the source dimensions criteria.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> </ul> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>dimensions: <a href="index.html#dimension" class="tsd-signature-type" data-tsd-kind="Type alias">Dimension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></h5> <div class="tsd-comment tsd-typography"> <p>An array of dimensions to combine into one.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="index.html#dimension" class="tsd-signature-type" data-tsd-kind="Type alias">Dimension</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="map" class="tsd-anchor"></a> <h3>map</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">map&lt;TRow, TResult&gt;<span class="tsd-signature-symbol">(</span>cube<span class="tsd-signature-symbol">: </span><a href="index.html#cube" class="tsd-signature-type" data-tsd-kind="Type alias">Cube</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span>, selector<span class="tsd-signature-symbol">: </span><a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">TResult</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TResult</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L126">index.ts:126</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Queries data from a cube.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> <li> <h4>TResult</h4> </li> </ul> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>cube: <a href="index.html#cube" class="tsd-signature-type" data-tsd-kind="Type alias">Cube</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>The source cube.</p> </div> </li> <li> <h5>selector: <a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">TResult</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>A callback function to create a result from each cell of the cube.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">TResult</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="select" class="tsd-anchor"></a> <h3>select</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">select&lt;TRow, TResult&gt;<span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">TResult</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">TResult</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L134">index.ts:134</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>A generator, used to transform the source data in a cube to another representation.</p> </div> </div> <h4 class="tsd-type-parameters-title">Type parameters</h4> <ul class="tsd-type-parameters"> <li> <h4>TRow<span class="tsd-signature-symbol">: </span><a href="index.html#row" class="tsd-signature-type" data-tsd-kind="Type alias">Row</a></h4> </li> <li> <h4>TResult</h4> </li> </ul> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>selector: <a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">TResult</span><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p>A function to transform a source record into the desired result.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">TResult</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-has-type-parameter"> <a name="sum" class="tsd-anchor"></a> <h3>sum</h3> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <li class="tsd-signature tsd-kind-icon">sum&lt;TRow&gt;<span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="index.html#func1" class="tsd-signature-type" data-tsd-kind="Type alias">Func1</a><span class="tsd-signature-symbol">&lt;</span><a href="index.html#table" class="tsd-signature-type" data-tsd-kind="Type alias">Table</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TRow</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/steelbreeze/pivot/blob/80673e7/src/index.ts#L142">index.ts:142</a></li> </ul> </aside> <div class="tsd-comment tsd-typ