Compartir a través de


Objeto Relationships (TMSL)

Se aplica a: SQL Server 2016 y versiones posteriores analysis Services Azure Analysis Services Fabric/Power BI Premium

Define una relación entre una tabla de origen y destino, con la capacidad de especificar la cardinalidad y la dirección de los filtros de consulta y seguridad.

Definición del objeto

Todos los objetos tienen un conjunto común de propiedades, como el nombre, el tipo, la descripción, una colección de propiedades y las anotaciones. Los objetos relationship también tienen las siguientes propiedades.

isActive
Valor booleano que indica si la relación está marcada como Activa o Inactiva. Se usa automáticamente una relación activa para filtrar entre tablas. Las relaciones inactivas se pueden usar expresamente en los cálculos de DAX con la función USERELATIONSHIP.

**crossFilteringBehavior ** Indica cómo influyen las relaciones en el filtrado de datos. Los valores válidos son:

  • OneDirection (1): las filas seleccionadas en el extremo "To" de la relación filtrarán automáticamente los exámenes de la tabla en el extremo "From" de la relación.

  • BothDirections (2): los filtros en cualquier extremo de la relación filtrarán automáticamente la otra tabla.

  • Automático (3): el motor analizará las relaciones y elegirá uno de los comportamientos mediante heurística.

joinOnDateBehavior
Al combinar dos columnas de fecha y hora, indica si se deben unir en partes de fecha y hora o solo la parte de fecha.

  • DateAndTime (1): al combinar dos columnas de fecha y hora, una en partes de fecha y hora.

  • DatePartOnly (2): cuando se combinan dos columnas de fecha y hora, solo se combinan en la parte de fecha.

relyOnReferentialIntegrity
Unused: reservado para uso futuro.

securityFilteringBehavior
Enumeración que indica cómo las relaciones influyen en el filtrado de datos al evaluar expresiones de seguridad de nivel de fila. Los valores válidos son los siguientes:

  • OneDirection (1): las filas seleccionadas en el extremo "To" de la relación filtrarán automáticamente los exámenes de la tabla en el extremo "From" de la relación.

  • BothDirections (2): los filtros en cualquier extremo de la relación filtrarán automáticamente la otra tabla.

Uso

Los objetos relationship se usan en alter command (TMSL),Create command (TMSL), CreateOrReplace command (TMSL), and Delete command (TMSL)).

Al crear, reemplazar o modificar un objeto de relación, especifique todas las propiedades de lectura y escritura de la definición de objeto. La omisión de una propiedad de lectura y escritura se considera una eliminación.

Sintaxis completa

A continuación se muestra la representación de esquema de un objeto de relación.

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