Tags and markings are not retained from one session to the next in Spotfire, if the data table's key columns do not uniquely identify all of its rows.

Tags and markings are not retained from one session to the next in Spotfire, if the data table's key columns do not uniquely identify all of its rows.

book

Article ID: KB0071094

calendar_today

Updated On:

Products Versions
Spotfire Server All

Description

Tags and markings are not retained from one session to the next, if the data table's key columns do not uniquely identify all of its rows.

Key columns are used to uniquely identify all rows in a data table. You need to specify key columns if you want to be able to see the markings that were active when saving the file, or if you want any specified tags or bookmarks to be reapplied when reopening the analysis file. 
 
Even after these key columns have been defined,  if the data table's key columns do not uniquely identify all of its rows, or if any key column contains a NULL value, then tags and markings will not be retained from one session to the next.

Key columns are specified under "Data Table Properties > General tab":

Sometimes you need to specify more than one key column, to uniquely identify rows. These key columns should not contain any NULL values. 
 
If any key column has a NULL value, even when the resulting Combination Column appears to uniquely define all rows, Spotfire will still be unable to keep that Tag or Marking beyond the end of the current session.  This is because a NULL value represents an unknown that cannot be used to test for uniqueness.

Issue/Introduction

Tags and markings are not retained from one session to the next, if the data table's key columns do not uniquely identify all of its rows.

Resolution

Ensure that none of the data table's key columns have any NULLs.
 
For a data table that is populated by a connection to an Oracle data source, for example, use the NVL function at the Element level to replace NULL values in the key columns before import into Spotfire.  Oracle's NVL function replaces a NULL, missing value, or empty string with a string.
 
Note that it is not sufficient to modify Spotfire's SQL query to use NVL functions. The NVL function has to be applied at the Element level in Oracle. 
 
Note: NVL is an Oracle function. For other types of relational databases, replace NULL values using an equivalent function for that database type.

Additional Information

Doc: Details on Select Key Columns, Spotfire Analyst User's Guide