Hiperspace.SQL 2.5.33

Prefix Reserved
dotnet add package Hiperspace.SQL --version 2.5.33
                    
NuGet\Install-Package Hiperspace.SQL -Version 2.5.33
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hiperspace.SQL" Version="2.5.33" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Hiperspace.SQL" Version="2.5.33" />
                    
Directory.Packages.props
<PackageReference Include="Hiperspace.SQL" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Hiperspace.SQL --version 2.5.33
                    
#r "nuget: Hiperspace.SQL, 2.5.33"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Hiperspace.SQL@2.5.33
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Hiperspace.SQL&version=2.5.33
                    
Install as a Cake Addin
#tool nuget:?package=Hiperspace.SQL&version=2.5.33
                    
Install as a Cake Tool

Package Description

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.5.33 28 2/14/2026
2.5.32 93 1/30/2026
2.5.29 86 1/17/2026
2.5.28 99 12/31/2025
2.5.26 182 12/21/2025
2.5.21 423 12/10/2025
2.5.18 668 12/3/2025
2.5.8 178 11/15/2025
2.5.2 210 11/6/2025
2.5.0 188 10/20/2025
2.4.6 198 9/23/2025
2.4.4 275 8/7/2025
2.4.2 167 7/28/2025
2.4.0 191 7/10/2025
2.3.8 181 7/1/2025
2.3.4 186 6/5/2025
2.2.2 204 5/5/2025
2.2.1 257 4/14/2025
2.2.0 135 3/29/2025
2.1.9 267 3/5/2025
Loading failed

https://www.cepheis.com/hiperspace/20260214
# Overview

## Cube enhancements
`@CubeDimension` and `@CubeHierarchy` updated to better support generic access to Cube data from Graph Pivot-Table view.  
* `@CubeDimension` name parameter now refers to the property that provides the name of the element in a Pivot-Table dimension.
* `@CubeHierarchy` has additional parameters for *Children* and *Level*

Create GPU Accelerated Graph Search introduced a problem for cubes in that every single permutation of aggregate would be evaluated to produce the Graph cache resulting in:
* A dense MOLAP cube
* Expensive invalidation when cube *facts* change

The  **Cube** model has been split into *_Fact* entity containing just base aggregates projected from `@CubeFact` elements, and *_Cube* elements that are calculated *on demand* for summaries.

*Drilldown* performed well when then was a very small number of dimensions and hierarchy levels, but poorly when the complexity increases.  The mode has been changed from using *Drilldown* as an index for aggregate calculation  to a scan of matching *facts*

### Is Fact
`IsFact` attribute of *_Cube* and *_Fact* has been removed, as it is no longer needed.  This is a help for BI access of Cube data via ODATA.

-----

### Cube Hierarchy
Keep hierarchy has been enhanced to include the name of the children property in addition to parent and add level to support aggregation of cube summaries

An example dimension is Organization that is structured as a hierarchy with *Parent* as a reference to the aggregation line, and *Children* as a collection of organization units below the current node.  When referenced by a `@CubeFact` element, the aggregate values of all `@CubeMeasure`s members show the aggregate value of the *node* and all *child nodes*
```
@CubeDimension, CubeHierarchy(Parent, Children, Tier)
entity Organization (Name : String) {Description : String, Parent : Organization, Tier : Int32} [Children : Organization (Parent = this)];
```
The generated code implements `@CubeHierarchy` using the `ICubeHierarchy<TEntity>` that now includes

|Name|Notes|
|-|-|-|
|Parent| Reference to parent, that must be the same type as the element|
|Children| Collection of child nodes that must be the same type as the element|
|AllPartents()| Function that recursively yields the entire hierarchy upto root node |
|AllChildren()|Function that  recursively  yields every child node and all their child nodes |
| Level | Level in Hierarchy for **Pivot Table** views that have separate tabs for each level of the hierarchy |

-----

### Cube Measure
`@CubeMeasure` has been enhanced include [Population Standard Deviation](https://en.wikipedia.org/wiki/Standard_deviation) and [Ranked Percentile](https://en.wikipedia.org/wiki/Percentile) aggregates.  `Aggregate.StdDev` and `Aggregate. Percentile` use the `Vector` pseudo-aggregate member that includes every observation in the *_Fact* element for precise aggregation at the summary level.

```
@CubeFact, DeltaIndex
aspect Valuation {@CubeMeasure(Aggregate.Sum) NPV : Decimal}
[@CubeMeasure(Aggregate.StdDev) Deviation = NPV, @CubeMeasure(Aggregate.Percentile, 95) PFE = NPV];
```
is equivalent to

|Name|Notes|
|-|-|-|-|-|
| NPV | Total across dimensions, up through hierarchies|
|Deviation | Populate standard deviation for all elements|
|PFE|The top 95% of all simulated scenarios across the entire set at each  level|

When the *Hiperspace* is hosted using **Hiperspace.DB** the *_Fact* and *_Cube* elements are automatically recalculated:
* When a *Fact* changes the **_Fact** entity is recalculated with its *dimension* references
* When an element that a *Fact* is dependent on changes the **_Fact** entity is recalculated
* When a **Dimension** changes, any **_Cube** elements that reference it are recalculated.

Because **_Facts**  and **_Cubes** are recalculated using a *delta* of changed elements in real-time, it is possible for **Facts** to be calculated from other aggregated **Facts**. Both ***Facts*** and  ***Cubes*** track history  through time (*using `GetVersions()` functions*)