Oggetto Relationships (TMSL)

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

Definisce una relazione tra una tabella di origine e 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 come le relazioni influiscono sul filtro dei dati. I valori validi sono:

  • OneDirection (1): le righe selezionate nella fine "A" della relazione filtrano automaticamente le analisi della tabella nella fine "Da" della relazione.

  • BothDirections (2): i filtri in una delle due estremità della relazione filtrano automaticamente l'altra tabella.

  • Automatico (3): il motore analizzerà 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, unire le parti di data e ora.

  • DatePartOnly (2): quando si uniscono due colonne di data e ora, unire in join solo la parte data.

relyOnReferentialIntegrity
Non usato; riservato per usi futuri.

securityFilteringBehavior
Enumerazione che indica in che modo le relazioni influiscono sul 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 nella fine "A" della relazione filtrano automaticamente le analisi della tabella nella fine "Da" della relazione.

  • BothDirections (2): i filtri in una delle due estremità della relazione filtrano automaticamente l'altra tabella.

Utilizzo

Gli oggetti Relazione vengono usati nel comando Alter (TMSL), nel comando Create (TMSL),nel comando CreateOrReplace (TMSL) e nel comando Delete (TMSL).

Durante la creazione, la sostituzione o la modifica di un oggetto relazione, specificare tutte le proprietà di lettura/scrittura della definizione dell'oggetto. L'omissione di una proprietà di lettura/scrittura viene 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  
              }  
            ]  
          }  
        }