Warning message in TIBCO Spotfire client: "The relation could not be created since it leads to cyclic dependencies between data tables."

Warning message in TIBCO Spotfire client: "The relation could not be created since it leads to cyclic dependencies between data tables."

book

Article ID: KB0072355

calendar_today

Updated On:

Products Versions
Spotfire Analyst All supported versions

Description

In the layout below, A, B, C and D represent four different data tables. Table A is related to Table B and Table D. Table B is related to Table C. If you try to set up a relation between Table C and Table D, it becomes a cyclic dependency. Spotfire does not allow this. Multiple relations are allowed, but there can only be one single path between two tables. The warning message "The relation could not be created since it leads to cyclic dependencies between data tables" will be thrown.


                    -----
                    |    |
                    | A |
                    |    |
                    -----
                    /   \
                   /     \
                  /       \
              -----       -----
              |    |       |     |
              | D |       | B |
              |    |       |     |
              -----       -----
                  \       /
                   \     /
                    \   /
                    -----
                    |    |
                    | C |
                    |    |
                    -----

Symptoms:
Trying to add a data table relationship results in the warning message: "The relation could not be created since it leads to cyclic dependencies between data table."

Cause:
This is "as designed" behavior. Its purpose is to prevent cyclic dependencies among data tables.

Issue/Introduction

Warning message in TIBCO Spotfire client: "The relation could not be created since it leads to cyclic dependencies between data tables."

Environment

All supported environments

Resolution

For some (but not all) use cases, a solution could be to create a copy of the table "D" and have the original table "A" connect to the original table "D".  Then have the table "C" connect to the table "Copy of D".

Note:  Linking the copy of D to A would create a cyclic dependency.

                    -----
                    |    |
                    | A |
                    |    |
                    -----
                    /   \
                   /     \
                  /       \
              -----       -----
              |    |       |     |
              | D |       | B |
              |    |       |     |
              -----       -----
                          /
                         /
                        /
                    -----
                    |    |
                    | C |
                    |    |
                    -----
                      /
                     /
                    /
                ------
                |        |
                |Copy|
                | of    |
                | D    |
                |        |
                ------