Oggetto Relationships (TMSL)

Si applica a: SQL Server 2016 e versioni successive Analysis Services Azure Analysis Services Power BI Premium

Definisce una relazione tra una tabella di origine e una tabella di destinazione, con la possibilità di specificare la cardinalità e la direzione dei filtri di query e sicurezza.

Definizione dell'oggetto

Tutti gli oggetti hanno un set comune di proprietà, tra cui nome, tipo, descrizione, raccolta di proprietà e annotazioni. Gli oggetti relazione hanno anche le proprietà seguenti.

Isactive
Valore booleano che indica se la relazione è contrassegnata come Attiva o Inattiva. Una relazione attiva viene usata automaticamente per il filtro tra tabelle. Una relazione inattiva può essere usata in modo esplicito nei calcoli DAX con la funzione USERELATIONSHIP.

**crossFilteringBehavior ** Indica il modo in cui le relazioni influiscono sul filtro dei dati. I valori validi sono:

  • OneDirection (1): le righe selezionate all'estremità "A" della relazione filtrano automaticamente le analisi della tabella all'estremità "Da" della relazione.

  • BothDirections (2): i filtri su entrambe le estremità della relazione filtrano automaticamente l'altra tabella.

  • Automatico (3): il motore analerà le relazioni e sceglierà uno dei comportamenti usando l'euristica.

joinOnDateBehavior
Quando si crea un join di due colonne di data e ora, indica se applicare il join sulle parti della data e dell'ora o solo sulla parte della data.

  • DateAndTime (1): quando si uniscono due colonne di data e ora, creare un join in base alle parti di data e ora.

  • DatePartOnly (2): quando si esegue il join di due colonne di data e ora, creare un join solo nella parte della data.

elyOnReferentialIntegrity
Non usato; riservato per usi futuri.

securityFilteringBehavior
Enumerazione che indica il modo in cui le relazioni influenzano il filtro dei dati durante la valutazione delle espressioni di sicurezza a livello di riga. I valori validi sono i seguenti:

  • OneDirection (1): le righe selezionate all'estremità "A" della relazione filtrano automaticamente le analisi della tabella all'estremità "Da" della relazione.

  • BothDirections (2): i filtri su entrambe le estremità della relazione filtrano automaticamente l'altra tabella.

Utilizzo

Gli oggetti relazione vengono usati nei comandi Alter (TMSL), Create command (TMSL), CreateOrReplace (TMSL)e Delete (TMSL).

Quando si crea, sostituisce o si modifica un oggetto relazione, specificare tutte le proprietà di lettura/scrittura della definizione dell'oggetto. L'omissione di una proprietà di lettura/scrittura è considerata un'eliminazione.

Sintassi completa

Di seguito è riportata la rappresentazione dello schema di un oggetto relazione.

"relationships": {  
          "type": "array",  
          "items": {  
            "anyOf": [  
              {  
                "description": "SingleColumnRelationship object of Tabular Object Model (TOM)",  
                "type": "object",  
                "properties": {  
                  "name": {  
                    "type": "string"  
                  },  
                  "isActive": {  
                    "type": "boolean"  
                  },  
                  "type": {  
                    "enum": [  
                      "singleColumn"  
                    ]  
                  },  
                  "crossFilteringBehavior": {  
                    "enum": [  
                      "oneDirection",  
                      "bothDirections",  
                      "automatic"  
                    ]  
                  },  
                  "joinOnDateBehavior": {  
                    "enum": [  
                      "dateAndTime",  
                      "datePartOnly"  
                    ]  
                  },  
                  "relyOnReferentialIntegrity": {  
                    "type": "boolean"  
                  },  
                  "securityFilteringBehavior": {  
                    "enum": [  
                      "oneDirection",  
                      "bothDirections"  
                    ]  
                  },  
                  "fromCardinality": {  
                    "enum": [  
                      "none",  
                      "one",  
                      "many"  
                    ]  
                  },  
                  "toCardinality": {  
                    "enum": [  
                      "none",  
                      "one",  
                      "many"  
                    ]  
                  },  
                  "fromColumn": {  
                    "type": "string"  
                  },  
                  "fromTable": {  
                    "type": "string"  
                  },  
                  "toColumn": {  
                    "type": "string"  
                  },  
                  "toTable": {  
                    "type": "string"  
                  },  
                  "annotations": {  
                    "type": "array",  
                    "items": {  
                      "description": "Annotation object of Tabular Object Model (TOM)",  
                      "type": "object",  
                      "properties": {  
                        "name": {  
                          "type": "string"  
                        },  
                        "value": {  
                          "anyOf": [  
                            {  
                              "type": "string"  
                            },  
                            {  
                              "type": "array",  
                              "items": {  
                                "type": "string"  
                              }  
                            }  
                          ]  
                        }  
                      },  
                      "additionalProperties": false  
                    }  
                  }  
                },  
                "additionalProperties": false  
              }  
            ]  
          }  
        }