This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
Establish lineage/relationship between SAP HANA and Tableau (reports)
By default in Connect, we are unable to see data lineage between SAP HANA and Tableau. The standard Alteryx loaders (i.e. Tableau & SAP HANA) in version 2019.2 are unable to detect the HANA object link due to a misaligned naming convention (“::” vs “/”). This specifically occurs when Tableau dashboards are pointed to HANA synonyms (“::”) as opposed to the views (“/”).
In SAP Hana, there are two types of objects – views (which are present in relevant schemas, e.g. “_SYS_BIC”) and synonyms. The synonyms are created for each view by default and always appear to be in the schema “PUBLIC”, however, this is not actually an explicit schema. According to SAP, public synonyms are the official access interface for the system views.
When loading the objects from SAP HANA, the object names contain the package name as well as the object name (view etc.). These two are differentiated with a “/” when loaded from the “_SYS_BIC” schema (e.g. “GSTP_VALIDATION/CA_01_C_PDA_GRA_001”), however synonyms from the “PUBLIC” schema are loaded with a differentiator of “::” (e.g. “GSTP_VALIDATION::CA_01_C_PDA_GRA_001”). An example below, where first row is the view and the second row provides the related synonym:
Thus, the lineage is not established when the SAP HANA objects from schemas are loaded (containing the “/”, and at the same time, the Tableau dashboards linked to the synonyms (“::”). This is because the object names are quite clearly different, and the loader doesn’t currently resolve the synonym to view translation (as per standard SAP HANA SQL parsing behaviour).
Loading problem analysis (using standard Alteryx loaders)
On SAP HANA side, when running the loader, user can (optionally) define schema name(s) they wish to load, however:
When schema is set as “_SYS_BIC”, the loader only loads the views from this particular schema, with no synonyms.
When schema is left as blank (i.e. no value entered), the loader loads everything, however in the “_SYS_BIC” schema, only synonyms are loaded and not the views.
When schema is set as “PUBLIC”, the loader does not return anything - fails as there is no corresponding schema in SAP HANA (it is only virtual space, not an explicit schema)
The SAP HANA instance in question is very, very large and due to volume limitations, as well as the potential risk of performance degradation, it is not feasible to load everything.
When we’ve examined the H2 staging tables, we find that Connect has loaded (therefore is technically aware of) the synonyms from the “PUBLIC” schema but they are not ever loaded beyond the staging tables. This is obviously required if we wish to represent these relationships within Connect.
SAP HANA loader – it seems there is a problem of loading synonyms from the “PUBLIC” schema and the loader should be adjusted in order to allow this.
Tableau loader – needs to be able to refer to synonyms defined in a SAP HANA data source, meaning whenever there is a “::” in object name and the schema name is blank (i.e. empty string representing the “PUBLIC” schema), then it should be defaulted to “PUBLIC”. This logic would ensure that a schema name is always present, even in cases where the schema name is retrieved as blank (which then would become “PUBLIC”).
In case the schema name is left blank for any reason, it should be populated as “PUBLIC”.
@DanH suggested to customize the Tableau loader as a temporary fix to replace the “::” with “/”, which is certainly possible but comes with a risk of incompatibility with future releases. Also the customers strong preference is to deliver a solution which only utilises standard loaders.
Are you considering building a standard SAP BW loader for Alteryx Connect. I am concious there are some custom solutions available on the market (like DVW loader), but that is not standard and does not allow data lineage with other systems?
We're working through an implementation of Connect - and it appears that every time Connect scans the Alteryx or Tableau environment, it does a full reload of all canvasses / workbooks.
However - we have several thousand tableau dashboards & alteryx canvasses - so this creates a significant delay on running the loaders, and we'd want to run these loaders every few hours so that Connect has up-to-date information (or at most 24 hours out of date). Running a full export and scan is causing this load to take a very long time to run.
Can we change the default behaviour for all the loaders to use a delta-load rather than doing a full scan - i.e. only pull out assets that have changed since the last load?
PowerBI Report Server is now offered as an on-prem solution. It would be great if there was a loader available to capture PowerBI reports not in Azure. If this could also capture SSRS reports which also reside on the PowerBI Report Server this would also be very beneficial.
Currently, the Files Loader in Connect loads all files in a directory regardless of whether they are used in an asset (e.g Alteryx workflow, Tableau dashboard, etc). This becomes a problem when you have folders containing hundreds or even thousands of files that may not actually be linked in anyway to Alteryx or Tableau as those are all populated into Connect.
It would be beneficial if the Files loader was more selective about what files to load into the Connect UI by picking up file relationships discovered using the Alteryx and Tableau loaders for example.
In the Alteryx Gallery we have the ability to place workflows in Districts or Collections. This structure should be maintained in Connect. Similar to how Data sources are managed, instead of Data Source Servers, you have an area to select and filter by the various collections and districts in which workflows are contained.