---
schema_version: "1"
id: 4d8085e590823d0fab191ea7a8a19aabdecef72e5402ab5a9bcfb84fd609bcf2
title: Funções de passagem (RAWSQL)
collection: tableau
version: next
locale: pt-br
portal_url: https://docs.salesforce.com/tableau/next/pt-br/pro/desktop/functions_functions_passthrough.md
canonical_url: https://help.tableau.com/v0.0/pro/desktop/pt-br/functions_functions_passthrough.htm
source_site: help.tableau.com
content_type: documentation
content_hash: ed048e081736edae8832e483c8b16d64b0f2dbfa7b089e12f50291993c77cd40
description: Reference for RAWSQL pass-through functions that send SQL directly to the database.
---
[Pular para o conteúdo principal](#main-content)

# Funções de passagem (RAWSQL)

As funções de passagem RAWSQL enviam expressões SQL diretamente ao banco de dados, sem serem interpretadas pelo Tableau. Se houver funções de banco de dados personalizadas que o Tableau não conheça, você poderá usar as funções de passagem para chamar essas funções personalizadas.

Como o Tableau não interpreta a expressão, você deve definir a agregação quando necessário. Você poderá usar a versão `RAWSQLAGG` de uma função quando precisar passar uma expressão agregada.

As funções de passagem RAWSQL podem não funcionar com fontes de dados federadas (combinadas em diferentes bancos de dados) ou publicadas.

## Sintaxe RAWSQL

As funções RAWSQL têm dois tipos: desagregada e agregada. Isso é especificado na primeira parte do nome da função, _RAWSQL_ ou _RAWSQLAGG_. A parte final do nome da função é o tipo de saída, como _BOOL_, _STR_ ou _INT_. Em todas as funções RAWSQL, o argumento é `"sql_expr", [arg1], ...[arg2]`. Ao escrever a função, você pode usar uma sintaxe de substituição `%n` para inserir o nome do campo ou a expressão correta.

### Sintaxe de substituição %n

Normalmente, seu banco de dados não entenderá os nomes de campo mostrados no Tableau. Como o Tableau não interpreta as expressões SQL nas funções de passagem, o uso de nomes de campo do Tableau na sua expressão pode causar erros. Use `%n` para inserir o nome do campo ou a expressão correta para um cálculo do Tableau no SQL de passagem.

Por exemplo, se você tivesse uma função que calculasse o mediano de um conjunto de valores, você poderia chamar essa função na coluna \[Sales\] do Tableau, desta forma:

RAWSQLAGG\_REAL("MEDIAN(%1)", \[Sales\])

- `REALSQLAGG` porque você deseja especificar a agregação.
- `REAL` porque a saída é numérica e não necessariamente um inteiro.
- `MEDIAN` é a agregação.
- `%1` é o espaço reservado para `[Sales]`.

## Funções RAWSQL

A expressão SQL é passada diretamente ao banco de dados subjacente. Use %n na expressão SQL como uma sintaxe substituta para os valores de banco de dados.

As seguintes funções RAWSQL estão disponíveis no Tableau:

### RAWSQL\_BOOL

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQL_BOOL("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Booleano</td></tr><tr><td>Definição</td><td>Retorna um resultado booliano de uma determinada expressão SQL.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQL_BOOL("%1 &gt; %2", [Sales], [Profit])</pre><p>No exemplo, %1 é igual a [Sales] e %2 é igual a [Profit].</p></td></tr></tbody></table>

### RAWSQLAGG\_BOOL

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQLAGG_BOOL("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Booleano</td></tr><tr><td>Definição</td><td>Retorna um resultado booliano de uma determinada expressão SQL de agregação.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQLAGG_BOOL("SUM( %1) &gt;SUM( %2)", [Sales], [Profit]) </pre><p>No exemplo, %1 é igual a [Sales] e %2 é igual a [Profit].</p></td></tr></tbody></table>

### RAWSQL\_DATE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQL_DATE("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Data</td></tr><tr><td>Definição</td><td>Retorna um resultado de data de uma determinada expressão SQL.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQL_DATE("%1", [Order Date])</pre><p>Neste exemplo, %1 é igual a [Order Date].</p></td></tr></tbody></table>

### RAWSQLAGG\_DATE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQLAGG_DATE("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Data</td></tr><tr><td>Definição</td><td>Retorna um resultado de data de uma determinada expressão SQL de agregação</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQLAGG_DATE("MAX(%1)", [Order Date])</pre><p>Neste exemplo, %1 é igual a [Order Date].</p></td></tr></tbody></table>

### RAWSQL\_DATETIME

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQL_DATETIME("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Datetime</td></tr><tr><td>Definição</td><td>Retorna um resultado de data e hora de uma determinada expressão SQL.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQL_DATETIME("%1", [Order Date])</pre><p>Neste exemplo, %1 é igual a [Order Date].</p></td></tr></tbody></table>

### RAWSQLAGG\_DATETIME

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Datetime</td></tr><tr><td>Definição</td><td>Retorna um resultado de data e hora de uma determinada expressão SQL de agregação.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])</pre><p>Neste exemplo, %1 é igual a [Order Date].</p></td></tr></tbody></table>

### RAWSQL\_INT

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQL_INT("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Inteiro</td></tr><tr><td>Definição</td><td>Retorna um resultado de inteiro de uma determinada expressão SQL.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQL_INT("500 + %1", [Sales])</pre><p>Neste exemplo, %1 é igual a [Sales].</p></td></tr></tbody></table>

### RAWSQLAGG\_INT

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQLAGG_INT("sql_expr", [arg1,] …[argN])</code></td></tr><tr><td>Saída</td><td>Inteiro</td></tr><tr><td>Definição</td><td>Retorna um resultado de inteiro de uma determinada expressão SQL de agregação.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQLAGG_INT("500 + SUM(%1)", [Sales])</pre><p>Neste exemplo, %1 é igual a [Sales].</p></td></tr></tbody></table>

### RAWSQL\_REAL

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQL_REAL("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Numérico</td></tr><tr><td>Definição</td><td>Retorna um resultado numérico de uma determinada expressão SQL.</td></tr><tr><td>Exemplo</td><td><pre>RAWSQL_REAL("-123.98 * %1", [Sales])</pre><p>Neste exemplo, %1 é igual a [Sales]</p></td></tr></tbody></table>

### RAWSQLAGG\_REAL

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQLAGG_REAL("sql_expr", [arg1,] …[argN])</code></td></tr><tr><td>Saída</td><td>Numérico</td></tr><tr><td>Definição</td><td>Retorna um resultado numérico de uma determinada expressão SQL de agregação.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQLAGG_REAL("SUM( %1)", [Sales])</pre><p>Neste exemplo, %1 é igual a [Sales].</p></td></tr></tbody></table>

### RAWSQL\_SPATIAL

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQL_SPATIAL("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Espacial</td></tr><tr><td>Definição</td><td>Retorna um resultado espacial de uma determinada expressão SQL.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQL_SPATIAL("%1", [Geometry])</pre><p>Neste exemplo, %1 é igual a [Geometry].</p></td></tr><tr><td>Observação</td><td>Não há a versão <code>RAWSQLAGG</code> desta função.</td></tr></tbody></table>

### RAWSQL\_STR

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQL_STR("sql_expr", [arg1], …[argN])</code></td></tr><tr><td>Saída</td><td>Cadeia de caracteres</td></tr><tr><td>Definição</td><td>Retorna uma cadeia de caracteres de uma determinada expressão SQL.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQL_STR("%1", [Customer Name])</pre><p>Neste exemplo, %1 é igual a [Customer Name].</p></td></tr></tbody></table>

### RAWSQLAGG\_STR

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>Sintaxe</td><td><code>RAWSQLAGG_STR("sql_expr", [arg1,] …[argN])</code></td></tr><tr><td>Saída</td><td>Cadeia de caracteres</td></tr><tr><td>Definição</td><td>Retorna uma cadeia de caracteres de uma determinada expressão SQL de agregação.</td></tr><tr><td>Exemplo</td><td><pre xml:space="preserve">RAWSQLAGG_STR("AVG(%1)", [Discount])</pre><p>Neste exemplo, %1 é igual a [Discount].</p></td></tr></tbody></table>