Skip to content

CSV Interface v4.3.0

Choose a tag to compare

@ws-garcia ws-garcia released this 31 Dec 16:56
· 71 commits to master since this release
94fffb6

This version includes an important code refactoring of several members of the library, as well as some improvements that allow to outline the tool as a solid solution for data management.

Improvements

  • Key related records: users can now use keys to segregate records as they are stored when the keyTree property is set to True. For example, under a key "fruits" you can store the records "lemon", "pear" and for a key "tools" you can store "hammer" and "chainsaw"; the user can request the segregated records at any time with the GetIndexedItem method by specifying a key.
  • Faster deduplication: the execution time of the "Dedupe" method is 40% less.
  • Use headers titles for computations: Filter, Reduce and InsertField methods now supports headers titles (also with white spaces) as variables.
  • Calculated fields: the new InsertField method unleashes the possibility to use complex expressions to calculate values and insert them as a new field/column in the data tables. For example the following instruction adds a new field called "Taxes" in the ninth position which is defined as 18% of the total profit in each record, giving the VBA "Currency" format to the computation made: : .InsertField(8, "Taxes", True, "FORMAT(Total Revenue * PERCENT(18);'Currency')").
  • Easy data storage: copy data from arrays of arraylist with the flexible and robust Add2 method and the items property. Define and share data from scratch with the FromString and ToString methods.

Members changes

CSVinterface

  • InsertField now has a Formula parameter to allow insertion of calculated fields.

CSVarrayList

  • Added: Dedupe, FromString, InsertField, MergeFields, RearrangeFields, RemoveField, ShiftField, ShiftRecord, SortByField, SortKeys, SplitField, and ToString methods.
  • Added: isSorted, keyTree, lastSortedIndex properties.
  • Optimized: Add2 and Dedupe methods, items property.
  • Bug fixed: parser unable to properly get the order of the fields given by the user. Affected methods: Dedupe, LeftJoin, RightJoin, InnerJoin.
  • Bug fixed: unexpected behavior. Affected method: SortByField

CSVexpression

  • Improvement: more than 60 string, mathematical, logical, date-time and financial built-in functions
  • Bug fixed: boolean negation prevents recognizing variables. Affected method: Eval.
  • Bug fixed: function parsing was broken. Affected method: Create.