Referência em tabelas de banco de dados

Sumário

# Referências a tabela de banco de dados

O LibreOffice Calc permite que faça referência a dados em tabelas de banco de dados usando uma notação especial, uma “referência de tabela de banco de dados”, para referenciar células dentro da tabela. Essa notação especial visa melhorar a legibilidade de fórmulas que fazem referência a células dentro de uma tabela de banco de dados.

## Tabelas de banco de dados

As "tabelas" da planilha são definidas por intervalos de banco de dados (Dados -Definir intervalo). Além do nome do banco de dados, o seguinte é obrigatório para usar referências de tabela de banco de dados:

- As tabelas deve estar orientadas verticalmente.

- Os rótulos de coluna devem seguir as regras de nomes de intervalo.

- As tabelas devem ter rótulos de colunas, caso seja necessário manter a interoperabilidade com o Microsoft Excel.

### Exemplo

A tabela abaixo contém valores usados em exemplos mais adiante neste documento.

| A | B | C | D
1 | Nome | Região | Vendas | Antiguidade
2 | Smith | Oeste | 21 | 5
3 | Jones | Leste | 23 | 11
4 | Johnson | Leste | 9 | 7
5 | Taylor | Oeste | 34 | 11
6 | Brown | Leste | 23 | 15
7 | Walker | Leste | 12 | 4
8 | Edwards | East | 15 | 12
9 | Thomas | Oeste | 17 | 10
10 | Wilson | Oeste | 31 | 3
11 | Totais | 2 | 185 | 8.67

O intervalo de células A1:D11 foi definido como o intervalo do banco de dados "meusDados". As opções Contém rótulos de coluna e Contém linha de totais foram marcadas ao definir o intervalo do banco de dados.

## Referenciar dados em tabelas

Uma referência de tabela de banco de dados tem o nome na forma database_range[…]. A parte dentro dos colchetes pode ser uma palavra-chave de referência reservada, um nome de campo entre colchetes ou uma combinação dos dois.

Nos casos em que uma única palavra-chave ou um único nome de campo for usado, use colchetes simples em vez de colchetes duplos.

#### Exemplo

meusDados[#Headers] no lugar de meusDados[[#Headers]] ou meusDados[Region] no lugar de meusDados[[Region]].

### Palavras-chave reservadas

Palavra-chave | Utilização | Exemplo
--- | --- | ---
[#Headers] | A palavra-chave [#Headers] referencia a linha dos nomes de campo (rótulos de coluna). É a primeira linha do intervalo de banco de dados. Se o intervalo do banco de dados não tiver nenhuma linha de rótulos definida (Contém rótulo de colunas), ocorre um erro #REF! . | A expressão meusDados[#Headers] faz referência às células A1:D1.
[#Data] | The keyword [#Data] references the data records of the database range, excluding the column label row and the totals row. A escrita encurtada meusDados[] também pode ser usada. | A expressão meusDados[#Data] faz referência ao retângulo de células A2:D10.
[#Totals] | The keyword [#Totals] references the row of totals. It is the last row of the database range. Se o intervalo do banco de dados não tiver nenhuma linha de totais definida (Contém linha de totais), ocorre um erro #REF! . | A expressão meusDados[#Totals] faz referência às células A11:D11.
[#All] | A palavra-chave [#All] faz referência ao intervalo inteiro do banco de dados incluindo os rótulos de coluna e linha de totais. | A expressão meusDados[#All] faz referência às células A1:D11.
[#This Row] | Esta palavra-chave descreve uma interseção implícita. | Se a expressão mesDados[#This Row] for usada numa fórmula na célula F2, ela referencia A2:D2. Se a mesma expressão for usada numa fórmula na célula F5, ela referencia A5:D5.

### Nome de campo em colchetes

Para referenciar a matriz de todos os valores nos registros que pertencem ao mesmo campo, use o formato [nome do campo]. O intervalo de células referenciado não inclui rótulo e totais.

#### Exemplo

A expressão meusDados[[Region]] ou a sua forma simplificada meusDados[Region] faz referência às células B2:B10. Se o intervalo do banco de dados não tiver nenhuma linha de rótulo, rótulos genéricos como Coluna1, Coluna2 podem ser usados.

No Microsoft Excel, se a célula da fórmula pertencer à tabela, o nome da tabela pode ser omitido. Por exemplo, a fórmula =SOMA(meusDados[Vendas]) na célula C11 pode ser escrita como =SOMA([Vendas]). A omissão do nome da tabela ainda não é possível no Calc.

## Combinações

### Colunas e registros de dados

Para referenciar uma combinação de rótulos de coluna e registros de dados, use o formato [#Headers];[#Data] ou [#Header],[#Data], onde o separador é o mesmo separador dos parâmetros de função definidos em Ferramentas - Opções - Calc - Fórmula - Separadores.

### Registro de dados e linha de totais

Para referenciar uma combinação de registros de dados e linha de totais, use [#Data];[#Totals]. Por exemplo, meusDados[[#Data];[#Totals]] referencia as células A2:D11.

Uma combinação como [#Headers];[#Totals] não é possível, pois isso resultaria em dois retângulos de células disjuntos.

### Colunas adjacentes

Para referenciar várias colunas adjacentes, use o operador de intervalo “:”. Por exemplo, a fórmula meusDados[[Nome]:[Vendas]] aborda as células A2:C10.

### Colunas não adjacentes

O uso de colunas não adjacentes não é possível, pois isso faria referência a dois retângulos de células separados.

### Nome de campo e palavra-chave

A referência via nome de campo e o uso de uma palavra-chave de referência podem ser combinados. Primeiro informe a palavra-chave, depois o separador de função e, por último, o nome do campo entre colchetes. Por exemplo, meusDdos[[#Totals];[Vendas]] faz referência à célula C11.

Tópicos relacionados

Definir um intervalo de banco de dados

Funções de banco de dados

Definir intervalo

Interseção implícita em fórmulas