Computer-implemented systems and methods for processing a multi-dimensional data structure
First Claim
Patent Images
1. A computer-implemented method, comprising:
- receiving, in a computing system, data associated with a multi-dimensional cube, wherein the multi-dimensional cube includes multiple cells, and wherein each of the cells is referenced by an index number;
receiving a cell selection rule;
identifying one or more cells within the multi-dimensional cube, wherein identifying is based on the received cell selection rule and is performed on a computing device, wherein each cell is associated with multiple dimensions in the multi-dimensional cube, wherein each dimension includes a plurality of dimension members, and wherein each dimension member is associated with one or more offset values;
determining that the identified cells form a sub-cube within the multi-dimensional cube, wherein determining includes finding that two of the identified cells share same dimension members from all but one dimension of the multi-dimensional cube;
calculating, with one or more computer processors, the index number that references a start cell in the sub-cube, wherein calculating the index number that references the start cell includes using offset values associated with dimension members associated with the start cell;
calculating, with the one or more computing processors, the index numbers that reference each other cell in the sub-cube, wherein calculating the index numbers includes using the index number that references the start cell and involves;
calculating flatIndex2=flatIndex1+dimMultipliers[dim]×
(rank2−
rank1),wherein;
flatIndex2 represents a cell index of a cell to be identified,flatIndex1 represents a known cell index of a base cell,rank1 represents an offset value of a dimension member of the base cell,rank2 represents an offset value of a dimension member of the cell to be identified that is in a same dimension as the dimension member of the base cell,dim represents the dimensions of the multi-dimensional cube; and
dimMultipliers[dim] represent multipliers of the dimensions of the multi-dimensional cube; and
outputting the cell index numbers for the sub-cube, wherein the outputted cell index numbers identify the cells in the sub-cube.
1 Assignment
0 Petitions
Accused Products
Abstract
Computer-implemented systems and methods are provided for processing a multi-dimensional data structure. For example, systems and methods are provided for processing the multi-dimensional data structure and allowing cell selection rules related to the multi-dimensional data structure to be resolved efficiently, so that computational cost associated with processing the multi-dimensional data structure can be saved.
-
Citations
33 Claims
-
1. A computer-implemented method, comprising:
-
receiving, in a computing system, data associated with a multi-dimensional cube, wherein the multi-dimensional cube includes multiple cells, and wherein each of the cells is referenced by an index number; receiving a cell selection rule; identifying one or more cells within the multi-dimensional cube, wherein identifying is based on the received cell selection rule and is performed on a computing device, wherein each cell is associated with multiple dimensions in the multi-dimensional cube, wherein each dimension includes a plurality of dimension members, and wherein each dimension member is associated with one or more offset values; determining that the identified cells form a sub-cube within the multi-dimensional cube, wherein determining includes finding that two of the identified cells share same dimension members from all but one dimension of the multi-dimensional cube; calculating, with one or more computer processors, the index number that references a start cell in the sub-cube, wherein calculating the index number that references the start cell includes using offset values associated with dimension members associated with the start cell; calculating, with the one or more computing processors, the index numbers that reference each other cell in the sub-cube, wherein calculating the index numbers includes using the index number that references the start cell and involves;
calculating flatIndex2=flatIndex1+dimMultipliers[dim]×
(rank2−
rank1),wherein; flatIndex2 represents a cell index of a cell to be identified, flatIndex1 represents a known cell index of a base cell, rank1 represents an offset value of a dimension member of the base cell, rank2 represents an offset value of a dimension member of the cell to be identified that is in a same dimension as the dimension member of the base cell, dim represents the dimensions of the multi-dimensional cube; and dimMultipliers[dim] represent multipliers of the dimensions of the multi-dimensional cube; and outputting the cell index numbers for the sub-cube, wherein the outputted cell index numbers identify the cells in the sub-cube. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system, comprising:
-
one or more processors; a non-transitory computer-readable storage medium including instructions configured to cause the one or more processors to perform operations, including; receiving data associated with a multi-dimensional cube, wherein the multi-dimensional cube includes multiple cells, and wherein each of the cells is referenced by an index number; receiving a cell selection rule; identifying one or more cells within the multi-dimensional cube, wherein identifying is based on the received cell selection rule, wherein each cell is associated with multiple dimensions in the multi-dimensional cube, wherein each dimension includes a plurality of dimension members, and wherein each dimension member is associated with one or more offset values; determining that the identified cells form a sub-cube within the multi-dimensional cube, wherein determining includes finding that two of the identified cells share same dimension members from all but one dimension of the multi-dimensional cube; calculating the index number that references a start cell in the sub-cube, wherein calculating the index number that references the start cell includes using offset values associated with dimension members associated with the start cell; calculating the index numbers that reference each other cell in the sub-cube, wherein calculating the index numbers includes using the index number that references the start cell and involves;
calculating flatIndex2=flatIndex1+dimMultipliers[dim]×
(rank2−
rank1),wherein; flatIndex2 represents a cell index of a cell to be identified, flatIndex1 represents a known cell index of a base cell, rank1 represents an offset value of a dimension member of the base cell, rank2 represents an offset value of a dimension member of the cell to be identified that is in a same dimension as the dimension member of the base cell, dim represents the dimensions of the multi-dimensional cube; and dimMultipliers[dim] represent multipliers of the dimensions of the multi-dimensional cube; and outputting the cell index numbers for the sub-cube, wherein the outputted cell index numbers identify the cells in the sub-cube. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-program product, tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to:
-
receive data associated with a multi-dimensional cube, wherein the multi-dimensional cube includes multiple cells, and wherein each of the cells is referenced by an index number; receive a cell selection rule; identify one or more cells within the multi-dimensional cube, wherein identifying is based on the received cell selection rule, wherein each cell is associated with multiple dimensions in the multi-dimensional cube, wherein each dimension includes a plurality of dimension members, and wherein each dimension member is associated with one or more offset values; determine that the identified cells form a sub-cube within the multi-dimensional cube, wherein determining includes finding that two of the identified cells share same dimension members from all but one dimension of the multi-dimensional cube; calculate the index number that references a start cell in the sub-cube, wherein calculating the index number that references the start cell includes using offset values associated with dimension members associated with the start cell; calculate the index numbers that reference each other cell in the sub-cube, wherein calculating the index numbers includes using the index number that references the start cell and involves;
calculating flatIndex2=flatIndex1+dimMultipliers[dim]×
(rank2−
rank1),wherein; flatIndex2 represents a cell index of a cell to be identified, flatIndex1 represents a known cell index of a base cell, rank1 represents an offset value of a dimension member of the base cell, rank2 represents an offset value of a dimension member of the cell to be identified that is in a same dimension as the dimension member of the base cell, dim represents the dimensions of the multi-dimensional cube; and dimMultipliers[dim] represent multipliers of the dimensions of the multi-dimensional cube; and output the cell index numbers for the sub-cube, wherein the outputted cell index numbers identify the cells in the sub-cube. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification