Skip to content

Beta 11

Pre-release
Pre-release
Compare
Choose a tag to compare
@YerayAlonso YerayAlonso released this 23 May 08:17
· 176 commits to master since this release
  • RAD Studio 10.1 Berlin

    Added TeeBI support for 10.1 Berlin release.

    Also working TeeBI controls with new "FireUI Live Preview" app in Berlin:

    For more information about integrating TeeBI and TeeChart with Live Preview, click here:

    Berlin FireUI Live Preview and TeeBI, TeeChart

  • New basic demo

    A small new test project describes how to create TDataItem objects in different modes by code:

    Creating TDataItem manually

  • Pivot-Tables

    New BIQuery component to create select queries, summaries and pivot-tables at both design and run-time.
    Editor dialog enables drag-drop of data item fields and output preview.

  • BIChart improvements

    A complete refactoring of the BIChart control provides a new Options property with several settings to create charts from any kind of data structure and content in a smart way.

    The automatic decisions done by BIChart have been summarized here:

    BIChart logic

  • Dynamic Filter

    New class and editor dialog to enable visual building of filter "expressions" by checking / unchecking items on a tree view.
    Linked data tables are automatically included in the tree, together with its individual items.
    The BIQuery editor includes this new Dynamic Filter editor to define the query "where" clause.

  • Dashboards

    New TDashboard Layout property to customize the arrangement of dashboard panels inside a BIVisual control.
    Predefined layouts are included in TLayouts.Predefined property.

  • Component Importing

    New TComponentImporter class and editor dialog to "link" any BI control (BIGrid, BIChart etc) and BI components (BIQuery, etc) with any supported Component living on any accessible Form or DataModule.

    The edit dialog shows the available supported components and VCL/FMX controls, and selecting them creates an internal TDataItem and imports the component content into it automatically.

    For example, text from Memo controls (in csv,json,xml,etc) , any TDataset-derived component, ListBoxes, TXXConnection components are recognized and made available.

    Importing data from components is done transparent and at fast speed, so the BI controls receiving the output just get normal TDataItem(s) as if they were already imported and persisted from a TStore or by code.

  • Data Selector

    New dialog that includes both the already existing data selector tree, and the new Component selector dialog.
    This dialog is now the default editor for design-time choosing of all components "Data" property.

    A new form has been added to the Import example project, using the new TComponentImport feature:

    Import Components Example Project

  • Importing from configuration

    The TDataDefinition class (used by the "Data Manager" dialog) is now a TComponent that can be used at design-time to define which data to import in several modes and settings, without needing to persist the import output to disk.

    This component is also a "provider" of data so it can be connected at design-time to any other BI control or BIQuery to perform disk-less queries on its data.

  • Provider events

    Many classes and components issue internal events when data is changed or destroyed.

    Other components and controls (BIGrid, BIChart, etc) get notified of these events to refresh its output or make sure there are no memory leaks. This mechanism works at design-time too, so changes are refreshed automatically.

  • RTTI and ORM

    Important improvement in BI.Data.RTTI unit.

    TTypeProvider class has been changed quite a lot to better support different types of data like dynamic arrays and TCollection objects.

    It also includes new Count and Delete methods, and a new Items[Index] default array property to access its elements.

    New example available, showing how to use TeeBI in ORM mode with your own data:

    TeeBI and ORM Example Project

  • BI Arrays

    Improved all the Array classes with a new Copy method that can optionally copy a subset of the array based on an index parameter.
    The "index" is just a TInt32Array containing the positions of the items to copy.

    These methods are also internally used to fix the issue of creating a "Map" of the array items considering only the non-null values.
    TDataItem is now passing its "Missing" index array when creating the DataMap property.

  • TDataset

    New FromField class method to import just a single TField instead of the whole TDataset.

  • TDataItem

    The base and most important class in TeeBI (TDataItem) has new features:

    • New LoadFromFile method (SaveToFile already existed)
    • New Clear method to remove all data and destroy all sub-items
    • New ClearData method to just remove all data without changing the structure or sub-items
  • Expressions

    • All TExpression classes now include an Assign method.

    This has enabled a new TExpression.Clone method that is capable of duplicating an expression tree to return an identical one, recursively.

  • BI Web Server

    • Improved the automatic re-import of data using an "scheduler" configuration.

    Each data can be configured to be re-imported at specific intervals (ie: "Every Day")

    This feature enables web-replication of databases from one BIWeb server to another.

    That is, for example BIWeb server 1 re-imports an SQL Server database every 10 minutes, while other BIWeb servers 2 and 3 also do re-import that data from BIWeb server 1, just this time the data is already converted to ultra-fast binary TeeBI format so the transmission via web is much improved (with BIWeb zip compression).

    There is no limit on how many BIWeb servers access data from other BIWeb servers.

  • Fixes

    • Fixed bug at TBIExcel class, when importing Excel spreadsheets with non-English US decimal settings ("," <-> ".")
    • Fixed bug at TBIJsonExport class, content with forbidden (non-valid json) characters are "escaped"
    • Adding or removing Data.Items now correctly change their Parent property
    • Fixed potential access violation when closing the RAD Studio IDE in Seattle 10.0
  • Miscellaneous

    • New TDataItems Insert method
    • New TDataCursor and TSummary UseFilter boolean property (to use or not the Filter property)
    • New summary THistogram feature to distribute aggregations by text fields (in groups: ABC..DEF..GHI...JKL etc)
    • BI.Summary.Totals unit: TSummaryTotals class is now a TComponent that can be used in queries and any other BI control
    • New TDataColorizer AlphaColorOf( double ), returns the color in palette that corresponds to the double parameter
    • New TDataKindConvert method to change a TDataItem from one Kind to another, previously verifying no data will be lost