Compartilhar via


Objeto Relationships (TMSL)

Aplica-se a: SQL Server 2016 e posteriores do Analysis Services Azure Analysis Services Fabric/Power BI Premium

Define uma relação entre uma tabela de origem e de destino, com a capacidade de especificar cardinalidade e a direção dos filtros de consulta e segurança.

Definição do objeto

Todos os objetos têm um conjunto comum de propriedades, incluindo nome, tipo, descrição, uma coleção de propriedades e anotações. Os objetos relationship também têm as propriedades a seguir.

Isactive
Um booliano que indica se a relação está marcada como Ativa ou Inativa. Uma relação Ativa é usada automaticamente para filtragem entre tabelas. Uma relação Inativas pode ser usada explicitamente por cálculos DAX através da função USERELATIONSHIP.

**crossFilteringBehavior ** Indica como as relações influenciam a filtragem de dados. Os valores válidos são:

  • OneDirection (1) – As linhas selecionadas no final "Para" da relação filtrarão automaticamente as verificações da tabela no final "De" da relação.

  • BothDirections (2) – Os filtros em ambas as extremidades da relação filtrarão automaticamente a outra tabela.

  • Automático (3) – o mecanismo analisará as relações e escolherá um dos comportamentos usando heurística.

joinOnDateBehavior
Ao unir duas colunas de data hora, indica se deve associar partes de data e hora ou apenas em parte de data.

  • DateAndTime (1) – Ao unir duas colunas de data e hora, participe de partes de data e hora.

  • DatePartOnly (2) – Ao unir duas colunas de data e hora, junte-se somente à parte de data.

relyOnReferentialIntegrity
Não utilizado, reservado para uso futuro.

securityFilteringBehavior
Uma enumeração que indica como as relações influenciam a filtragem de dados ao avaliar expressões de segurança em nível de linha. Estes são os valores válidos:

  • OneDirection (1) – As linhas selecionadas no final "Para" da relação filtrarão automaticamente as verificações da tabela no final "De" da relação.

  • BothDirections (2) – Os filtros em ambas as extremidades da relação filtrarão automaticamente a outra tabela.

Uso

Os objetos Relationship são usados no comando Alter (TMSL),no comando Create (TMSL), no comando CreateOrReplace (TMSL) e no comando Delete (TMSL).

Ao criar, substituir ou alterar um objeto de relação, especifique todas as propriedades de leitura/gravação da definição de objeto. A omissão de uma propriedade de leitura/gravação é considerada uma exclusão.

Sintaxe completa

Abaixo está a representação de esquema de um objeto de relação.

"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  
              }  
            ]  
          }  
        }