Pass-through-functies (RAWSQL)
Met deze RAWSQL pass-through-functies worden SQL-expressies rechtstreeks naar de database gestuurd, zonder dat ze eerst door Tableau worden geïnterpreteerd. Als u aangepaste databasefuncties hebt waar Tableau niets van weet, kunt u pass-through-functies gebruiken om deze aangepaste functies aan te roepen.
Omdat Tableau de expressie niet interpreteert, moet u indien nodig de aggregatie definiëren. U kunt de RAWSQLAGG -versie van een functie gebruiken wanneer u een geaggregeerde expressie moet doorgeven.
RAWSQL-pass-through-functies werken mogelijk niet met gefedereerde (uit verschillende databases gecombineerde) of gepubliceerde databronnen.
RAWSQL-syntaxis
Er zijn twee typen RAWSQL-functies: gedesaggregeerd en geaggregeerd. Het type wordt aangegeven in het eerste deel van de functienaam, RAWSQL of RAWSQLAGG. Het laatste deel van de functienaam is het uitvoertype, bijvoorbeeld BOOL, STR of INT. In alle RAWSQL-functies is het argument "sql_expr", [arg1], ...[arg2]. Bij het schrijven van de functie kunt u een vervangende syntaxis %n gebruiken om de juiste veldnaam of expressie in te voegen.
Vervangende syntaxis %n
Meestal begrijpt uw database de veldnamen die in Tableau worden weergegeven niet. Omdat Tableau de SQL-expressies in de pass-through-functies niet interpreteert, kunnen er fouten optreden als u de Tableau-veldnamen in uw expressie gebruikt. Gebruik %n om de juiste veldnaam of expressie voor een Tableau-berekening in pass-through SQL in te voegen.
Als u bijvoorbeeld een functie hebt die de mediaan van een reeks waarden berekent, kunt u die functie als volgt aanroepen in de Tableau-kolom [Verkoop]:
RAWSQLAGG_REAL("MEDIAN(%1)", [Sales])REALSQLAGGomdat u de aggregatie wilt opgeven.REALomdat de uitvoer numeriek is en niet per se een geheel getal.MEDIANis de aggregatie.%1is de tijdelijke aanduiding voor[Sales].
RAWSQL-functies
De SQL-expressie wordt rechtstreeks aan de onderliggende database doorgegeven. Gebruik %n in de SQL-expressie als vervangende syntaxis voor databasewaarden.
De volgende RAWSQL-functies zijn beschikbaar in Tableau:
RAWSQL_BOOL
| Syntaxis | RAWSQL_BOOL("sql_expr", [arg1], …[argN]) |
| Uitvoer | Booleaanse waarde |
| Definitie | Retourneert een booleaans resultaat op basis van een opgegeven SQL-expressie. |
| Voorbeeld | RAWSQL_BOOL("%1 > %2", [Sales], [Profit])In het voorbeeld is %1 gelijk aan [Sales] en %2 is gelijk aan [Profit]. |
RAWSQLAGG_BOOL
| Syntaxis | RAWSQLAGG_BOOL("sql_expr", [arg1], …[argN]) |
| Uitvoer | Booleaanse waarde |
| Definitie | Retourneert een booleaans resultaat op basis van een opgegeven geaggregeerde SQL-expressie. |
| Voorbeeld | RAWSQLAGG_BOOL("SUM( %1) >SUM( %2)", [Sales], [Profit]) In het voorbeeld is %1 gelijk aan [Sales] en %2 is gelijk aan [Profit]. |
RAWSQL_DATE
| Syntaxis | RAWSQL_DATE("sql_expr", [arg1], …[argN]) |
| Uitvoer | Datum |
| Definitie | Retourneert een datumresultaat op basis van een opgegeven SQL-expressie. |
| Voorbeeld | RAWSQL_DATE("%1", [Order Date])In dit voorbeeld is %1 is gelijk aan [Order Date]. |
RAWSQLAGG_DATE
| Syntaxis | RAWSQLAGG_DATE("sql_expr", [arg1], …[argN]) |
| Uitvoer | Datum |
| Definitie | Retourneert een datumresultaat op basis van een opgegeven geaggregeerde SQL-expressie |
| Voorbeeld | RAWSQLAGG_DATE("MAX(%1)", [Order Date])In dit voorbeeld is %1 is gelijk aan [Order Date]. |
RAWSQL_DATETIME
| Syntaxis | RAWSQL_DATETIME("sql_expr", [arg1], …[argN]) |
| Uitvoer | Datumtijd |
| Definitie | Retourneert een datumtijdresultaat op basis van een opgegeven SQL-expressie. |
| Voorbeeld | RAWSQL_DATETIME("%1", [Order Date])In dit voorbeeld is %1 is gelijk aan [Order Date]. |
RAWSQLAGG_DATETIME
| Syntaxis | RAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN]) |
| Uitvoer | Datumtijd |
| Definitie | Retourneert een datumtijdresultaat op basis van een opgegeven geaggregeerde SQL-expressie. |
| Voorbeeld | RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])In dit voorbeeld is %1 is gelijk aan [Order Date]. |
RAWSQL_INT
| Syntaxis | RAWSQL_INT("sql_expr", [arg1], …[argN]) |
| Uitvoer | Geheel getal |
| Definitie | Retourneert een resultaat met geheel getal op basis van een opgegeven SQL-expressie. |
| Voorbeeld | RAWSQL_INT("500 + %1", [Sales])In dit voorbeeld is %1 gelijk aan [Sales]. |
RAWSQLAGG_INT
| Syntaxis | RAWSQLAGG_INT("sql_expr", [arg1,] …[argN]) |
| Uitvoer | Geheel getal |
| Definitie | Retourneert een resultaat met geheel getal van een opgegeven geaggregeerde SQL-expressie. |
| Voorbeeld | RAWSQLAGG_INT("500 + SUM(%1)", [Sales])In dit voorbeeld is %1 gelijk aan [Sales]. |
RAWSQL_REAL
| Syntaxis | RAWSQL_REAL("sql_expr", [arg1], …[argN]) |
| Uitvoer | Numeriek |
| Definitie | Retourneert een numeriek resultaat op basis van een opgegeven SQL-expressie. |
| Voorbeeld | RAWSQL_REAL("-123.98 * %1", [Sales])In dit voorbeeld is %1 gelijk aan [Sales] |
RAWSQLAGG_REAL
| Syntaxis | RAWSQLAGG_REAL("sql_expr", [arg1,] …[argN]) |
| Uitvoer | Numeriek |
| Definitie | Retourneert een numeriek resultaat op basis van een opgegeven geaggregeerde SQL-expressie. |
| Voorbeeld | RAWSQLAGG_REAL("SUM( %1)", [Sales])In dit voorbeeld is %1 gelijk aan [Sales]. |
RAWSQL_SPATIAL
| Syntaxis | RAWSQL_SPATIAL("sql_expr", [arg1], …[argN]) |
| Uitvoer | Ruimtelijke waarde |
| Definitie | Retourneert een ruimtelijk resultaat op basis van een opgegeven SQL-expressie. |
| Voorbeeld | RAWSQL_SPATIAL("%1", [Geometry])In dit voorbeeld is %1 gelijk aan [Geometry]. |
| Opmerking | Er is geen RAWSQLAGG-versie van deze functie. |
RAWSQL_STR
| Syntaxis | RAWSQL_STR("sql_expr", [arg1], …[argN]) |
| Uitvoer | Tekenreeks |
| Definitie | Retourneert een tekenreeks op basis van een opgegeven SQL-expressie. |
| Voorbeeld | RAWSQL_STR("%1", [Customer Name])In dit voorbeeld is %1 gelijk aan [Customer Name]. |
RAWSQLAGG_STR
| Syntaxis | RAWSQLAGG_STR("sql_expr", [arg1,] …[argN]) |
| Uitvoer | Tekenreeks |
| Definitie | Retourneert een tekenreeks op basis van een geaggregeerde SQL-expressie. |
| Voorbeeld | RAWSQLAGG_STR("AVG(%1)", [Discount])In dit voorbeeld is %1 gelijk aan [Discount]. |
