Condividi tramite


Oggetto Partitions (TMSL)

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

Definisce una partizione o una segmentazione logica del set di righe di tabella. Una partizione è costituita da una query Power Query M o SQL usata per l'importazione di dati, per i dati di esempio nell'ambiente di modellazione o come query completa per l'esecuzione di query tramite DirectQuery.

Le proprietà nella partizione determinano la modalità di origine dei dati per la tabella. Nella gerarchia degli oggetti l'oggetto padre di una partizione è un oggetto table.

Definizione dell'oggetto

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

tipo
Tipo di partizione. I valori validi sono numerici e includono quanto segue:

  • Query (1): i dati in questa partizione vengono recuperati eseguendo una query su un'origine dati. DataSource deve essere un'origine dati definita nel file model.bim.

  • Calcolato (2): i dati in questa partizione vengono popolati eseguendo un'espressione calcolata.

  • Nessuno (3): i dati in questa partizione vengono popolati eseguendo il push di un set di righe di dati nel server come parte dell'operazione Aggiorna.

mode
Definisce la modalità di query della partizione. I valori validi sono import, DirectQuery o default (ereditati). Questo valore è obbligatorio.

Valore Descrizione
Importa Indica che le richieste di query vengono rilasciate sul motore di analisi in memoria che archivia i dati importati.
DirectQuery Passare l'esecuzione di query a un database relazionale esterno. La modalità DirectQuery usa le partizioni per fornire dati di esempio usati durante la progettazione del modello. Quando viene distribuito in un server di produzione, è necessario tornare alla visualizzazione dati completa. Si ricordi che la modalità DirectQuery richiede una partizione per tabella e un'origine dati per modello.
default Impostare questa opzione se si desidera cambiare modalità più elevate sull'albero degli oggetti, a livello di modello o di database. Quando si sceglie impostazione predefinita, la modalità di query sarà importata o DirectQuery.

source
Identifica la posizione dei dati da eseguire una query. I valori validi sono query, calcolate o none. Questo valore è obbligatorio.

Valore Descrizione
nessuna Usato per la modalità di importazione, in cui i dati vengono caricati e archiviati in memoria.
query Per la modalità DirectQuery, si tratta di una query SQL eseguita sul database relazionale specificato nell'origine dati del modello. Vedere Oggetto DataSources (TMSL).
Calcolato Le tabelle calcolate vengono generate da un'espressione specificata al momento della creazione della tabella. Questa espressione viene considerata l'origine della partizione creata per la tabella calcolata.

Dataview
Per le partizioni DirectQuery, una proprietà dataView aggiuntiva specifica ulteriormente se la query che recupera i dati è un esempio o il set di dati completo. I valori validi sono completi, di esempio o predefiniti (ereditati). Come indicato, gli esempi vengono usati solo durante la modellazione dei dati e i test.

Utilizzo

Gli oggetti di partizione vengono usati in Alter command (TMSL),Create command (TMSL), CreateOrReplace command (TMSL), Delete command (TMSL), Refresh command (TMSL)e MergePartitions command (TMSL).

Durante la creazione, la sostituzione o la modifica di un oggetto di partizione, specificare tutte le proprietà di lettura-scrittura della definizione dell'oggetto. L'omissione di una proprietà di lettura-scrittura viene considerata un'eliminazione. Le proprietà di lettura-scrittura includono nome, descrizione, modalità e origine.

Esempio

Esempio 1 : struttura di partizione semplice di una tabella (non una tabella dei fatti).

"partitions": [  
          {  
            "name": "Customer",  
            "source": {  
              "query": "SELECT [dbo].[Customer].* FROM [dbo].[Customer]",  
              "dataSource": "SqlServer localhost FoodmartDB"  
            }  
]  

Esempio 2 : i dati dei fatti partizionati sono in genere basati su una clausola WHERE che crea partizioni non sovrapposte per i dati dalla stessa tabella.

"partitions": [  
          {  
            "name": "sales_fact_2015",  
            "source": {  
              "query": "SELECT [dbo].[sales_fact_2015].* FROM [dbo].[sales_fact_2015] WHERE [dbo].[sales_fact_2015].[Quarter]=4",                                                                                          
              "dataSource": "SqlServer localhost FoodmartDB"  
            },  
          }  
        ]  

Esempio 3 : tabella calcolata basata su un'espressione DAX.

"partitions": [  
          {  
            "name": "CalcTable1",  
            "source": {  
              "type": "calculated",  
              "expression": "'Product Class'"  
            },  
            }  
]  

Sintassi completa

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

"partitions": {  
                "type": "array",  
                "items": {  
                  "description": "Partition object of Tabular Object Model (TOM)",  
                  "type": "object",  
                  "properties": {  
                    "name": {  
                      "type": "string"  
                    },  
                    "description": {  
                      "anyOf": [  
                        {  
                          "type": "string"  
                        },  
                        {  
                          "type": "array",  
                          "items": {  
                            "type": "string"  
                          }  
                        }  
                      ]  
                    },  
                    "mode": {  
                      "enum": [  
                        "import",  
                        "directQuery",  
                        "default"  
                      ]  
                    },  
                    "dataView": {  
                      "enum": [  
                        "full",  
                        "sample",  
                        "default"  
                      ]  
                    },  
                    "source": {  
                      "anyOf": [  
                        {  
                          "description": "QueryPartitionSource object of Tabular Object Model (TOM)",  
                          "type": "object",  
                          "properties": {  
                            "type": {  
                              "enum": [  
                                "query",  
                                "calculated",  
                                "none"  
                              ]  
                            },  
                            "query": {  
                              "anyOf": [  
                                {  
                                  "type": "string"  
                                },  
                                {  
                                  "type": "array",  
                                  "items": {  
                                    "type": "string"  
                                  }  
                                }  
                              ]  
                            },  
                            "dataSource": {  
                              "type": "string"  
                            }  
                          },  
                          "additionalProperties": false  
                        },  
                        {  
                          "description": "CalculatedPartitionSource object of Tabular Object Model (TOM)",  
                          "type": "object",  
                          "properties": {  
                            "type": {  
                              "enum": [  
                                "query",  
                                "calculated",  
                                "none"  
                              ]  
                            },  
                            "expression": {  
                              "anyOf": [  
                                {  
                                  "type": "string"  
                                },  
                                {  
                                  "type": "array",  
                                  "items": {  
                                    "type": "string"  
                                  }  
                                }  
                              ]  
                            }  
                          },  
                          "additionalProperties": false  
                        }  
                      ]  
                    },  
                    "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  
                }  
              },