Я пытаюсь преобразовать мои вычисления в UDF, но я продолжаю получать ошибки и не уверен, как их исправить.
Вот код:
CREATE FUNCTION f_q1 (integer) RETURNS integer stable as $$
SELECT COUNT(DISTINCT(CASE WHEN q_1 IN ('8', '9', '10') THEN RESPONSE_ID END))*1.0 / COUNT(DISTINCT(CASE WHEN q_1 IS NOT NULL THEN RESPONSE_ID END))*1.0
$$ language sql;
I 'По сути, я пытаюсь взять приведенный ниже код:
SELECT
COUNT(DISTINCT(CASE WHEN f.q_1 IN ('8', '9', '10') THEN f.RESPONSE_ID END))*1.0 / COUNT(DISTINCT(CASE WHEN f.q_1 IS NOT NULL THEN f.RESPONSE_ID END))*1.0 AS q_1
FROM FACT f
и создать его в UDF, к которому я могу обращаться по всему запросу.
Я впервые делаю UDF - может кто-нибудь помочьмне исправить это?