How to Append a New Data Table Relation to an Existing DataRelationCollection Class using IronPython

How to Append a New Data Table Relation to an Existing DataRelationCollection Class using IronPython

book

Article ID: KB0070456

calendar_today

Updated On:

Products Versions
Spotfire Analyst All

Description

In scenarios where a Data Table already contains a relation for one column (e.g., id), and there's a need to add a new relation for another column (e.g., category), it's essential to ensure that the new relation is appended correctly to the existing DataRelationCollection class. It's important to note that what might seem like two separate relations between individual column pairs in the GUI is often represented as a single DataRelation. 

Environment

All

Resolution

For instance, instead of having separate relations such as:
[Table1].[id] = [Table2].[id]
Sample error message if the script about is used:
"ValueError: The tables 'Table1' and 'Table2' already have a relation to each other."

It's more efficient to have a combined DataRelation:
([Table1].[id] = [Table2].[id]) AND ([Table1].[category] = [Table2].[category])

When programmatically adding a new, more complex relation, it's crucial to remove the old relation before adding the new one. This ensures that the DataRelationCollection remains consistent and prevents conflicts.

Issue/Introduction

When working with DataRelations in a DataTable, it's crucial to understand how to correctly append a new relation, especially when dealing with complex relationships between columns. In this guide, we'll demonstrate how to programmatically append a new DataRelation to an existing DataRelationCollection class using IronPython.

Additional Information

DataRelationCollection Class