Update a Dataset
If your data changes, you can use SuperADMIN to replace an existing dataset in the catalogue with a new SXV4 file.
For example, you might have a customer dataset that is regularly updated with new customer records, or a set of survey data that is updated with new information on a regular basis. You simply generate the new SXV4 in SuperCHANNEL and then use SuperADMIN to update the file location of the dataset in the catalogue.
The method for pointing SuperADMIN to the new SXV4 file varies depending on whether the new SXV4 is "compatible" with the existing one (see below more details on the criteria that determine whether SXV4s are "compatible").
A Server Restart is Not Required
Whichever method you use to update to the new SXV4, it is not necessary to restart SuperSERVER: it will automatically start using the new SXV4 for cross tabulations. However, to prevent user confusion, any users who are currently accessing the dataset at the time it is updated will continue to get results from the old SXV4:
- SuperWEB2 users who currently have this dataset open will continue to receive results from the old SXV4 until they change datasets on the Datasets screen.
- SuperCROSS users who currently have this dataset open will continue to receive results from the old SXV4 until they restart SuperCROSS.
Update SXV4 if New File is Compatible
If your new SXV4 is "compatible" with the existing one, then you can update to the new file using a single command:
cat <dataset_id> location <new_path_location>
Criteria for Compatibility
You can only update the dataset location using the above command if the new SXV4 is compatible with the existing SXV4:
- They must have the same default summation option (with an identical code and name).
- All the summations in the old dataset must also be in the new dataset.
- All the classification fields in the old dataset must also be in the new dataset.
- All classification field value sets in the old dataset must also be in the new dataset.
- Any hierarchical fields in the old dataset must have the same structure in the new dataset.
- Fields that are not summations or classifications are not included in the compatibility check.
Example
For example, suppose you have customer data that you update on a monthly basis and the dataset catalogue is currently using the customer data from March 2014, which has been added to the catalogue with the ID banking and is located at E:\Datasets\Customers\RetailBankingMarch2014.sxv4.
Suppose you want to replace this with the data for April 2014. You would do the following:
- Use SuperCHANNEL to build the updated SXV4 based on the customer data from April. Save the SXV4 as E:\Datasets\Customers\RetailBankingApril2014.sxv4
Login to SuperADMIN and update the location of the SXV4 file:
TEXT> login login: administrator password: User 'administrator' logged in > cat banking location E:\Datasets\Customers\RetailBankingApril2014.sxv4 Successfully updated location property for database [banking]
Updating an SXV4 that is Not Compatible
If you need to update an SXV4 and your new version is not compatible with the existing one, then you will need to run separate commands to remove the existing dataset and add the new SXV4 with the same ID:
cat remove <dataset_id>
cat adddb <dataset_id> [ <display_name> ] <new_path_location> <server_id>
For example:
> login
login: administrator
password:
User 'administrator' logged in
> cat remove banking
Successfully removed database 'banking' from server 'localhost'
> cat adddb banking "Banking Customers" E:\Datasets\Customers\RetailBankingApril2014.sxv4 localhost
Successfully installed database 'banking' to server 'localhost'
Removing the dataset and adding it back will also remove all dataset-level settings, including permissions, field level security settings, and any data control methods that have been applied to the dataset. You will need to reapply all these settings after you add the new SXV4.
If your SXV4 files are compatible, it is always better to use the location update command, rather than removing the dataset and adding it back in again.