NReco.PivotData by Vitalii Fedorchenko

<PackageReference Include="NReco.PivotData" Version="1.4.2" />

 NReco.PivotData 1.4.2

PivotData OLAP library: in-memory multidimensional dataset for data aggregations (count, sum, avg, min, max, count unique, median, mode or custom function), OLAP queries (roll-ups, slice and dice, transformations), pivot table data model. Source code and examples: https://github.com/nreco/pivotdata Usage conditions, online demo: https://www.nrecosite.com/pivot_data_library_net.aspx Get started: https://www.nrecosite.com/pivotdata/cube-basics.aspx

<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>NReco.PivotData</id>
    <version>1.4.2</version>
    <authors>Vitalii Fedorchenko</authors>
    <licenseUrl>https://www.nrecosite.com/pivot_data_library_net.aspx</licenseUrl>
    <projectUrl>https://www.nrecosite.com/pivot_data_library_net.aspx</projectUrl>
    <iconUrl>https://www.nrecosite.com/img/nreco-logo-200.png</iconUrl>
    <description>PivotData OLAP library: in-memory multidimensional dataset for data aggregations (count, sum, avg, min, max, count unique, median, mode or custom function), OLAP queries (roll-ups, slice and dice, transformations), pivot table data model.
	
Source code and examples: https://github.com/nreco/pivotdata
Usage conditions, online demo: https://www.nrecosite.com/pivot_data_library_net.aspx
Get started: https://www.nrecosite.com/pivotdata/cube-basics.aspx</description>
    <releaseNotes>v.1.4.2 changes:
- PivotTable now skips Key.Empty keys when calculates ColumnKeys/RowKeys (github issue #11)

v.1.4.1 changes:
- AverageAggregator (and SumAggregator) now returns null instead of zero if count=0 (like SQL AVG/SUM)

v.1.4.0 changes:
- added netstandard2.1 build
- added PivotData.ProcessDataAsync methods (available only in netstandard2.1 build)

v.1.3.8 changes:
- removed builds for legacy targets (only netstandard20 and net45 are included)
- PivotTable class: fixed issue with sort-by-value for single-measure that is FormulaAggregator
- PivotTable class: fixed issue with sort-by-value when aggregator value is IList (ListAggregator, ListUniqueAggregator)
- PivotTable class: added ability to set custom IComparer for values (ValuesComparer property)
- PivotData class: fixed issue in ValueKey comparison for numeric dimension keys (cases like int vs long).

v.1.3.7 changes:
- fixed PivotDataState serialization issue with Key.Empty
- PivotData class: XOR-based hash function for keys replaced with sum-based to avoid collisions
- performance optimization: less array allocations in PivotData.ProcessData method and PivotTable class

v.1.3.6 changes:
- added ModeAggregator (calculates value that appears most often)
- fixed issue with slow sub-totals calculation in some cases
- always use InvariantCulture for numbers parsing</releaseNotes>
    <copyright>Copyright (c) 2015-2023 Vitalii Fedorchenko</copyright>
    <tags>Pivot Table PivotTable Pivot-Table OLAP Cube Crosstab Matrix Multidimensional Slice Dice Aggregation dynamic-grouping netcore net45</tags>
    <repository type="git" url="https://github.com/nreco/pivotdata.git" />
    <dependencies>
      <group targetFramework=".NETFramework4.5" />
      <group targetFramework=".NETStandard2.0" />
      <group targetFramework=".NETStandard2.1" />
    </dependencies>
    <frameworkAssemblies>
      <frameworkAssembly assemblyName="System.Data" targetFramework=".NETFramework4.5" />
      <frameworkAssembly assemblyName="System" targetFramework=".NETFramework4.5" />
    </frameworkAssemblies>
  </metadata>
</package>