If Yellowfin becomes disconnected from the data source during editing/cloning of a view, or while editing a report, an issue may appear in the form of views that present incomplete lists of fields in step 2 of the view builder and in reports. Since Yellowfin did not receive the complete result set, it concluded that the columns were no longer in the tables, and marked them as ‘DISCONNECTED’ in its configuration database. This is the same behavior that we would see if a table’s structure was actually altered, and a column was removed, for example. This issue will also often result in reports and dashboards that are unable to run.
To fix this, some queries will have to be run directly against Yellowfin's configuration database. This is something that should only be done by your Database Administrator, as running malformed queries can severely damage your Yellowfin instance.
Step 1: Shut down Yellowfin
Step 2: Make sure that there is a recent backup of the Yellowfin configuration database available
Step 3: Run the following query against the Yellowfin Configuration Database to confirm that there is a count of fields marked as 'DISCONNECTED'
SELECT a.ViewId,a.ViewDescription, b.ViewDescription, c.statusCode, COUNT(c.columnName)
FROM ReportView a
INNER JOIN ReportView b ON (a.viewId = b.parentviewId OR a.viewID = b.viewId)
LEFT OUTER JOIN ReportFieldTemplate c ON (b.viewId = c.viewId)
GROUP BY a.ViewId,a.ViewDescription, b.ViewDescription, c.statusCode ORDER BY 1
Step 4: Cross reference the reportview table to learn what ViewID belongs to the named view that is experiencing issues
Step 5: Run the following query while replacing ***** with the ViewID from Step 4.
UPDATE ReportFieldTemplate SET StatusCode = 'OPEN'
WHERE (ViewId = '*****'
If still facing the above issue, please reach out to the Yellowfin Support team for further assistance. Depending on your issue and release of Yellowfin we may suggest the inclusion of an extra DB parameter 'NEVERDISCONNECTFIELDS' (Supported in 7.4.11 and later releases)
INSERT INTO configuration(IpOrg, ConfigTypeCode, ConfigCode, ConfigData) VALUES (1,'SYSTEM','NEVERDISCONNECTFIELDS','true');