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. É possível usar a versão RAWSQLAGG de uma função quando você precisa 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])REALSQLAGGporque você deseja especificar a agregação.REALporque 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
| Sintaxe | RAWSQL_BOOL("sql_expr", [arg1], …[argN]) |
| Saída | Booleano |
| Definição | Retorna um resultado booliano de uma determinada expressão SQL. |
| Exemplo | RAWSQL_BOOL("%1 > %2", [Sales], [Profit])No exemplo, %1 é igual a [Sales] e %2 é igual a [Profit]. |
RAWSQLAGG_BOOL
| Sintaxe | RAWSQLAGG_BOOL("sql_expr", [arg1], …[argN]) |
| Saída | Booleano |
| Definição | Retorna um resultado booliano de uma determinada expressão SQL de agregação. |
| Exemplo | RAWSQLAGG_BOOL("SUM( %1) >SUM( %2)", [Sales], [Profit]) No exemplo, %1 é igual a [Sales] e %2 é igual a [Profit]. |
RAWSQL_DATE
| Sintaxe | RAWSQL_DATE("sql_expr", [arg1], …[argN]) |
| Saída | Data |
| Definição | Retorna um resultado de data de uma determinada expressão SQL. |
| Exemplo | RAWSQL_DATE("%1", [Order Date])Neste exemplo, %1 é igual a [Order Date]. |
RAWSQLAGG_DATE
| Sintaxe | RAWSQLAGG_DATE("sql_expr", [arg1], …[argN]) |
| Saída | Data |
| Definição | Retorna um resultado de data de uma determinada expressão SQL de agregação |
| Exemplo | RAWSQLAGG_DATE("MAX(%1)", [Order Date])Neste exemplo, %1 é igual a [Order Date]. |
RAWSQL_DATETIME
| Sintaxe | RAWSQL_DATETIME("sql_expr", [arg1], …[argN]) |
| Saída | Datetime |
| Definição | Retorna um resultado de data e hora de uma determinada expressão SQL. |
| Exemplo | RAWSQL_DATETIME("%1", [Order Date])Neste exemplo, %1 é igual a [Order Date]. |
RAWSQLAGG_DATETIME
| Sintaxe | RAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN]) |
| Saída | Datetime |
| Definição | Retorna um resultado de data e hora de uma determinada expressão SQL de agregação. |
| Exemplo | RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])Neste exemplo, %1 é igual a [Order Date]. |
RAWSQL_INT
| Sintaxe | RAWSQL_INT("sql_expr", [arg1], …[argN]) |
| Saída | Inteiro |
| Definição | Retorna um resultado de inteiro de uma determinada expressão SQL. |
| Exemplo | RAWSQL_INT("500 + %1", [Sales])Neste exemplo, %1 é igual a [Sales]. |
RAWSQLAGG_INT
| Sintaxe | RAWSQLAGG_INT("sql_expr", [arg1,] …[argN]) |
| Saída | Inteiro |
| Definição | Retorna um resultado de inteiro de uma determinada expressão SQL de agregação. |
| Exemplo | RAWSQLAGG_INT("500 + SUM(%1)", [Sales])Neste exemplo, %1 é igual a [Sales]. |
RAWSQL_REAL
| Sintaxe | RAWSQL_REAL("sql_expr", [arg1], …[argN]) |
| Saída | Numérico |
| Definição | Retorna um resultado numérico de uma determinada expressão SQL. |
| Exemplo | RAWSQL_REAL("-123.98 * %1", [Sales])Neste exemplo, %1 é igual a [Sales] |
RAWSQLAGG_REAL
| Sintaxe | RAWSQLAGG_REAL("sql_expr", [arg1,] …[argN]) |
| Saída | Numérico |
| Definição | Retorna um resultado numérico de uma determinada expressão SQL de agregação. |
| Exemplo | RAWSQLAGG_REAL("SUM( %1)", [Sales])Neste exemplo, %1 é igual a [Sales]. |
RAWSQL_SPATIAL
| Sintaxe | RAWSQL_SPATIAL("sql_expr", [arg1], …[argN]) |
| Saída | Espacial |
| Definição | Retorna um resultado espacial de uma determinada expressão SQL. |
| Exemplo | RAWSQL_SPATIAL("%1", [Geometry])Neste exemplo, %1 é igual a [Geometry]. |
| Observação | Não há a versão RAWSQLAGG desta função. |
RAWSQL_STR
| Sintaxe | RAWSQL_STR("sql_expr", [arg1], …[argN]) |
| Saída | Cadeia de caracteres |
| Definição | Retorna uma cadeia de caracteres de uma determinada expressão SQL. |
| Exemplo | RAWSQL_STR("%1", [Customer Name])Neste exemplo, %1 é igual a [Customer Name]. |
RAWSQLAGG_STR
| Sintaxe | RAWSQLAGG_STR("sql_expr", [arg1,] …[argN]) |
| Saída | Cadeia de caracteres |
| Definição | Retorna uma cadeia de caracteres de uma determinada expressão SQL de agregação. |
| Exemplo | RAWSQLAGG_STR("AVG(%1)", [Discount])Neste exemplo, %1 é igual a [Discount]. |
