 |
HierCube 4.49 (08/02/07):
New features:
-
Delphi 2007 support.
-
Documentation updated.
Bugs fixed:
-
Sometimes direct export to XLS files produces wrong file format, so that it cannot
be opened by Excel. This especially occurs when there are many columns in the grid.
-
When the cube raises the "There's no connection to database" exception, it hides
the original exception, that may be useful to find out the reason.
HierCube 4.48 (02/07/07):
New features:
-
New ability to change the default icon displayed in the internal grid. This can
be done using the THierCubeGrid.OnDrawCell event handler. See description of the
event for details.
-
Documentation updated.
Bugs fixed:
-
Sometimes the Fact Table Editor ends up with the "Out of memory" exception after
clicking the "OK" button.
-
When the source data set is empty the Fact Table Editor doesn't even show up because
of the "Out of memory" exception.
HierCube 4.47 (10/23/06):
New features:
-
Loading from a compressed stream is now 4 times faster. This is especially visibly
on the large streams (10MB and above).
-
New event THierCubeGrid.OnCloseDimensionEditor allows getting to know if a user
has changed something in the "Dimension Editor" window.
- Documentation updated.
Bugs fixed:
-
An exception is raised in the demo application when double clicking a grid cell.
- If the display name of a dimension is changed, all export components nevertheless
put out the initial display name.
Version 4.46 (03/23/06):
New features:
-
New event THierCubeGridExport.OnGetPageParams allows getting page properties from
the printer.
- Documentation updated.
Bugs fixed:
-
After filtering members in the "Dimension Editor" window sometimes the grid gets
empty in spite of the fact that there are some members to be visible.
-
When printing the grid directly on the printer, changing the page properties of
the printer doesn't affect the properties of the printed grid.
-
Memory leaks problem on using THierCubeGrid.OnGetPopupMenu event.
- If the cube is empty (no records in the fact table) it is not saved to the stream
correctly. This leads to the exception on reading it back from the stream: "Invalid
stream data at position XXX. Tag XXX expected".
Version 4.45 (03/13/06):
New features:
- The method THierCubeGrid.BuildViewDataset raises an exception when the HierCube
library compiled under Delphi 2006.
Bugs fixed:
-
In the "Dimension Editor" window the tool bar commands like "Select all", "Select
none", and "Inverse all" don't work correctly.
-
Sometimes when grouping dimension members, the opened (expanded) members in the
grid do not restore their expanded state correctly.
- In the VCL Demo Application the command "Creating the cube in run time" doesn't
work properly because of the wrong filed name in the database.
Version 4.44 (03/04/06):
New features:
-
New method xhPreview.ShowPreview allows the end user to give a look at the picture
of the grid before printing it.
- Documentation updated.
Bugs fixed:
-
In the "Dimension Editor" window the tool bar commands like "Select all", "Select
none", and "Inverse all" don't work correctly.
-
Sometimes when grouping dimension members, the opened (expanded) members in the
grid do not restore their expanded state correctly.
- In the VCL Demo Application the command "Creating the cube in run time" doesn't
work properly because of the wrong filed name in the database.
Version 4.43 (02/21/06):
New features:
-
Delphi 2006 support.
-
In the "Dimension Editor" window the enhanced search has been replaced with the
filter ability. Now you can filter the dimension members in order to simplify searching
for a specific member. You can use the "%" symbol as a wildcard in the filter mask.
-
The grid now can be sorted on clicking at any column header (i.e. summary, function,
or sub-function). So if you even turn some headers off, still you will be able to
sort the grid by any column.
- Documentation updated.
Bugs fixed:
-
The dimension panels in the grid don't display their captions under Windows 98.
- Some panels are displayed incorrectly in "Summary Settings", "Dimension Editor",
and "Dimension Map Editor" windows under Windows XP or Windows 2003 when XP themes
are on.
Version 4.42 (01/15/06):
New features:
-
In the "Dimension Editor" window enhanced search of dimension members in the tree
is now possible. You can use additional search panel to find the dimension member
containing specified word.
- Documentation updated.
Bugs fixed:
-
Being compiled under Delphi 2005 the Tree View in "Summary Settings" window works
incorrectly.
-
The form xhFormula.dfm cannot be opened from Delphi 5. The exception "Error reading
Panel1->DesignSize: Property does not exist" is raised on opening.
-
In the "Summary Settings" window on adding calculated item wrong item icon appears.
- Strange behavior on scrolling dimension panels in Page and Column grid areas.
Version 4.41 (12/02/05):
New features:
-
New event THierCubeGrid.OnInitPivotState allows setting initial state of the grid
when the cube initializes. This may be extremely useful if you want a user to start
exactly from the point where he stopped last time. See documentation for details
on using event.
-
New event THierCubeGrid.OnGetPopupMenu allows setting up the custom popup menu which
must be shown on right mouse button click instead of standard one. See documentation
for details on using event.
- Documentation updated.
Bugs fixed:
-
On editing the summaries in Wizard the "Access violation" error occurs.
-
Memory leaks in run time Dimension Editor.
-
If set the THierCubeGrid.VisualSettings.PivotVisible = False in design time then
start the application and set THierCubeGrid.VisualSettings.PivotVisible = True in
runtime then the dimension panels in the grid located in the wrong order.
- When creating and destroying the THierCubeChart component dynamically there may
be random "Access violation" errors after the chart is destroyed.
Version 4.40 (09/23/05):
New features:
-
Unicode support! Now the HierCube library VCL works fully using Unicode symbols
to represent strings. This allows displaying correct symbols even if the operating
system doesnÒt have the language at the moment. The Unicode is supported in all
levels of the library from Unicode streams to displaying of Unicode symbols on the
screen and exporting to all formats which ever support Unicode.
-
Design time Wizard for configuration the Cube Dimension Map in more friendly mode.
-
New event THierCubeGrid.OnCustomDrawCell allows customizing the grid cells drawing
providing Canvas property to draw the graphic primitives on. See documentation for
detailed description.
- Documentation updated.
Bugs fixed:
-
Sometimes on drilling a dimension member "Array out of Index" exception occurs.
-
When loading streams of earlier versions with THierCubeGrid.LoadFromStream method
the "Invalid property value" exception may occur.
-
Sometimes on restoring the previously saved grid states the dimensions that donÒt
have a dimension table may be restored incorrectly.
-
Sometimes after loading the cube from stream instead of creating from the database
the method THierCubeGrid.BuildViewDataset raises the "Access violation" exception.
- On restoring the grid state from the stream the order of summaries is not restored.
Version 4.32 (08/08/05):
New features:
-
New functionality on saving restoring dimension members in the state. New functionality
allows select what members must be saved to the stream (hidden, visible, or both)
and what members must be restored from the stream (hidden or visible). This provides
an ability to hide exactly those members that were hidden in the saved state or,
vice versa, show only those members that were visible in the saved state. For details
see description of THierCubeGrid.SaveToStream, RestoreFromStream methods in the
documentation.
-
Controlling the order of summaries in design and run time. Now the Summary Settings
Editor allows moving the summaries to another location thus changing their order.
- Documentation updated.
Bugs fixed:
-
Sometimes on drilling a dimension member "Array out of Index" exception occurs.
- When loading streams of earlier versions with THierCubeGrid.LoadFromStream method
the "Invalid property value" exception may occur.
Version 4.31 (06/27/05):
New features:
-
Calculated sub-functions. Now you can create your own sub-function, calculated on
your own algorithm, and even replace the method for evaluating any standard sub-function
with your own. The sub-functions now allow to create calculated cells in the grid
that can be calculated by your own algorithm. See "Using custom sub-functions" chapter
in tutorial for more information.
-
New published property THierCubeGrid.SubFunctionDefs allows to define in design
time what sub-functions must be available to a user at run time.
-
New method THierCubeGrid.BuildViewDataset returns dataset with all fact table records
that were used to aggregate the given grid cell. See documentation fro details.
-
New methods THierCube.SaveUncompressed/THierCubeGrid.SaveUncompressed allow to save
cube data without compressing that may sometimes be useful.
- Documentation updated.
Bugs fixed:
-
In Delphi 2005 Dimension Map Editor doesn't works correctly. This is because of
strange changes in standard TTreeView component in Delphi 2005.
-
When moving a dimension from its area, so that this area becomes empty, the "Array
index out of range" error can occur when another grid area has open dimension members
- In the dimension editor sort order may be broken when remove a dimension member
from the group area.
Version 4.30 (06/01/05):
New features:
-
Great speed and memory capacity optimization! Now the cubes having hierarchical
dimensions open much faster and take less memory. The more hierarchical dimensions
and hierarchical levels you have in your cube the faster it works! This is actual
for any kind of hierarchical dimensions (parent-child dimensions, composite dimensions,
and even for dimensions having groups). Also cubes with long dimensions now work
much faster.
-
New method THierCubeGridExport.ExportToClipboard allows to copy the grid content
to the system clipboard in corresponding format.
-
New export component THierCubeGridExportToTXT allows to export grid data in the
text format.
-
New export component THierCubeGridExportToBMP allows to export grid data in the
Windows Bitmap format.
-
New property THierCubeGridExportToExcel.Template allows to use predefined excel
template on exporting rather then creating a new Excel worksheet.
-
New property TExportOptions.MergeCells controls if the result cells will be merged
when needed to display a single value of the grid.
-
New property THierCube.Options.DupDimensionTableID defines the behavior of the cube
when some dimension table contains duplicating identifiers.
-
THierCubeGrid.OnInternalGridClick and OnInternalGridDblClick events have additional
argument with useful event properties.
-
New method THierCubeGrid.ShowAllMembers shows all hidden dimension members in the
dimension.
-
Numeric dimensions are now sorted by their values instead of their string representations.
- Documentation updated.
Bugs fixed:
-
Incorrect processing of Windows messages in THierCubeGrid component. This error
occurs only if there are many summaries in the cube (20 or more) and may lead to
"Stack overflow" error in run time or the system crash in design time.
- In Delphi 2005 the Dimension Editor window's TreeView components don't show correctly
the "Checked" state of the tree nodes. This causes the incorrect filtering situation
after applying filters in Delphi 2005.
Migration tips:
- Because of the change of some event types on compiling/saving old projects may occur
the errors like: "The GridBeforeEditCell method referenced by Grid.BeforeEditCell
has an incompatible parameter list. Remove the reference?" If this happens do not
remove the reference, click Cancel in this error window and change the type of last
Args argument in the event handler. For example, in GridBeforeEditCell event you
must change the type of Args parameter from TGeneralEvent to TBeforeEditCellEventArgs.
You can know the new type of the second parameter from the typecasting operator
in the event handler. For example, in GridBeforeEditCell event there is such typecasting
operator: TBeforeEditCellEventArgs(Args), so the new type of Args parameter must
be TBeforeEditCellEventArgs.
Version 4.24 (04/25/05):
New features:
-
Now you can choose what functions must be displayed for every summary in the THierCubeChart
component.
-
New THierCubeGrid.OnInternalGridClick occurs on clicking the grid over "InternalGrid"
component.
-
New property THierCubeGrid.Active allows to know if the grid connected with the
active THierCube component at the moment.
-
New method THierCubeGrid.ShowDimensionEditor allows to show the "Dimension Editor"
window in run time.
-
Some speed optimization.
- Documentation updated.
Bugs fixed:
-
When THierCubeGrid.Options property doesn't contain hgEditing flag (i.e. internal
editing is disabled), pressing F2 or Enter key causes the "Access violation" exception.
-
When assign the same dimension table to different dimensions in the "Dimension Map
Editor" combo-boxes with dataset fields in the window are not updated.
-
When there are no dimensions in the grid column area, the chart component is empty.
-
"Access violation" exception on closing the cube when THierCube.Options.LookupHasntTheValue
property has the value of lvAddFactTableID and the dimension table key field is
of string type.
-
When THierCube.Options.LookupHasntTheValue property has the value of lvAddFactTableID
and the fact table has dimension values that are not in the dimension table then
opening the cube may run into an endless loop.
-
If a screen saver works for several seconds or the computer is blocked by "Ctrl+Alt+Del",
then after coming back to Windows, the grid may raise an OS exception if the grid
is active at the moment.
-
Some hierarchical dimensions are not saved to a stream correctly, so after restoring
such dimensions may contain duplicating items in it.
-
THierCubeChart component raises Access Violation when the active cube is closed
and then opened back from a stream.
- In the "Dimension Editor" window when deleting a group with the members for a non
hierarchical dimension then its members go back to the member area (left tree),
but their names are the same as the name of the deleted group.
Version 4.23 (04/03/05):
New features:
-
New event THierCubeGrid.OnInternalGridDblClick is called when a user double clicks
with the mouse while the mouse pointer is over InternalGrid component.
-
New property value: THierCube.Options.LookupHasntTheValue property now may have
new value lvAddFactTableID. Setting this value causes the cube to create a new dimension
member when the corresponding one is not fount in the dimension table.
-
New property TVisualSettings.ShowAbsentTuples controls if the empty combinations
of dimension members are shown in the grid.
- Documentation updated.
Bugs fixed:
-
The grid always shows all dimension member combinations even if there are no corresponding
records in the fact table.
-
If integer summary is edited though the in-place editor in the grid, then the resulted
values are not saved correctly, so after editing the BuildCellDataset THierCubeGrid
method returns strange dataset.
-
After in-place editing the current grid cell is not restored.
- After grid editing all the dimensions lose their filtering state. The same happens
on RefreshFactTable method.
Version 4.22 (03/21/05):
New features:
-
THierCubeChart component now can show several summaries in a single chart. See THierCubeChart.Summaries
property for details.
-
The feature of editing the underlying database though the THierCubeGrid component
has been improved.
-
New event THierCubeGrid.BeforeEdit cell allows controlling what cells can actually
be edited in the grid.
-
New event THierCubeGrid.OnGetFactTableEditor allows changing the default fact table
editor and use custom form.
-
The THierCubeGrid.OnEditFactTable event format has been changed. So there may be
an error ": method referenced by OnEditFactTable has an incompatible parameter list"
on compiling the project using the old event. In this case you must change the parameter
list to the following before compiling the project: (Sender: TObject; Args: TEventArgs).
-
The same is for THierCubeGrid.OnSetEditText.
-
New property THierCubeGrid.VisualSettings.ShowIcons allows controlling if the icons
of summaries, functions, and sub-functions are displayed.
-
New event THierCubeGrid.OnInternalGridDblClick occurs when the user double clicks
with the mouse while the mouse pointer is over the InternalGrid component.
-
New property THierCubeGridExport.ColsWidths allows changing the width of the exported
columns.
-
New property AutoSize has been added for the components: THierCubeGridExportToHTML,
THierCubeGridExportToXML (XML Spreadsheep), THierCubeGridExportToMF, THierCubeGridPrint,
and THierCubeGridExportToExcel.
- Documentation updated.
Bugs fixed:
-
When update fact table (no matter with new or additional data) and then hide and
show back any dimension member, "access violation" error occurs.
-
The error occurs on creating a new calculated summary in run-time in "Summary Editor"
window.
-
After editing cell in the grid a error "Access violation :" occurs.
-
When editing one grid, other grids connected to same THierCube component are not
updated.
-
In old THierCubeGrid.OnDrawDataCell event Col and Row parameters are always 0, no
matter what cell is actually drawn.
-
On exporting the grid to Excel the OLE objects are not correctly freed, so the MS
Excel application stays in memory and there may be various errors because of this.
-
On closing the cube not all memory is released, so if open/close the cube many times
there may be memory leaks.
-
In the "Dimension Editor" window when clicking the 'OK' button the edited tree node
is not applies changes.
-
The pivot state is not restored when selecting one from the internal list of pivot
states.
- There is an "Access violation:" error on changing a range-based dimension's parameters
in run-time using "Dimension Editor" window.
Version 4.21 (02/07/05):
New features:
-
New localization functions in module xhConsts.pas: AddResStr, DeleteResStr, CreateResourceStrings
give a programmer an opportunity to change the resource strings displayed on the
screen in run time, giving the best chance to build multilanguage applications.
-
New overloaded methods LoadUserData give more ability on loading user specific data
from stream or file.
-
Now for all TDataset components which are read by HierCube, the DisableControls/EnableControls
methods are called, so the other components connected to the same TDataset are not
updated during the reading process.
-
New property TExportOptions.CharacterSet allows settings up the characters used
on export to HTML, XML, PDF, and RTF.
-
New property THierCubeGridExport.Units allows setting up units for the export page.
- Documentation updated.
Bugs fixed:
-
When using string dimensions without dimension table, the cube saves corrupted stream,
so that later THierCube.LoadUserData method raises the "Invalid property value"
exception.
-
On saving sorted state of the grid to a stream, wrong object size is saved.
- If save a pivot state, then add new dimension to Dimension Map, and then restore
back the previous pivot state, then the new dimension is out of cube.
Version 4.20 (01/18/05):
New features:
-
Delphi 2005 support. The distributive package now includes Delphi2005 packages.
-
Enhanced system of events in HierCube library. New events OnDrawCell, OnExportCell,
allow controlling the drawing, exporting process in a better way. See new event
in the application.
-
Universal event on pivot operations. Now on any pivot operation (rotating, filtering,
etc.) the universal event handler is called. See THierCubeGrid.BeforePivot and AfterPivot
events for detailed description.
-
Working with dimension members through their names instead of indexes. Now it is
possible to access the dimension members and groups in this manner: DimState.MoveToGroup('Austria.Graz.[Ernst
Handel]', 'Group2'). TDimensionState class has now many overloaded methods which
allow manipulating dimension members through their names. See TDimensionState.FindMember
method description for details.
-
New methods in TSummarySettings and TDimensionStates classes: BeginUpdate, EndUpdate
allow preventing updating of the grid when plural changes on summaries or dimensions
are performed.
-
Enhanced working with dimension groups in run time. Now it's possible to manage
dimension groups in runtime.
-
New methods THierCube.LoadUserDataFromStream, THierCube.LoadUserDataFromFile allow
reading some user specific data from the stream or file before reading the cube
data.
-
Export to PDF format has been added.
-
Colontitles and page settings added into export components.
-
Some speed optimization.
- Enhanced documentation. The documentation now includes Tutorial chapters.
Bugs fixed:
-
Sometimes color ranking doesn't works properly (wrong grid cells are colored).
-
The functions BuildDatasetXY, BuildDatasetX, BuildDatasetY raise an exception when
using with calculated summaries.
-
Access violation when opening a cube from an empty dataset.
- Some other minor problems have been fixed.
Version 4.12 (11/02/04):
New features:
-
New value of THierCubeOptions.DimMemberIsNull type dnCreateEmptyMember. Set DimMemberIsNull
to dnCreateEmptyMember if you have null dimension members in your fact table and
you want that these records were counted by the cube.
-
TPivotState now holds the sorting method on grid column value if it defined for
the grid.
-
Scrollable design time and run time Dimension Map Editors.
-
Some speed optimization on restoring of the grid from a stream.
- Documentation updated.
Bugs fixed:
-
The THierCube.Options.LookupHasntTheValue property doesn't control the situation
when the dimension table doesn't contain the value of the fact table: "Array out
of index" exception occurs instead on any property value.
-
In calculated summaries the function IF doesn't work if the "ELSE" clause is used.
-
Some sub-functions are calculated incorrectly when the dimensions in row/column
area don't show totals.
-
When the grid is sorted by some column open members of the dimension that doesn't
show totals may stay in incorrect order.
- On sorting grid by the column value, the real position of a dimension member can
change on its expanding/collapsing.
Version 4.11 (10/25/04):
New features:
-
New methods of THierCubeGrid component: BuildDatasetXY, BuildDatasetX, BuildDatasetY
return data that can be displayed in a chart component or used for some other similar
purpose. See documentation for description.
-
New event THierCubeGrid.OnChangeEditText occurs on editing of the text in grid inplace
text editor.
- Documentation updated.
Bugs fixed:
-
Wrong dimensions order on creating cube dimensions in run time using method THierCube.DefineFieldAsDimension.
-
When no key fields in the cube defined, the second activating of the cube causes
the access violation error.
-
When opening the cube second time (without freeing it before opening) with different
number of dimensions/summaries the access violation error occurs.
-
Sometimes the cube freeze if using hierarchical dimensions with "NULL" values in
Parent_ID field.
-
The runtime method TCustomHierCube.UndefineField clears any information of the field
in the Dimension Map, so that if later the fields is assigned with the same role,
dimension for example, all dimension information is lost and must be set again.
-
THierCubeGrid.OnSetEditText event is called on any change of the text in editor,
instead of on final changing.
- "Internal calculation error" exception in calculation of statistical functions when
there is records in the fact table for the parent members of any hierarchical dimension.
Version 4.10 (09/28/04):
New features:
-
Ability to change a range based dimension parameters in runtime Dimension Map Editor.
-
New method RefreshFactTable allows full refreshing the internal fact table. See
documentation for description.
-
The parameter list of the OnDrawDataCell event has been changed. On compiling a
project the error can appear: "The GridDrawDataCell method referenced by Grid.OnDrawDataCell
has an incompatible parameter list. Remove the reference?" Press "Cancel" button
and change the parameter list as shown in TDrawDataCellEvent description (find TDrawDataCellEvent
keyword).
-
The parameter list of the OnExportDataCell event has been changed. See documentation
for description of new TExportDataCellEvent event.
-
New events in THierCube component: BeforeReadFactTable, OnReadFactTable, AfterReadFactTable.
Can be used to make custom progress dialog. See documentation for description.
-
New property THierCube.Options.DimMemberIsNull controls how to behave when a dimension
member read from the database is null.
-
New command "Hide this dimension member" allows hiding the selected member in a
dimension.
-
New method THierCubeGrid.HideThisMember executes the command of the previous point.
-
Changing current sorting method though the grid local menu commands.
- Documentation updated.
Bugs fixed:
-
In design time on deleting the lookup dataset component for one of the fields of
a composite dimension, the pointer to a component doesn't set to nil.
-
When THierCubeGrid.OnCompareDimensionMembers is not defined the dimension editor
window raises a repeating access violation exception when trying to select Custom
sort.
- Wrong custom sorting on hierarchical (composite) dimensions.
Version 4.05 (09/16/04):
New features:
-
The sort order of dimension members in the "Dimension Editor" window now reflects
the current dimension's sort order.
-
Run time Dimension Map Editor has been improved;
-
New command "Hide all dimension members excepting this" allows selecting the most
important member in a dimension, hiding all other members.
-
New method THierCubeGrid.HideMembersExceptThis executes the command of the previous
point.
-
New property TDimensionState.IsGroup[Index: integer] allows to learn if a dimension
member is a group.
- Help updated.
Bugs fixed:
-
When defining dimensions in runtime, their real indexes in the Dimension Map are
different from dimension declaration order (using THierCube.DefineFieldAsDimension
method).
-
When clearing all summaries in the "Summary Setting Editor" using the button and
then check one summary, other summaries are also checked.
-
When exporting the grid second time with changed layout (column/row count) sometimes
not all rows/columns are exported.
-
When exporting directly to XLS format the result file is corrupted so that MS Excel
raises the error "error on file: The data can be lost".
-
On restoring a pivot state with defined groups it's not restored correctly or access
violation error occurs.
-
When using statistical functions sometimes THierCubeGrid component "hangs" on filtering
operation.
- In design time Dimension Map Editor fact table fields are cloned sometimes on saving.
Version 4.04 (08/16/04):
New features:
-
Some speed optimization.
-
New property TVisualSettings.ShowMoreIconsButton controls whether the button displaying
pivot states panel is visible in the grid.
-
In Summary Settings Editor new buttons added: Select All, Select None, and Inverse.
-
New method THierCubeGrid.BuildCellKeyDataset returns key fields of the fact table
records needed to aggregate the value of a grid cell. See help file for description.
-
New event THierCubeGrid.OnSetEditText is called after editing grid data cell directly
in the grid.
-
Method THierCubeGrid.SaveCurrentPivotState has been renamed into THierCubeGrid.CreateCurrentPivotState.
-
New method THierCubeGrid.SaveCurrentPivotState saves current grid's pivot state
into internal list of pivot states. If the pivot state with the given name already
exists in the list then the method writes the new state with the old name.
-
New method THierCubeGrid.DeletePivotState deletes given pivot state form internal
list of pivot states.
-
New property CurrentPivotStateName. Read this property to get the name of the current
pivot state in the grid. Setting the property will cause changing the current pivot
state in the grid as if RestorePivotState method had been run.
-
New property CurrentPivotState. Read this property to get the pivot state object
currently selected in the internal list of pivot states.
-
New event THierCubeGrid.OnSavePivotState is called on saving a pivot state into
internal list of pivot states.
-
New event THierCubeGrid.OnDeletePivotState is called on deleting a pivot state from
the internal list of pivot states.
- Help updated.
Bugs fixed:
-
Sometimes THierCube.UpdateFactTable method raises and exception "Array index out
of range".
-
Access violation occurs on hiding all summaries in Summary Settings Editor.
-
Access violation occurs when clicking on the grid column in empty grid.
-
In design time in Summary Settings Editor access violation error sometimes occurs
on switching between "Summary settings" and "Function settings" pages.
- In pivot states panel "Delete" button doesn't work.
Version 4.03 (08/02/04):
New features:
- Help updated.
Bugs fixed:
-
Sometimes Access violation error occurs on pivot state restoring.
-
Pivot state doesn't restore correctly the filter state of dimensions.
-
On pivot state restoring sometimes sub-total values are not calculated correctly.
- After closing runtime Dimension Map Editor on "OK" button some dimensions are "blocked"
and cannot be moved to another area any more.
Version 4.02 (07/29/04):
New features:
-
New menu items on right-click on a dimension caption node in the grid: 'Expand all
nodes', 'Collapse all nodes': allow expand/collapse all nodes for a dimension in
a single command.
-
New methods: THierCubeGrid.ExpandAllNodes, THierCubeGrid.CollapseAllNodes: program
interface for commands of the previous paragraph.
-
New menu item in the Dimension MapEditor on click on the dimension or summary -
'Delete (Del)'.
-
The speed of all pivot operations in the grid has been increased.
- Help file updated.
Bugs fixed:
-
PivotState is not restored when it has no dimensions in some grid area (Row, Column,
or Page).
-
Access violation error occurs when the cube for some reason is empty (if all members
for some dimension are turned off for example).
-
Access violation error occurs on loading a form with THierCubeChart component when
some series are defined.
- The event handler "THirCubeGrid.OnCompareDimensionMembers" is never called, so custom
sorting doesn't work.
Version 4.01 (07/26/04):
New features:
-
Demo application shows how to use grid for editing fact table.
- Help file updated.
Bugs fixed:
- Fatal error
. Sometimes the project using HierCube crushes in design time.
-
Sometimes when moving dimensions access violation error occurs.
-
Wrong painting of dimension panels when moving.
- Sometimes the hint with dimension attributes appears when mouse cursor is out of
InternalGrid component.
Version 4.00 (07/25/04):
New features:
-
Ability to edit multidimensional data directly from the grid and update the base
fact table in the database.
-
Creating composite hierarchical dimensions made from different fact table fields.
("snowflake" schema and ragged hierarchy). For example, if you have separate fields
in your fact table: "Year", "Quarter", "Month" then you can create one composite
hierarchical dimension "Year, Quarter, Month".
-
Range-based dimensions. Range-based dimensions is a dimension whose members are
created from the values of any numeric field in the fact table. To create dimension
members all the values from the fact table are divided into several ranges. It can
be used to represent many different values from the fact table in several ranges
(for example "X <= 10", "10 < X <= 20", "20 < X"). HierCube Library
supports two methods of range forming: "equal ranges" and "equal density".
-
Different attributes for dimension. If you have several fields in the dimension
table for some dimension, they may be used to describe dimension members. For example,
the table "Customers" can have not only "name" or "last name" columns, but also
"address", "phone number", "email", etc., and these columns can be displayed in
the grid as a default attribute.
-
Creating custom aggregation functions.
-
Calculating statistical correlation function for two summaries.
-
Direct export to XLS-format, export to RTF, XML for Analysis, XML for MS Excel.
-
THierCubeChart component has been fully renewed. Its functionality significantly
improved.
- Speed and memory usage optimization.
Version 3.16 (02/18/04):
New features:
-
Method THierCube.UpdateFactTable has been improved. Now it doesn't break the current
state of the grid.
- THierCube is now a successor of TCustomHierCube class to make easier creating of
successor components.
Bugs fixed:
-
An exception is raised in the THierCube.UpdateFactTable method when updating the
string dimensions without lookup-table.
-
An exception is raised in the THierCube.UpdateFactTable method when displaying any
statistical function.
-
The exception "Array Index out of range" occurs when fetching the cube that contains
more then one integer dimensions without lookup-tables.
- When restoring the pivot state in the grid, the sort order of some dimensions may
be wrong.
Version 3.15 (02/08/04):
New features:
-
Speed and memory optimization. Now the cube gets opened much faster and takes for
opening process much less memory. The difference can be especially huge when loading
a "flat" fact table with many string dimensions. Now you can work with large fact
table (millions of records, tens of dimensions and summaries) on a computer with
256Mb of memory.
-
The loading from file runs much faster. Especially when using long dimensions (thousands
of members).
-
All operations on the cube (rotating, drilling down, filtering, etc.) are performed
now faster.
-
New event THierCubeGrid.OnExportCaptionCell. See help file for details.
- Help updated.
Bugs fixed:
-
An exception is raised when filtering the dimension whose members are visible in
the most detailed level of the grid and if some statistic function is used.
- An exception can be raised when using TGridInfo.Col2LabelNode, TGridInfo.Row2LabelNode
methods.
Version 3.14 (02/01/04):
New features:
-
The dimension length is now limited by 2^15 (32 768) members.
- Help updated.
Bugs fixed:
- An awful bug that causes all the memory to be devoured (be it 1GB or more) when
the long dimensions are used in the cube (thousands of members). Can be marked when
using several dimensions with more then 1000 members.
Version 3.13 (01/22/04):
New features:
-
New property TVisualSettings.ShowPopups controls whether the popup menus are shown
in the grid on right mouse click.
- Help updated.
Bugs fixed:
-
The export methods don't work correctly - sometimes there are empty cells in export
result.
- When the data source has the negative dimension values the Access Violation error
occurs on cube activating.
Version 3.12 (01/19/04):
New features:
-
Working with hierarchical dimensions has been improved in the grid. Now a dimension
member may contain two buttons for drilling down: one to show detailed members of
the next dimension and another to show its child members by hierarchy.
-
The performance has been increased.
- The limitation of the demo version (limited cube size) has been removed. Now evaluation
version can process the cubes without size restriction, but shows in the grid "demo"
string instead of real values in the first nine grid cells.
Bugs fixed:
-
The method THierCube.SaveToFile raises the exception.
- Such functions as Min, Max, Variance, etc. are not calculated correctly when showing
the most detailed cube data in the grid (the grid cells that are not subtotals).
Version 3.11 (01/06/04):
New features:
-
xhCache unit has been removed. Now all its the types and methods are located in
xhHierCube unit.
-
The functionality of TDimension class has been reduced. All functions and properties
for working with the dimension members are now located in TDimensionState class.
-
Some properties of THierCubeGrid corresponding for visual settings have been moved
to TVisualSetting class.
-
Working with the dimension member groups has been improved in the "dimension members"
dialog.
-
New event THierCubeGrid.OnCompareDimensionMembers allows to make an influence on
sorting of dimension members. See help for details.
-
New methods TDimensionState.CompareXXXNames allow quickly compare dimension values
in OnCompareDimensionMembers event. These methods are useful for correct sorting
of such dimension members as months and week days. See help and demo application
sources for details.
- Help updated.
Bugs fixed:
- An exception occurs when changing DataFont, CaptionFont, LabelFont properties in
TExportOption class.
Version 3.10 (12/25/03):
New features:
-
New method THierCube.UpdateFactTable allows to download new data from the fact table
and reflect it in the grid without reactivating cube.
-
Now cube removes the dimension members that never appear in the grid. This reduces
the memory occupation, increases the speed of calculation and prevents useless values
from displaying in the dimension filter editor.
-
New property TDimensionState.TotalApperance allows to control how "Total" line appears
in the grid for the dimension. This property can be different for every dimension.
See help for details.
-
Dimension members grouping! Now you can group dimension members that you want analyze
together having common totals for them. Also grouping may be useful if you don't
want to see some particular dimension members in the grid but want to have their
totals. The dimension member editor is expanded to allow groups editing.
-
New function "Group members bellow" allows to group together all dimension members
located bellow selected one in the grid just like "Hide members below".
-
Export to WMF-file and to the printer canvas. New methods of THierCubeGrid: PaintTo(ACanvas:
TCanvas; :), PrintTo(APrinter: TPrinter; :), CreateMetafile(ARect: TRect; :) allow
to paint grid on any canvas, print to any printer, or create WMF object with the
image of the grid.
-
TGridExportStructure now contains information about dimension captions, so all export
routines may use it to display dimension captions.
-
New methods of THierCubeGrid: SavePivotStateToStream, ReestorePivotStateFromStream,
SavePivotStateToFile, RestorePivotStateFromFile allow to save the current pivot
state in any file/stream and then restore it again.
-
New property TVisualSettings.ShowSummarySettings controls whether the summary settings
are visible and available to the user of the grid in run time. See help for details.
-
New property TVisualSettings.LowestSubLevelNode controls what sublevel nodes are
visible in the grid (summaries, functions, or sub-functions). See help for details.
- All ".asString" methods reading database table changed to ".DisplayText" because
"DisplayText" method triggers the field's "OnGetText" event, allowing the programmer
to influence the displayed values.
Bugs fixed:
-
On changing dimension display name in DimensionMap editor the changes aren't reflected
in the SummarySettings structure and not displayed in the grid.
- If there are no dimensions located in the row area then the exception occurs on
exporting to Excel.
Version 3.06 (12/01/03):
New features:
- New function IF
supported in formula when defining calculated summary. Now you can define complex
rules of summary calculating.
- Help updated.
Bugs fixed:
-
Sometimes on large cubes the grid gives an "access violation" exception or not all
dimension members are visible. This was because of cube overflow error that wasn't
processed correctly. Now such a situation raises the correct exception.
-
A calculated summary displays a wrong value when formula calculates from empty grid
cells.
-
Inside the formula the formula editor places the display name of the field but during
parsing it searches the field names (which differs from display name). So the parser
says "Unknown summary". Now parser processes display name too.
- In the THierCubeGrid component a background color is not applied correctly.
Version 3.05 (11/20/03):
New features:
-
In OnExportDataCell event the "Value" parameter has now type of string just as OnFrawDataCell.
-
New property TSubFunctionInfo.Alignment: TAlignment.
-
New field TExportNode.Alignment.
- Help updated.
Bugs fixed:
-
"When I drag and drop a dimension in the Dimension Map Editor an access violation
exception is raised."
-
Sometimes the export is not performed correctly.
- When closing TDimValuesFRM by pressing ENTER key, the changes previously made take
no effect.
Version 3.04 (10/06/03):
New features:
-
New property TVisualSettings.WordWrap: Boolean allows you to control whether the
long string are split into several lines when displaying in the grid. If True then
grid line heights are set to accommodate the string that is displayed.
-
Property THierCubeChart.ControlSummaryFieldName has been renamed to ControlSummaryName.
See help file for details.
- Help updated.
Bugs fixed:
-
My application gets hung if I make the width of expanded grid cell too small.
- There is an access violation if some of lookup datasets has no records.
Version 3.03 (09/25/03):
New features:
-
New method THierCubeGrid.AddSummary allows to add a new calculated summary in run
time. The cube may not be active when you can call the method. See help file for
details.
-
New method THierCubeGrid.RemoveSummary allows to remove any calculated summary in
run time. The cube may not be active when you can call the method. See help file
for details
-
New TGridInfo methods SaveCurrentPivotState and RestorePivotState allow to save
and restore the grid pivot state. See help file for details.
-
New TGridInfo methods: Row2LabelNode, Col2LabelNode, IsLeaf. See help file for details.
-
New THierCubeGrid methods: DimID2LocalIndex, LocalIndex2DimID. See help file for
details.
- Help updated.
Bugs fixed:
-
In design time dimension map editor on changing the "Type of element:" property
the whole group "For Dimension" always gets disabled, so it is impossible to change
the dimension properties until the dimension field is reselected in the field list.
-
An exception occurs when I try to show in the grid a dimension with null members
(empty strings).
- In evaluation version there may be a situation when the active cube size exceeds
the maximum allowed and the operation doesn't break, so the cube becomes throw many
exceptions on almost every operation such as filtering (drilling), moving, and so
on.
Version 3.02 (09/21/03):
New features:
-
The dimension map editor doesn't describe default summary function.
-
Demo application source code is available for C++Builder 5.0.
- Help updated.
Bugs fixed:
-
If delete a summary from the cube, it is not reflected correctly in the grid summary
settings, so the grid raises an exception when it tries to get a cube cell for the
non-existing summary.
-
An exception occurs when the grid row area is empty (has no dimensions).
-
When THierCubeChart.UseDimension = xhcColumns the chart raises an exception or doesn't
display an information correctly.
-
Sometimes THierCubeChart component doesn't rebuild itself on changing grid pivot
state.
-
On expanding dimension value for hierarchical dimension no sorting method applies.
-
The method TSummaryStates.SumStateByFieldName raises an exception.
-
In demo application an "access violation" exception is raised on generating a QuickReport
report when the default network printer is not available.
-
On add/remove calculated summary some grid parameters (drilling, pivoting states)
are reset.
-
If summary description in cube dimension map differs from summaries saved in cube
data file then exception is raised.
- When THierCubeGrid.HierCube = nil design time summary settings editor raises "access
violation" exception.
Version 3.01 (09/17/03):
New features:
-
New property THierCubeGrid.VisualSettings. Contains all old and some new visual
settings of the grid combined in one object property. The ability to change background
color has been added. See help file for details.
-
ATTENTION! When you open the project created with the HierCube library 3.00 the
Delphi IDE will say that some properties don't exist. Just say "Ignore all".
-
Visual improvement - now the captions of dimension members are split into many short
strings so that the string can be fully displayed in the grid cell.
- Help updated.
Bugs fixed:
-
In demo application on displaying "Grid explorer" occurs exception.
-
When THierCubeGrid.HierCube property is nil and there is a THierCubeChart component
on the form connected with the THierCubeGrid component a error appears. May occur
in run time as well as in design time.
-
When all cube dimensions are located in the page area an exception occurs.
- On a THierCubeGrid.OnDragOver event handler a "Invalid Type Cast" exception is raised
when the mouse pointer is over row/column pivot panels.
Version 3.00 (09/14/03):
New features:
-
Unlimited cube capacity and unlimited dimension count. Now you can have as many
dimensions in your cube as you want.
-
The custom (calculated) summaries. You can create summaries of yourself that are
the functions of predefined summaries. See TSummaryInfo in help file for details.
-
One-pass data fetching. Now all cube data are read from the dataset in one pass.
-
The performance increased greatly. The calculating speed is now 5-10 times faster
depending on cube size.
-
A possibility to create several THierCubeGrid components for a single THierCube
component. This may be used for more complex data analyze. Each grid may have different
pivot states and drilling states and different calculated summaries.
-
The cube data file format has been changed. Now it takes less memory and is processed
much faster.
- The different display formats for each sub-function, function, and summary. They
can be edited in design time using THierCubeGrid .SummarySettings property editor.
Bugs fixed:
- When I restore the cube from the disk file and then try to rebuild it again using
initial dataset, my hierarchical dimensions are not initialized correctly, so that
all parent values disappear in the grid.
Version 2.22 (08/19/03):
New features:
- Help updated.
Bugs fixed:
-
If I take a dimension in the pivot panel with the mouse so that it becomes transparent
and then drop it just at the old position, the dimension panel becomes "dead" so
that it's impossible to move it any more.
- The evaluation version sometimes cannot determine correctly if there is a IDE running
at the moment and raises the exception as if there were not IDE.
Version 2.21 (08/14/03):
New features:
-
C++ Builder 5.0 support.
-
New property THierCubeGrid.FormatNulls: Boolean. When True the grid formats and
displays a cell value even if it's null. Set this property to True if you don't
want to have empty cells in the grid.
-
New property TQRHierGridBand.ReportMode. This property defines how the lines are
carrying over in the QuickReport report. xrmAllRowsConsistently - Carrying is performed
line by line, so the next line is not printed until the previous one is printed
completely. xrmGridSimilar - All the lines are carrying over by single block of
lines. See example on our demo.
-
New property THierCubeChart.ControlSummaryFieldName: string. Using this property
you can select what summary is shown in the diagram if HierCubeGrid component contains
several summaries. The summary is identified by the summary field name.
-
The Page and Column grid areas are now scrollable. Put there as many dimensions
as you want - you can see them all.
- Help updated.
Bugs fixed:
-
The grid crashes when it has no dimensions in the row/column area and the "column/row
cumulative sum" sub-function is selected in the grid at the moment.
-
Incorrect timer handler. In the THierCubeGrid the timer begins to tick even when
the THierCube component associated with the grid isn't active yet. This is not a
bug itself but sometime there is a derived exception because of this.
-
When the grid is "empty" (for example, when all values are hidden for some dimension)
the THierCubeChart component raises an exception on rebuilding.
- In design time on deleting THierCube component from the form the "dead" link remains
in the related THierCubeGrid component. The same happens for the related THierCubeGrid
and THierCubeChart components.
Version 2.20 (08/04/03):
New features:
-
C++ Builder 6.0 support. The distributive package contains now files ready for C++
Builder compile and also demo application for C++ Builder.
-
Cube changes history controlling. Now you can save the cube state that is displayed
in the grid and then restore it any time you want. Cube states are stored in the
saving stream so you can save all your cube and state information and use it after
restoring.
-
New options THierCube.Options.UseStatisticFunctions and THierCube.Options.UseSupersaturatedCubes
define if additional cube features are allowed. Setting these properties to False
increases the speed of data calculations and reduces the memory occupation. See
help for details.
-
The cube file format has been CHANGED! See below.
-
The cube now writes all data to packed stream so the cube file size is ~10 times
less than in 2.11 version. The restore speed is ~1.5 times slower, and the write
speed is ~10 times slower because of the packed streams.
-
Dimension Map Editor now shows different icons for dimensions located in Row, Column
and Page areas.
- Help updated.
Bugs fixed:
-
When demo application is recompiled using evaluation version, the error occurs "Data
source is too large".
-
After canceling cube initialization pressing the "Cancel" button in progress bar
window, it is impossible to open the cube again.
- Incorrect drag&drop operation in the Dimension Map Editor.
Version 2.11 (07/16/03):
New features:
-
New sub-function "Cumulative Sum By Row/Col" calculates the sum of all previous
values from the area of adequate comparisons.
-
Improved the method of modifying Cube Dimension Map in Run Time. Now you can add
new dimension / summary or remove a dimension / summary in Run Time. This may be
useful when working with the dynamically created datasets.
-
New method THierCube.UndefineField allows to remove a dimension / summary from the
Cube Dimension Map.
-
Memory occupation reduced.
-
Functions are calculated now little faster.
- Help updated.
Bugs fixed:
-
When trying to drill a hierarchical dimension the exception "Internal Calculating
Error" sometimes occurs.
- When holding a mouse over a grid when the cube is not active the exception sometimes
is raised.
Version 2.10 (07/11/03):
New features:
-
Non-integer key fields support. Now you can use string key fields for relation of
fact table and dimension tables.
-
Export to QuickReport report generator.
-
Saving cube data to the disk file and further restoring. This feature allows to
create applications for data analysis without database connection. Cube activation
from disk file is much faster than from database.
-
New method THierCube.SaveToFile(const FName: TFileName) saves cube data to disk
file.
-
New properties THierCube.ActivateFromFile: boolean and THierCube.FileName: TFileName.
Set ActivateFromFile to True if you want the cube to be activated from disk file
FileName instead of dataset.
- Help updated.
Bugs fixed:
-
When decreasing the amount of active summaries in run time the grid incorrectly
draws dimension member captions.
- The "Drilling window" doesn't open under Windows XP.
Version 2.01 (06/25/03):
New features:
- The functions are calculated faster.
Bugs fixed:
-
The dimension sorting doesn't work in the grid row area.
-
OnExportDataCell and OnExportLabelCell events are never occurred in the THierCubeGrid.
-
The "Drilled values" window doesn't open in Windows XP.
-
THierCubeChart component displays the graph for the first column/row instead of
the column/row totals.
- The sub-functions "Percent by column" and "Percent by row" raise an exception when
the row/column total is 0 (zero)
Version 2.00 (06/20/03):
New features:
- The maximum cube capacity has been significantly increased. Now the cube may contain
about 1018
cells.
-
The process of calculating of subtotals before cube opening has been fully reduced
so the version 2.0 is much faster. Now all subtotals are calculated just in time
of data access and this is really very fast.
-
Significantly increased the speed of calculating of parent values.
-
Multi-drilling has been added. Now you can drill the cube by many dimension values.
Open the cube and choose the dimension members you're interested in.
-
Now the grid can display many summaries at the same time. This provides a unique
opportunity to make a comparative analysis of the cube data. The summaries are related
only with the common dimension. Their facts are different and independent.
-
The different aggregate functions has been added. Now the cube can calculate such
functions as Standard deviation, Skewness, Median and more. All the functions can
be displayed at the same time and can differ for different summaries.
-
Except aggregate functions the grid can calculate different sub-functions such as
"Rank by column", "Percent by row", "Compare with previous row cell". Using sub-functions
it is possible to compare function values. Sub-functions can differ for different
functions.
-
The page area has been added to the grid. Now you can move the dimension you're
not interested in at the moment to the page area. Work only with the dimensions
you need.
-
New property ShowColorHint marks with the different colors the grid cells depending
on their values. Just stop the mouse over a cell and leave it still for 2 seconds.
Only cells from the "area of adequate comparisons" are colored.
-
New feature: "hide all dimension members below" allows to hide insignificant data
by only two mouse clicks and concentrate upon topical data analysis.
-
Some visual improvements like "remembering" the dimension members that was expanded
on pivot operations.
-
The speed of export to MS Excel significantly increased.
- Help updated! Contains much information about HierCube library, describes units,
classes, and methods. The HierCube tutorial has been included!
Version 1.23 (04/28/03):
New features:
-
Significantly increased the speed of calculating of Parent Values for hierarchical
dimensions. The algorithm of calculating fully changed. Now Parent Values are calculating
for all hierarchical dimensions in the cube at the same time.
- Now all string constants used in the user interface are located in the separate
xhResStr.pas file. This file is included into the install package of all types.
So you can easily change your user interface language of the HierCube Library, just
modifying this file. After changing you may need to rebuild you project to see strings
in your own language.
Bugs fixed:
- When using string dimensions in the cube, the cube totals are calculated incorrectly,
so the grid shows wrong subtotals.
Version 1.22 (04/18/03):
New features:
-
New public method THierCubeGrid.SaveGridToHTMLStream to save the current grid state
as HTML file.
-
Now you can change the initial dimension order right in Dimension Map Editor at
Design Time. Just drag and drop any field in the list to change its position.
- Now when changing main dataset fields (deleting or adding a new field) the DimensionMap
property doesn't reset the cube parameters (is the field dimension or summary) for
fields that don't change (the fields that keep name and type unchanged).
Bugs fixed:
- On drilling the dimension value the error was occurred, when there was an active
THierCubeChart component on the form.
Version 1.21 (04/15/03):
New features:
-
Significantly increased speed of calculating of subtotals.
-
Now HierCube library supports "supersaturated" cubes where one cube cell corresponds
to many rows in main table (facts table). Now you don't need to group your cube
data, HierCube will do it for you!
- The demo database and application have been updated to show more fully HierCube
libraray features (using calculated fields, building dimensions from DATE field,
etc.).
Bugs fixed:
-
The bug fixed when assigning the THierCubeGrid CaptionFont, LabelFont and DataFont
properties doesn't take an effect (the font remains the same).
-
The bug fixed when exporting to Excel workbook.
- Some other little bugs fixed.
Version 1.20 (04/10/03):
New features:
- Significantly raised cube performance and data fetching speed. The speed increased
in all the steps of cube activating (data fetching, calculating parents' values,
calculating subtotals). Now
THierCube
component becomes active in 100 times faster! (It's not a misprint).
- New visual component
THierCubeChart has been added to view current
THierCubeGrid
state as a diagram. It allows selecting diagram style, active axes, different color
schemes and sort modes, etc.
-
The opportunity of using calculated fields as dimensions.
-
The opportunity of defining string field as a dimension. In that case you don't
need to have a lookup-table with text descriptions.
-
The drawing algorithm has been improved.
- A row of bugs fixed.
Version 1.12 (03/24/03):
New features:
-
The THierCube.HCData property has been discarded. Now use THierCube.DataSet property
instead. The first one is still in the package for backward compatibility but will
no longer be supported in further versions. When setting this property a message
will appear with notification about it. THCData component itself also will not be
included in further library versions.
- New property THierCube.UseRecordCount allows preventing incorrect progress bar displaying
when the database server doesn't support counting table records before all rows
are fetched. In that case set UseRecordCount to False and there will be the number
of fetched rows displaying instead of a progress bar.
Bugs fixed:
-
Incorrect cube message handling when the form with THierCube is destroying.
- The bug when displaying the Events tab of THierCubeGrid in Object Inspector under
Delphi 6 & 7.
Version 1.11 (03/21/03):
New features:
-
New property THierCubeGrid.ShowPivotControlButton allows show/hide Button that controls
whether PivotPanels are showed at the moment.
-
New method THCData.First.
- Paint method improved.
Bugs fixed:
- When activating the cube for the second time exception had been raised because of
the dataset cursor position hadn't been moved to the beginning.
Version 1.10 (03/18/03):
New features:
-
THierCubeGrid is now a successor of TCustomControl component that gives unlimited
possibilities for further modification.
-
THierCubeGrid has built in Pivot to make cube manipulation easier. Make changes
you want using integrated Pivot and then hide it to expand useful screen area.
-
Visual interface is significantly improved.
-
THierGrid now supports different visual styles like Flat and XP style.
- The internal mechanism of accessing to cube data has changed that makes data fetching
faster.
Bugs fixed:
-
The grid labels are no longer truncated by grid column boundary when they don't
need to be truncated. It used to be because of the limitation of TCustomGrid component.
- There could be a situation in the grid when a row of "Total" labels was displaying
on the screen instead of single "Total" label.
|
|