Come: Riferimento: |
La funzione DB_EXPR inserisce una espressione SQL nativa esattamente come immessa nell'SQL nativo, generata per una richiesta di lingua FOCUS o SQL.
Non è possibile usare la funzione DB_EXPR in un comando DEFINE, un DEFINE in un file principale, una clausola WHERE, un comando FILER FILE, un filtro in un file principale o in una istruzione SQL. È possibile usare questa funzione in un comando COMPUTE, se la richiesta è una richiesta aggregata (usa il comando SUM, WRITE o ADD) e presenta un comando di visualizzazione singola. L'espressione deve restituire un valore singolo.
DB_EXPR(native_SQL_expression)
dove:
Una stringa SQL parzialmente nativa, valida per l'inserimento nell'SQL generato dala richiesta. La stringa SQL deve avere le virgolette doppie (") intorno a ciascun riferimento campo, a meno che la funzione non venga usata in un DEFINE con una frase WITH.
La seguente richiesta TABLE rispetto all'origine dati WF_RETAIL usa la funzione DB_EXPR nel comando COMPUTE per chimare due funzioni DB2. Chiama la funzione BIGINT per convertire il ricavo quadrato in un tipo dati BIGINT e quindi usa la funzione CHAR per convertire quel valore in alfanumerico.
TABLE FILE WF_RETAIL SUM REVENUE NOPRINT AND COMPUTE BIGREV/A31 = DB_EXPR(CHAR(BIGINT("REVENUE" * "REVENUE") ) ) ; AS 'Alpha Square Revenue' BY REGION ON TABLE SET PAGE NOPAGE END
WF_RETAIL è una origine dati campione da poter creare facendo clic con il tasto destro del mouse su una applicazione sulla console web del Reporting Server, selezionando Nuovo e quindi Campioni dal menu contestuale.
La traccia mostra che l'espressione dalla funzione DB_EXPR è stata inserita nell'istruzione DB2 SELECT:
SELECT
T11."REGION",
SUM(T1."Revenue"),
((CHAR(BIGINT( SUM(T1."Revenue") * SUM(T1."Revenue")) ) ))
FROM
wrd_fact_sales T1,
wrd_dim_customer T5,
wrd_dim_geography T11
WHERE
(T5."ID_CUSTOMER" = T1."ID_CUSTOMER") AND
(T11."ID_GEOGRAPHY" = T5."ID_GEOGRAPHY")
GROUP BY
T11."REGION "
ORDER BY
T11."REGION "
FOR FETCH ONLY;
END
L'emissione è:
WebFOCUS |