Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Click here for instructions to upgrade your ETL+.

...

Expand
titleDownload, Release Notes, Release Date

Warning: Test the beta version carefully before using it for production. Click here for the upgrade steps.

Download Links:
- ETL+ 64 bits: DataSelf ETL Plus - Beta 2022.04.1302.exe
- ETL+ 32 bits: DataSelf ETL Plus 32bits - Beta 2022.04.1302.exe
- DataSelf Agent: DataSelf Agent.exe
Released: 04/13/2022 (beta release #7)

New Features

  1. ETL Page: Renaming tables on the center panel renames the physical data warehouse tables.

  2. ETL Page: Duplicating tables on the center panel duplicates the physical data warehouse tables. This is helpful when users want to perform tests on a table without affecting the official one.

  3. ETL Page: Deleting tables on the center panel deletes the physical data warehouse tables. User is prompted to confirm the physical deletion.

  4. ETL Page: Deleting ETL+ Sources deletes its mapped tables on the center panel and now also the physical data warehouse tables. User is prompted to confirm the physical table deletion.

  5. Job: “Refresh Batch” renamed to “Job” - this feature can run scripts that are not “refreshes”.

  6. DataSelf Agent: Greatly anticipated ETL+ auxiliary application to execute scheduled and remote tasks. Long-term vision: a user runs ETL+ on her laptop at a hotel and requests a data refresh from her on-premises ETL+ install, and orders a margarita (drink orders not included in ETL+ lol). Their on-prem DS Agent receives and executes the request on the on-prem ETL+. And then it notifies the user when the refresh is complete. Magic happens while the margarita buzz kicks in!

  7. Agent: Introduces the concept of ETL+ Production installs where the locally deployed Agent runs scheduled jobs and remote tasks. For the time being, an ETL+ install will have to either use WTS or the Agent for running scheduled jobs.

  8. Agent: ETL+ Production installs must have direct access to source systems and have the Agent locally deployed and running with a local Windows Admin user.

  9. Agent: ETL+ will capture in the metadata the Window Device name to associate the ETL+ Entity and Job IDs to run by the Agent.

  10. Agent: When assigning a computer to run the Agent for the first time, ETL+ assigns the username and password saved on the Job → Properties → Agent credentials. This user must have local Windows Admin Rights.

  11. Agent: When assigning a computer to run the Agent for the first time, ETL+ creates an Agent shortcut in the Windows folder: C:\Users\<user_name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

  12. Agent: The shortcut from the item above will automatically run the Agent with the correct Windows user credentials every time Windows starts/reboots.

  13. Agent: Runs as a Windows service (in the background) and checks the cloud metadata every 10 secs for instructions to execute.

  14. Agent: Checks the cloud metadata if there are Jobs to run now. The rule is: (Jobs associated to run by this Agent) & Enabled & (Next Run Time <= now).

  15. Agent: Checks the cloud metadata if there are on-demand tasks to execute. Currently, it can execute two tasks remotely: run a Job now, and kill the execution of a Job initiated on-demand.

  16. Job: Added Agent column on the job list to show which app runs the schedule of a job. Options: WTS (Windows Task Scheduler) and DataSelf Agent.

  17. Job: Agent column showing WTS: this is the default approach. The job runs via Windows Task Scheduler. ETL+ currently can only create and overwrite WTS tasks via the Schedule button.

  18. Job - Icons: Renamed Run Job -> Run Job via ETL+.

  19. Job - Icons: Added Run Job via Agent. This sends a message to the Agent to run the Job on demand.

  20. Job - Icons: Added ... (More Actions).

  21. Job - Icons: Added End Job via Agent icon under the ... icon.

  22. Job - Icons: Added Enable icon under the ... icon.

  23. Job - Icons: Added Disable icon under the ... icon.

  24. Job - Icons: Moved Rename Job icon under the ... icon.

  25. Job - Icons: Moved Delete Job icon under the ... icon.

  26. Job - Right-click: Same changes as Job - Icons above.

  27. Job: Agent column showing Agent Enabled: This means the Agent will run that job on its schedule.

  28. Job: Agent column showing Agent Disabled: This means the Agent will not run that job on its schedule.

  29. Job: Agent column showing Agent Running: This happens after a user triggers an on-demand Run Job via Agent. Currently, this Running status won’t know when the Job is completed. Users can monitor the Job running status via the Log or by the refresh email.

  30. Job: Agent column showing Agent Stopping: This happens after a user triggers an on-demand End Job via Agent. Currently, this Stopping status won’t know when the Job ends. Users can monitor the Job running status via the Log.

  31. Job - Pop up: Shows Job name

  32. Job - Pop up: Shows Agent to run the Job. Computer Name if DataSelf Agent will run the Job.

  33. Job - Pop up: Shows Job Schedule.

  34. Job - Pop up: Shows Load Type.

  35. Job - Pop up: Shows Last Run Time.

  36. Job - Pop up: Shows Next Run Time.

  37. Job: Removed Windows Task Scheduler (WTS) section.

  38. Job: Removed WTS Settings.

  39. Job: Added Properties icon which shows a section for Schedule, Load Type, and Agent.

  40. Job - Schedule: Added radio buttons to set which engine runs schedules: WTS or DataSelf Agent.

  41. Job - Schedule: When radio button = WTS, the feature works like in prior ETL+ releases.

  42. Job - Schedule: When radio button = DataSelf Agent, the Agent will be responsible for running the Job’s schedule.

  43. Job - Agent: Press the Apply button to associate a Job to run on this computer.

  44. Design: When changing the Data Type of a column, ETL+ posts the SQL expressions automatically applied. Users can edit the expression.

  45. Design: After a SQL expression is posted to a column, if a user changes the column’s Data Type again, ETL+ will prompt if it should update the SQL expression.

  46. Design: Loading of MS SQL Timestamp columns automatically converted to char(23).

  47. Load Engine: Depending on the source system, loading of Date and DateTime columns automatically converts invalid values to NULL.

  48. Load Engine: Delta filter now becomes a physical index in the data warehouse.

  49. Load Engine: PK columns used in delta loads now become physical indexes in the data warehouse.

  50. Load Engine: Adjustments when recalculating MS SQL indexes for the filter column used in tables with Replace. Resulting in significant performance improvement when processing deltas in large tables.

  51. Load Engine: Adjustments when recalculating MS SQL indexes for the filter and PK columns used in tables with Upsert. Resulting in significant performance improvement when processing deltas in large tables.

  52. Load Engine: New ETL+ command line parameter -e EntityID.

  53. Load Engine: New ETL+ command line parameter -j JobID.

  54. Load Engine: If an ETL+ entity tries to load a table that is currently being loaded by another entity, it’ll show the message “Another ETL+ is loading this table. Waiting for table release.”

  55. Load Engine: If an ETL+ entity tries to load a table that is currently being loaded by another entity, every 15 secs it’ll show the message “Checking table release…”

  56. Load Engine: If an ETL+ entity tries to load a table that is currently being loaded by another entity, but the other entity isn’t active for over 90 seconds, the new entity takes over the table load.

  57. Load Engine: Checking if Log tables exist only during the opening of an entity (instead of during the load of every table).

  58. Security: New passwords require at least 12 complex characters (up from 8).

  59. Security: New passwords now accept # @ as part of special characters.

  60. Security: When ETL+ can’t connect to its metadata: "Unable to connect to cloud metadata via https and SSL SQL. ETL+ needs to whitelist your public IP, or your firewall or antimalware is preventing ETL+ connection to the cloud. Start ETL+ IP Whitelisting?"

  61. ETL page, title now shows the connected “Data Warehouse: <SqlServerName>.<Database>”

  62. ETL Page, center panel: Renamed Data Warehouse to ETL Objects. More descriptive of what the panel is about. Objects currently include source headings (to group sources' tables together), SQL schemas, tables, and table columns.

  63. ETL Page, center panel: zData Warehouse heading renamed to zData Warehouse (Reimports). More descriptive of the tables under this header.

  64. ETL page, left panel renamed to “ETL Source”.

  65. ETL page, left pane shortcut: select a source → (Ctrl + i) opens its Properties.

  66. ETL page, left pane shortcut: double-click a table to add/map it to the load process.

  67. ETL page, left pane shortcut: (F5) to refresh a source.

  68. ETL page: Job icon updated.

  69. ETL page: Settings icon updated.

  70. ETL Page: Find feature to quickly highlight matches on sources, data warehouse tables, and SQL Statements.

  71. ETL Page: Click the Find icon to expose/collapse the search box

  72. ETL page, center pane shortcut: select a table → (Ctl + Del) key to delete.

  73. ETL page, center pane shortcut: select a table → (2) key to duplicate.

  74. ETL page, center pane shortcut: select a table → (F2) key to rename.

  75. ETL page, center pane shortcut: select a table → (Ctrl + D) key to open Design.

  76. ETL page, center pane shortcut: select a table → (Ctrl + C) key to load its Columns.

  77. ETL page, center pane shortcut: (Ctrl + O) loads columns and expands its list.

  78. ETL page, center pane shortcut: select a table → (Ctrl + P) key to preview.

  79. ETL page, center pane shortcut: select a table → (Ctrl + L) key to Load Now.

  80. ETL page, center pane: Added ... icon to the panel header for additional non-popular actions.

  81. ETL page, center pane: select a table → ... → Show Columns.

  82. ETL page, center pane: select a table → ... → Load All Columns.

  83. ETL page, center pane: select a table → ... → Expand/Collapse All source groups.

  84. ETL page, center pane: select a table → ... → Download to CSV.

  85. ETL page shortcut: click (F1) key to open Help.

  86. ETL page shortcut: click (Ctrl + F) to go to the Find box.

  87. ETL page shortcut: click (Ctrl + G) to open the Log page.

  88. ETL page shortcut: click (Ctrl + J) to open the Job page.

  89. ETL page shortcut: click (Ctrl + S) to Save.

  90. ETL page shortcut: click (Ctrl + O) inside of ETL SQL Statement to Confirm.

  91. ETL Page: Right-click a data warehouse table → Download to CSV downloads the data in CSV format into ETL+ folder/DS_Downloads/<TableName>.csv.

  92. Refresh Email Notification: Removed email attachments. No longer necessary with cloud logging.

  93. Log Page: Added Rows Retrieved parameter. Enter a new value and press Refresh icon.

  94. Log Page: (F5) shortcut to refresh Log page.

  95. Log Page: Titles and radio buttons changed to ETL Log and Table Stats.

  96. Log Page: Debug Level dropdown is available on this page now.

  97. Log Page: Debug Level dropdown shows a summary of what the log level does.

  98. Log Page: Debug Off now removes the log file on the local HD. For saving disk space and avoiding requiring ETL+ to Run as Admin when running from Windows protected folders

  99. Log Page: Debug Off no longer counts and records the total number of rows before and after a table load. Performance improvement.

  100. Log Page: New Debug Level 0 adds the log file on the local HD plus counts and records the total number of rows before and after a table load.

  101. Log Page: Debug Level 1 adds Level 1 log plus Level 0 features.

  102. Log Page: Debug Level 2 adds Level 2 log plus Level 0 features.

  103. Log Page: The Debug dropdown description is contextual to the page’s radio buttons.

  104. Log Page: Table Stats layout rearranged and some labels renamed for easier viewing.

  105. Log Page: Default sorting of Log pages is the Index column.

  106. Log Page: Row counting uses SQL metadata (instead of count(*)). Faster performance.

  107. Logging: Checking if Log tables exist only during the opening of an entity (instead of during a load of every table).

  108. Restore ETL SQL Statement As Of: New dropdown list on Settings allows users to retrieve prior ETL SQL Server Statements. Useful to recover deleted and changed statements from the past.

  109. Login: Forgot Password? button. It’ll email the password when initiated from whitelisted IPs with a valid username (email address).

  110. Job: New script Download to CSV to run on a schedule. Select a Job+ on the Steps panel -> Download to CSVselect a table -> Save.

  111. Job: Find feature to quickly highlight matches on the Steps panel.

  112. Job: Click the Find icon to expose/collapse the find box.

  113. Job: Standardized user interaction as main ETL page so right-clicking on panel objects pops up the available features. Ex.: right-click a job → Run Job.

  114. Job, left panel: Standardized user interaction as main ETL page so right-clicking on panel objects pops up the available features. Ex.: right-click a job → Run Job.

  115. Job, left panel now has icons on the panel header (instead of inside of the panel).

  116. Job, left panel now has two sets of icons, the left is active when selecting individual jobs, the right is independent of individual jobs

  117. Job, Step panel: now shows the Job <ID> on the header.

  118. Job, Step panel: Added Move to Top icon/feature.

  119. Job, Step panel: Added Move to Bottom icon/feature.

  120. Job, Steps pane shortcut: (Ctrl + F) to go to the Find box.

  121. Job, Steps pane shortcut: select a script → (Ctrl + i) to open its properties.

  122. Job, Steps pane shortcut: select a script → (Ctrl + Del) key to delete.

  123. Job, Steps pane shortcut: select a row → (Ctrl + D) key to pushing it down one row.

  124. Job, Steps pane shortcut: select a row → press and hold the (Ctrl + D) key to push it down.

  125. Job, Steps pane shortcut: select a row → (Ctrl + U) key to pushing it up one row.

  126. Job, Steps pane shortcut: select a row → press and hold the (Ctrl + U) key to push it up.

  127. Job, Steps pane shortcut: (Ctrl + T) to create a new Tableau Extract Refresh script.

  128. ETL+ Plain Deployment: New framework for an on-premises data warehouse that easily loads the zDateUntreated table from a cloud Excel file.

Fixed Issues

  1. Tables with delta refresh no longer log the misleading message: “Error : Column name '<PK_column1,PK_column2,PK_column3etc>' does not exist in the target table or view.”

  2. Regular users: When login in to ETL+, the list of available entities used to show deleted ones as well.

  3. When manually loading a table, it will retry 3 times in case of failure (instead of 12 times).

  4. Tables with delta refresh no longer run into the error: ‘Invalid column name ‘0_UnionID', but ETL+ still processes the delta refresh correctly.

  5. When super users switched to a new entity within the same ETL+ session could create zEntity and zLog tables in the new entity’s data warehouse with the schema from the prior entity.

  6. When super users switched to a new entity within the same ETL+ session could send refresh emails with the prior entity’s refresh email subject.

  7. Deleting all Jobs no longer requires going to the ETL main page and back.

  8. Deleting an entity and recreating it with the same ID would add a new row to zEntity table.

Known Issues

  1. Clicking the Log icon after certain tasks (such as running a Job) might present an "Unhandled exception" error. Click Quit and re-open. It mostly only happens once.

  2. Regular users: When login in to ETL+, in the first attempt, ETL+ will only open the first entity even when one uses another entity on the dropdown list.

  3. Upon adding a new table from a NetSuite ODBC, the SQL syntax will have an extra ] at the end of the table name. To fix it: remove ] and save.

  4. Many SQL Statements for MongoDB ODBC will only load using SELECT *.

  5. Some Acumatica OData v4 tables might show the error “The contents of table TableName are not available for this user“ and fail to import. This is an Acumatica security issue and we’ve requested how to fix it. While we wait for the Acumatica fix, use OData v3 to import such tables.

  6. Adding tables from Sage Intacct might not work.

  7. Opening an entity from an older metadata version with the new one using a regular user (non Admin) will not update the metadata version in the cloud. Workaround: open it with an Admin user.

  8. Job: If a table fails to refresh, the ETL+ might unexpectedly load several tables multiple times.

  9. Sometimes ETL+ will mistakenly flag that the metadata has been changed and you need to exit and re-enter the entity. Just exit and re-enter.

  10. Changing the data warehouse of an entity won’t show on the bottom left corner until the entity is closed and re-opened.

  11. Regular users: Mousing over Sources doesn’t show the pop up with details.

  12. The icon color and type for the column formats on the center panel aren’t 100% consistent yet.

  13. Opening an entity with tables mapped to the zData Warehouse with an older ETL+ version will push such tables to other source databases on the center panel. DataSelf can fix that manually.

  14. Importing large XML content into varchar(max) might run into error: server stack limit has been reached.

  15. A few installs are hitting the error “There is insufficient system memory in resource pool 'internal' to run this query.” once in a while. It happened to only one table in a job, and a different on another job. Load All. First report started in v2021.09.

  16. Sometimes ETL+ is closing unexpectedly after a data load.

  17. Sometimes ETL+ runs into an “Unhandled exception” error. Close and re-open ETL+.

  18. Locking the ETL+ editing when someone else is editing it doesn’t work in some situations.

  19. ETL+ still tries to send email even when set to Cloud notification, or No Notification.

  20. ETL+ delta extraction from NetSuite ODBC might not work when using dates for filtering.

  21. When opening an entity created in prior ETL+ versions, the data warehouse panel will show the source header blank. To fix this, open the entity in the prior ETL+ version, make any modification and save it. Now open the entity in the latest ETL+ and the source header appears.

...

Expand
titleDownload, Release Notes, Release Date

Download files:
64 bits: DataSelf ETL Plus.exe
32 bits: DataSelf ETL Plus 32bits.exe

Released: 02/05/2022

New Features

  1. ETL Log: Log icon now retrieves cloud log. Users can retrieve the log from anywhere.

  2. ETL Log: By default, the Log shows the latest logs at the top of the page (sorted <DateTime> Desc).

  3. ETL Log: Sort the Log page by clicking the Log column headers.

  4. ETL Log: Click Sequence header to sort by <RefreshRunID> Desc & <DateTime> Asc.

  5. ETL Log: Refresh icon re-loads the latest log entries.

  6. ETL Log: Logged dates now show the time zone (currently, PST only).

  7. ETL Log: Option to view Stats or Summary logs.

  8. ETL Log: Stats show row stats, processing time, and refresh criteria by loaded table.

  9. ETL Log: Summary shows loaded tables, rows, error messages, refresh batch headers (admin user: machine username).

  10. ETL Log: Creates and populates the Log Summary in the data warehouse table <dw schema>.<zRefreshLog_Summary>.

  11. ETL Log: Creates and populates the Log Stats in the data warehouse table <dw schema>.<zRefreshLog_Stats>.

  12. ETL Log: Log columns available to Super User only: PK_Entity, MachineUser.

  13. Table labeling: Improved labeling to uniquely identify tables (MS SQL standard):

    1. <Source Name> - <SQL Schema>.<Table Name>

    2. Ex.: ExcelFile - dbo.BudgetTable

  14. Table labeling: In multi-tenant data warehouses (such as in Advanced Analytics), the schema doesn’t show on the center panel since all loaded tables belong to the same schema (<EntityID>).

  15. Table labeling: Refresh Batch Steps don’t show schemas to simplify the table list. Schemas can be seen on a pop up by mousing over tables.

  16. Source - zData Warehouse: The data warehouse automatically shows as a data source for additional data preparations and transformations.

  17. Source - zData Warehouse: “zData ” source is listed at the bottom of the panels.

  18. Source - zData Warehouse: Uses a green source icon to tell it apart from regular sources.

  19. Source - zData Warehouse: This source provides access to all data warehouse tables and views for single-tenant data warehouses.

  20. Source - zData Warehouse: This source provides access to data warehouse tables and views where <SQL schema> = <EntityID> or <SQL schema> = <dbo> in multi-tenant data warehouses (DataSelf Analytics Advanced Edition).

  21. Source - zData Warehouse: Source’s Properties disabled.

  22. Source - zData Warehouse: Source 'sDelete disabled.

  23. Source - zData Warehouse: Use Settings -> Data Warehouse for its configuration.

  24. Source Properties: Renamed Dw Schema to Schema. Sets Alias as the source tables' schema.

  25. Data Warehouse Panel - zData Warehouse: When importing zData Warehouse tables, they’ll be grouped under a green grouping icon.

  26. Data Warehouse Panel: Renaming a table only applies to its name, not the schema.

  27. Data Warehouse Panel: Tables imported from the data warehouse keep the same SQL schema as the data warehouse default schema.

  28. Data Warehouse Panel - Columns: Double-click a data warehouse table to show:

    1. Column list

    2. Column formatting

    3. Primary key

  29. Data Warehouse Panel - Columns: Click + / - by a table name to expand/collapse its column formatting.

  30. Data Warehouse Panel - Columns: (blue star) icon for regular columns.

  31. Data Warehouse Panel - Columns: (blue star) icon for transformed columns.

  32. Data Warehouse Panel - Columns: (blue star) icon for primary key columns.

  33. Data Warehouse Panel - Columns: (blue star) icon for primary key transformed columns.

  34. Data Warehouse Panel - Design: added Design icon to access table Design page.

  35. Data Warehouse Panel - Design: For many sources, the list of columns shows even when the SQL Statement involves transformations, table links, table unions and CTEs.

  36. Design: New page for table design:

    1. Configure primary key columns

    2. Change column formats

    3. Apply column transformations

  37. Design: Many sources don’t allow transformations during the extraction, or extraction transformations are limited and/or slow. The data is extracted and loaded into a temporary data warehouse table, and then transformed into to official table. These transformations happen in the data warehouse engine, therefore they are fast, efficient and provide a broad range of MS SQL transformation functions.

  38. Design: Select a data warehouse table → Design to open the Design page.

  39. Design: New page shows PK (primary key), Column Name, Dw Data Type, Transform SQL Expression.

  40. Design: List shows gray and white banded lines.

  41. Design: To change a Column’s format, use its Dw Data Type dropdown menu, or double-click the dropdown and type in the new format.

  42. Design: Column MS SQL transformations available on Transform MS SQL Expression. Ex.: LEFT(ColumnName,5).

  43. Design: Click the column header for Column Name or Source Data Type to sort the list.

  44. Design: Press & hold & drag with the right button of a mouse on the border of a column to change its width/height.

  45. Design: ETL+ will execute the Design changes when user clicks Confirm.

  46. Design: If issues are found during Design changes execution, ETL+ will report which columns were successfully changed and which ones failed.

  47. Design - PK: PK check boxes define a table’s primary key columns. Currently:

    1. PKs are necessary to process Upsert delta refreshes.

    2. No validation if the PK columns are the correct primary key.

    3. No creation of the physical PKs in the data warehouse.

    4. If physical PKs are needed, please create them directly in SQL after the first ETL+ import.

  48. Design - PK: When importing a new MS SQL or Odata table that has PK in the source, ETL+ will automatically recognize and pre-configure its PK.

  49. Design - PK: Check the PK check boxes to change/define the table’s primary key columns.

  50. Design - PK: For text-based sources like OData, varchar(max) columns are automatically changed to varchar(50). We recommend reviewing the varchar size.

  51. Design - PK: ETL+ logs the following when MS SQL can’t create/recalculate a PK: "Primary Key failure. PK requires rows with unique values and no NULLs. Review the PK fields.". This means the selected PK columns are not the table’s correct primary key - review/fix the PK configuration.

  52. Design - PK: When upgrading an ETL+ entity, Primary Index columns automatically become Primary Key columns.

  53. Column Formats: On the data warehous panel (center panel), double-click or right-click on a table name -> Show Columns to enable the expansion of this table’s column names and formats.

  54. Column Formats: Click +/- by a column name to expand/collapse its column names and formats.

  55. Column Formats: To reload column names and formats, Double-click again or right-click on a table name -> Show Columns again.

  56. ETL Page - Load Type: Load Type section now only uses vertical real estate needed.

  57. ETL Page - Load Type: Replace All has been renamed to Load All.

  58. ETL Page - Load Type: Replace with Control has been renamed to Replace.

  59. ETL Page - Load Type: Update has been renamed to Upsert.

  60. ETL Page - Load Type: Hovering over the Load Type options shows its function.

  61. ETL Page - Load Type: Hover over Load All: 1st: Load all. Ongoing: Reload all.

  62. ETL Page - Load Type: Hover over Replace: 1st: Load all. Ongoing: Replace filtered rows.

  63. ETL Page - Load Type: Hover over Upsert: 1st: Load all. Ongoing: Update modified, insert new rows.

  64. ETL Page - Load Type: Hover over Append: 1st: Load all. Ongoing: Append all.

  65. ETL Page - Load Type: Selecting Replace or Upsert expands its settings section.

  66. ETL Page - Replace: Filter column now is a drop down.

  67. ETL Page - Replace: The filter expression is automatically set to Max(FilterColumn).

  68. ETL Page - Replace: Users can customize the filter variable. For instance:

    1. Constant: 1000

    2. Date constant: ‘02/15/2021’ (use quotes around the MM/DD/YYYY date format)

    3. SQL Expressions: for instance, getdate()-30

  69. ETL Page - Upsert: Renamed Primary Index to Primary Key.

  70. ETL Page - Upsert: Primary Key lists the PK columns (from the Design page).

  71. ETL Page - Upsert: Primary Key lists the PK columns in the same order they appear in the SQL Statement.

  72. ETL Page - Upsert: To edit the PK columns, click the Edit icon by the Primary Key or the Design icon on the table.

  73. ETL Page - Upsert: Use the dropdown to select the Column with Last Modified Value.

  74. ETL Page - Upsert: The Update filter is automatically set to Max(LastModifiedValueColumn).

  75. ETL Page - SQL Statement: Support to MS SQL Server CTE (Common Table Expressions).

  76. ETL Page - SQL Statement: Support to SQL statement comments. Syntax /* comment text */. This can only be used after an initial SELECT statement.

  77. ETL Version Control: When opening an entity with a different ETL version than the last one used for the entity, ETL will notify and prompt what to do next.

  78. ETL Version Control: When using a newer ETL+ version than the last one used on an entity, users will be prompted to upgrade or cancel.

  79. ETL Version Control: When using an older ETL+ version than the last one used on an entity, users will be prompted to download the older version (by going to our download page) or cancel.

  80. Load Engine: Ability to apply transformations after the load (previously, only available during extraction when the source SQL syntax allowed).

  81. Load Engine: Source loading adds a 0_UnionID column with content = table schema. This is helpful for multi-company table linking. This new column will be further refined when more multi-company features become available.

  82. Load Engine: Settings 0_Entity now creates 0_<EntityID> column (instead of 0_<schema>).

  83. Load Engine: If the source table already has a 0_<EntityID> column, load engine will import this column (instead of creating it).

  84. Load Engine: If the source table already has a [0_UnionID] column, load engine will import this column (instead of creating it).

  85. Load Engine: ETL+ retries 3 times upon running into a load error in the UI, and then proceeds. In a multi table refresh, use the Cancel button to stop the refresh (Cancel applies before the next table load).

  86. Load Engine - zEntity: Creates a <dw schema>.zEntity table with the following columns: PK_Entity, EntityID, EntityName, CYE_Value, DT_LatestLoadStart, FYrStart_Int2, PnLType, ReportingDate, 0_UnionID, 0_<EntityID>.

  87. Load Engine - zEntity: If <dw schema>.zEntity already exists, ETL+ doesn’t overwrite it.

  88. Load Engine - zEntity Columns: PK_Entity, EntityID and EntityName defining the entity.

  89. Load Engine - zEntity.CYE_Value: It’s populated by Settings page -> CYE Value. This is used by many Financials templates to set up a description or a GL number to Current Year Earnings.

  90. Load Engine - zEntity.DT_LatestLoadStart: At the start of a new load (individual or group of tables), ETL+ writes the current date & time on this column. Use case: to populate report DataAsOf fields.

  91. Load Engine - zEntity.FYrStart_Int2: It’s populated by Settings page -> FYear Start: Mmm. A number between 0 and 12that defines the 1st calendar month of the first fiscal year (assumes period starts on the 1st of the month). Ex.: 2 for Feb 1st. 0 means a custom fiscal year. Use case: this field controls part of the logic on DataSelf’s 5_Date and 6_DatePeriod date tables.

  92. Load Engine - zEntity.PnLType: It’s populated by Settings page -> P&L: Type. This column controls how DataSelf P&reports work: S → Standard P&L or E → EBIDTA type.

  93. Load Engine - zEntity.ReportingDate: For customers that want to customize the actual reporting date. For instance, show this fiscal period metrics based on the end of last month’s date. It’s populated by Settings page -> Reporting Date. Options: 0 -> Today. 1 -> Yesterday, 2 -> Last month's end.

  94. Load Engine - Load All: The load happens on a temporary table to allow users to query the official table with minimum interruption. Once the load completes, the temporary table becomes the official one. The temporary table is named Schema.TableName_TEMP.

  95. Load Engine - Load All: The transition between temporary to official table happens very quickly when there are no transformations performed (delete official, rename temporary to official, create <0_EntityID> when applicable).

  96. Load Engine - Load All: The transition between temporary to official table happens quickly when there are transformations performed (delete official, insert into official from temp table applying transformations).

  97. Load Engine - Replace and Upsert: When user changes the mappings of a delta refresh table, and the table already has data, user is promped with:

    1. Column mappings modified. The delta refresh needs one "Load All" data load to sync up OR manual adjustments to the physical table.
      Force one "Load All" in the next load (manual or scheduled)?
      Yes/No/Cancel

  98. Load Engine - Replace and Upsert: When user clicks Yes to the prompt above, ETL+ will force a Load All in the next table load (manual or scheduled), and then resumes the delta refresh.

  99. Refresh Batch: Rename icon added for Refresh Batch Names.

  100. Refresh Batch: Removed Run Refresh Batch icon from header (cleaner UI).

  101. Refresh Batch: Removed Delete Refresh Batch icon from header (cleaner UI).

  102. Refresh Batch - Steps: Select a step and Click & Hold the Up or Down icon to quickly move it.

  103. Refresh Batch - Steps: Hover over Up and Down icons to show quick help pop up.

  104. Refresh Batch - WTS: Repeat Task checkbox unchecked by default.

  105. Refresh Batch - Steps: Pop up when hovering steps has been cleaned up and re-organized the layout to make it clearer what the step is about.

  106. Data prep: If the source data brings in a Date and or DateTime value that is incorrect for SQL (common in text based data sources like Excel or OData, and Providex), apply transformations to fix the issue. Examples:

    1. Invalid date values (ex.: Feb 30): Convert the field to a character field.

    2. A date/time column has more characters than accepted by SQL. Remove the extra characters: CAST(LEFT(DateColumn),19) as DATETIME).

  107. OData Extraction - Load All: ETL+ process the data extraction sorted based on the PK (usually available) or a key available from the OData metadata.

  108. OData Extraction - Replace and Upsert: ETL+ process the data extraction sorted based on the delta refresh filter (ex.: InvoiceDate) plus the PK (usually available) or a key available from the OData metadata.

  109. OData Extraction - Replace and Upsert: When starting a new load and there’s no dw.TableName_Temp2, ETL+ checks the delta refresh filter value from dw.TableName, applies the filter value into the source data extraction process, and loads the data into TableName_Temp. If the end of the extraction is reached before 100 pages, ETL+ deletes TableName, and renames TableName_Temp to TableName_Temp.

  110. OData Extraction - Replace and Upsert: Starting an extraction like listed in the prior feature above, but if 100 pages are loaded without the end of the extraction, ETL+ moves/append TableName_Temp onto TableName_Temp2, deletes TableName_Temp, logs off Acumatica, logs in Acumatica again, and resumes the load into TableName_Temp. This process repeats until the end of the extraction, then TableName_Temp is appended onto TableName_Temp2, TableName is deleted, and TableName_Temp2 is renamed into TableName.

  111. OData Extraction - Replace and Upsert: When starting a new load and there’s a TableName_Temp2 on the data warehouse, ETL+ starts the delta load from TableName_Temp2 (instead of from TableName) and processes the load as per the prior feature.

  112. OData Extraction - Upsert: Be sure to configure the order of PK columns in the SQL statement to guarantee an ascending extraction. Failing to do this might cause delta data extraction inconsistencies. We highy recommend adding a date (like CreateDate) as the first column of a PK controlling an Upsert.

  113. OData Extraction - Upsert: When executing OData extractions, the order of the PK columns in the OData extraction URL following the order of the columns the SQL statement (instead of alphabetical).

  114. ODBC Configuration: Added an explanation about adding credentials to an ODBC driver.

  115. ODBC Configuration: Added an explanation about potential reason for missing ODBCs is because of mismatch of ETL+ and ODBC 32/64-bit builds.

  116. ODBC Extraction: Support to Pervasive ODBC.

  117. Installation: For every entity, usually only one ETL+ installation requires setting up the connection to data sources. Therefore, we removed the installation step to connect every ETL+ to its data sources.

  118. Installation: We removed the Windows Task Schedule step from the installation. Cleaner install.

  119. All Users: On the user credentials screen, the Login button is preselected. Once credentials are entered, press Enter to login or click the Login button.

  120. All Users - ETL+ Version Control: ETL+ flags its metadata with the ETL+ version used to maintain it.

  121. All Users - ETL+ Version Control: When a user opens an entity with a different version than what’s on the metadata, ETL+ will prompt the user if he/she wants to proceed with the different version or Cancel.

  122. All Users - ETL+ Version Control: If a user wants to open an entity with a newer or older ETL+ version than what’s in the metadata, the ETL+ will proceed and update the metadata ETL+ version information.

  123. All Users - ETL+ Version Control: If a user doesn’t want to open an entity with a newer or older ETL+ version than what’s in the metadata, the ETL+ will prompt if the user wants to open ETL+ Release History webpage to download other versions.

  124. Admin User: ETL+ admin user page now shows the ETL+ metadata version.

  125. All Users: The new ETL+ installation flow no longer has a WTS step. This was confusing for many users.

  126. Client Info: ETL+ license is now part of the metadata.

  127. All Users: When opening an entity, the center panel cursor goes to the top of the page.

  128. All Users: Added Send button on Client Info page to re-send product registration email.

  129. All Users: Added Send button on Client Info page to re-send product registration email that now copies sales@ and support@ dataself emails.

  130. Admin User: metadata.EntityAttribute new table to host customer and tech support information.

  131. Admin User: Entities page has a search box - enter characters to find and select matching EntityIDs and Names.

  132. Admin User: When landing on the Entities page, the cursor goes to the search box.

  133. Admin User: When leaving the ETL page back to the Entities page, the prior Entity will pre-selected in the new Search box.

  134. Admin User: When a single entity shows on the Entities page, just click Enter to Edit it (or click Edit with mouse).

  135. Admin User: Tableau Script Deployment removed from Refresh Batch page (it was confusing).

  136. Admin User- Duplicate Entity: Upon duplication of an Entity, ETL+ finds & replaces <OriginalEntityID> with <NewEntityID> in all SQL Statements. This is needed for many out of the box data warehouse table data manipulations. Ex.: for properly processing zEntity and zCalendarTable tables.

  137. Admin User: ETL+ Customer Portal with easy access to consolidated metadata information.

  138. Admin User: ETL+ Customer Portal can only be accessed from behind DataSelf’s firewall.

  139. Admin User: Deployment of Advanced, Pro and Enterprise share the same foundation (ETL+ templates, Tableau tds, Tableau main and QA twb workbooks).

  140. Admin User: Deployment of Pro and Enteprise replaces EntityID in SQL Statements with dbo (which is the default schema for such deployments).

  141. Admin User: For Pro and Enterprise deployments, ETL+ will automatically create a SYSTEM_Date table in the data warehouse. Required for certain internal analytics processes.

  142. Admin User: For Pro and Enterprise deployments, ETL+ will automatically create the zDateUntreated table for date manipulations.

  143. Admin User: For Pro and Enterprise deployment, ETL+ will automatically create auxiliary tables for source database specific data manipulations (such as document types and GL Financials data sets).

  144. Admin User: ETL+ License field controls the cloud template deployment script.

  145. Admin User: Client Info page allows the configuration of the ETL+ License type: DataSelf ETL+, VAR, DIY, Advanced, Pro, Enterprise.

  146. Admi Admin User: On the Client Info page, checking the Tableau Deploy checkbox + License = VAR + clicking Save will deploy a DataSelf Advanced Analytics NFR system on https://bi1.dataself.com.

  147. Admi Admin User: On the Client Info page, checking the Tableau Deploy checkbox + License = Advanced + clicking Save will deploy a DataSelf Advanced Analytics system on https://dataselfbi.com.

  148. Admi Admin User: On the Client Info page, checking the Tableau Deploy checkbox + License = Pro + clicking Save will deploy a DataSelf Pro Analytics system on https://dataselfbi.com.

  149. Admi Admin User: On the Client Info page, checking the Tableau Deploy checkbox + License = Enterprise + clicking Save will deploy a DataSelf Enterprise Analytics system on https://dataselfbi.com.

  150. Admin User: Analytics Settings is now part of the ETL+ metadata. It contains information such as Analytics type (Tableau, soon Power BI as well) and other settings to automate maintenance tasks such as the deployment of their templates and extract refresh.

  151. Admin User: New Stored Procedure to automate the maintenance of analytics tasks such as the deployment of Analytics templates and extract refresh.

  152. Admin User: The Analytics Server URL from Analytics Settings shows at the bottom of the Tableau Extract Refresh page.

  153. Upgraded Microsoft Code Signing with RSA4096 encryption.

  154. Compatible with Windows 11.

Fixed Issues

  1. Product registration email missed the token information. Fixed.

  2. Adding a source table to the data warehouse was disabling the center panel’s icons for that table. The user had to click another table and go back to the new table to enable the icons. Fixed.

  3. WTS was automatically pre-checking the Repeat task every feature. Fixed.

  4. WTS was not setting Run whether user is logged on or not. This is actually a security issue, be sure to enter a local Windows admin username and password in the ETL+ WTS page to create the WTS task with the setting above.

  5. Upon installing ETL+ on a new computer, if it doesn’t start, right-click ETL+ → Run as administrator. This is a required security feature to kick off the IP whitelisting process.

  6. Mapping of Acumatica OData columns with spaces in their names in GIs will come without spaces in OData. Ex.: “Geo Customer” in GI comes as “GeoCustomer” in OData.

Known Issues

  1. Tables with delta refresh will present an error: ‘Invalid column name ‘0_UnionID', but ETL+ still processes the delta refresh correctly. To prevent the error message from happening, manually create a new column 0_UnionID varchar(100) on tables with that error message.

  2. Clicking the Log icon after certain tasks (such as running a Refresh Batch) might present a "Unhandled exception" error. Click Quit and re-open. It mostly only happens once.

  3. Upon adding a new table from a NetSuite ODBC, the SQL syntax will have an extra ] at the end of the table name. To fix it: remove ] and save.

  4. Some Acumatica OData v4 tables might show error “The contents of table TableName are not available for this user“ and fail to import. This is an Acumatica security issue and we’ve requested how to fix it. While we wait for the Acumatica fix, use OData v3 to import such tables.

  5. When manually loading a table, it will retry 12 times in case of failure.

  6. Adding tables from Sage Intacct might not work.

  7. Deleting all Refresh Batches requires going to ETL main page and back to get a new one created.

  8. Opening an entity from an older metadata version with the new one using a regular user (non Admin) will not update the metadata version in the cloud. Work around: open it with an Admin user.

  9. Refresh Batch: If a table fails to refresh, the ETL+ might unexpectedly load several tables multiple times.

  10. Sometimes ETL+ will mistakenly flag that the metadata has been changed and you need to exit and re-enter the entity. Just exit and re-enter.

  11. Changing the data warehouse of an entity won’t show on the bottom left corner until the entity is closed and re-opened.

  12. Regular users: Mousing over Sources doesn’t show the pop up with details.

  13. Regular users: When login to ETL+, in the first attempt, ETL+ will only open the first entity even when one uses another entity on the dropdown list.

  14. The icon color and type for the column formats on the center panel isn’t 100% consistent yet.

  15. Opening an entity with tables mapped to the zData Warehouse with an older ETL+ version will push such tables to other source databased on the center panel. DataSelf can fix that manually.

  16. Importing large XML content into varchar(max) might run into error: server stack limit has been reached.

  17. Sometimes ETL+ is closing unexpectedly after a data load.

  18. Sometimes ETL+ runs into an “Unhandled exception” error. Close and re-open ETL+.

  19. Locking the ETL+ editing when someone else is editing it doesn’t work in some situations.

  20. ETL+ still tries to send email even when set to Cloud notification, or No Notification.

  21. ETL+ delta extraction from NetSuite ODBC might not work when using dates for filtering.

  22. When opening an entity created in prior ETL+ versions, the data warehouse panel will show the source header blank. To fix this, open the entity in the prior ETL+ version, make any modification and save it. Now open the entity in the latest ETL+ and the source header appears.

...