Problem Note 64365: The error "Requested function is not supported" occurs with in-database procedures when you use SAS/ACCESS® Interface to Vertica
You encounter the error "ERROR: Requested function is not supported" under the following circumstances:
- You use SAS/ACCESS Interface to Vertica.
- The Vertica LIBNAME statement uses the DSN= option.
- You are using in-database procedures such as the FREQ, MEANS, and RANK procedures.
Here is an example of syntax that can cause this issue:
libname dbms vertica dsn="Vertica-data-source" db=database user=user-id password=password ;
proc freq data=dbms.table-name ;
run ;
This procedure generates the expected results. However, the results might take longer than expected because all data is returned to SAS for analysis. The error does not change the SYSCC macro variable.
A workaround is to use the SERVER= option in the LIBNAME statement, as shown here:
libname dbms vertica server="Vertica-server-name" db=database user=user-id password=password ;
proc freq data=dbms.table-name;
run ;
After you run the code above, you see a note in the SAS log:
NOTE "SQL generation will be used to construct frequency and crosstabulation tables"
This note indicates that the query was passed to the database. Other procedures generate a similar message.
You can also enable the following SASTRACE option to determine which SQL query was executed in the Vertica database:
options sastrace=',,,d' sastraceloc=saslog nostsuffix
sql_ip_trace=(note,source) msglevel=i fullstimer ;
Click the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | SAS/ACCESS Interface to Vertica | Microsoft® Windows® for x64 | 9.4_M5 | | 9.4 TS1M5 | |
64-bit Enabled AIX | 9.4_M5 | | 9.4 TS1M5 | |
64-bit Enabled Solaris | 9.4_M5 | | 9.4 TS1M5 | |
HP-UX IPF | 9.4_M5 | | 9.4 TS1M5 | |
Linux for x64 | 9.4_M5 | | 9.4 TS1M5 | |
Solaris for x64 | 9.4_M5 | | 9.4 TS1M5 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
When you are running in-database procedures such as PROC FREQ against a Vertica database with the DSN= option, the full query is not run in the database. All data is sent back to SAS for analysis and that might impact performance.
Type: | Problem Note |
Priority: | high |
Topic: | SAS Reference ==> Procedures ==> FREQ SAS Reference ==> LIBNAME Engines SAS Reference ==> Procedures ==> MEANS SAS Reference ==> Procedures ==> RANK SAS Reference ==> Procedures ==> REPORT SAS Reference ==> Procedures ==> SORT SAS Reference ==> Procedures ==> SUMMARY SAS Reference ==> Procedures ==> TABULATE SAS Reference ==> Procedures ==> TRANSPOSE
|
Date Modified: | 2019-08-16 09:57:07 |
Date Created: | 2019-06-21 05:57:04 |