Hadoop 配置单元QL在SQL Workbench中运行良好,但在Tableau上失败

Hadoop 配置单元QL在SQL Workbench中运行良好,但在Tableau上失败,hadoop,hive,subquery,parseexception,Hadoop,Hive,Subquery,Parseexception,这是我在尝试执行Tableau:[Hortonworks][HiveODBC](35)中的代码时收到的错误消息。来自配置单元的错误:错误代码:“40000”错误消息:“编译语句时出错:失败:ParseException行143:2无法识别谓词“select”。失败的规则:子查询源中的“queryStatementExpression”。Tableau将整个查询包装在子查询中,配置单元不支持使用WITH。。在子查询中,这就是在Tableau中作为自定义SQL编写时此查询失败的原因。解决方案是创建一

这是我在尝试执行Tableau:[Hortonworks][HiveODBC](35)中的代码时收到的错误消息。来自配置单元的错误:错误代码:“40000”错误消息:“编译语句时出错:失败:ParseException行143:2无法识别谓词“select”。失败的规则:子查询源中的“queryStatementExpression”。

Tableau将整个查询包装在子查询中,配置单元不支持使用WITH。。在子查询中,这就是在Tableau中作为自定义SQL编写时此查询失败的原因。解决方案是创建一个视图,然后在表中的自定义SQL中引用该视图

    with loan_apps as 


(
SELECT 
m.LA_LOAN_ID Loan_ID,

m.aid BORROWER_ACTOR_ID,

m.app_create_dt APPLICATION_DATE,
CASE WHEN m.PROD_ID in (1006 ,1008) 
THEN 'TERM LOAN'
WHEN m.PROD_ID in(2000,2001,2002) 
THEN 'LOC'
ELSE m.PROD_ID 
END AS PRODUCT,
m.lc_loan_interest_rate as INTEREST_RATE,
m.lc_loan_apr as APR, 
m.con_fico as FICO,
CC.FICO_MIN,
CC.FICO_MAX,
CR.A_INCOME,
CR.A_DOB,
CR.CR_DTI,
LA.ORIG_FEE_FRACTION as ORIG_FEE_FRACTION,
la.referer_id,
B.CITY_AREA as City_Area,
m.bus_zip as ZIP,
b.STATE as STATE,
b.dma as dma,
CASE WHEN m.loan_app_status =  0
THEN 'Internal'
WHEN m.loan_app_status = 1
THEN 'Pending'
WHEN m.loan_app_status = 2
THEN 'Failed Authentication'
WHEN m.loan_app_status  = 3
THEN 'Failed Credit Rules'
WHEN m.loan_app_status = 4
THEN 'Passed Authentication'
WHEN m.loan_app_status = 5
THEN 'Passed Credit Rules'
WHEN m.loan_app_status = 6
THEN 'Submitted'
WHEN m.loan_app_status = 7
THEN 'Duplicate'
WHEN m.loan_app_status = 8
THEN 'Error'
WHEN m.loan_app_status = 9
THEN 'Approved'
WHEN m.loan_app_status = 10
THEN 'Rejected'
WHEN m.loan_app_status = 11
THEN 'In Review'
WHEN m.loan_app_status = 12
THEN 'Offer Expired'
ELSE 'Other'
END AS APP_STATUS,      
m.l_pricing_grade as pricing_grade, 
m.m_risk_grade as risk_grade, --this is the column that risk uses
m.lc_loan_maturity_months as LOAN_TERM,
m.channel_group_2 as channel_group,
m.channel_group_1 as partner_name,
CASE WHEN m.loan_app_status IN (6,9,10,11) THEN LA.app_d ELSE NULL END LISTING_DATE,
m.l_desired_amount as APPLICATION_AMOUNT,  
CASE WHEN LA.LIST_D IS NOT NULL OR m.loan_app_status IN (6,9,10,11) THEN LA.APP_AMNT ELSE NULL END  LISTING_AMOUNT, 
L.APP_AMNT REDUCED_LISTING_AMOUNT,     
m.loan_purpose as purpose,
case when m.loan_registered = 1 then 1 else 0 end as REGISTERED, --flag that shows 0/1 for loan registered
CASE WHEN m.FI_PROVIDED = 1 AND m.RESPONSE NOT IN ('MOREINFO_NEEDED','TECHNICAL_ERROR') THEN 1 ELSE 0 END AS COMPLETED_APPS,
case when m.LOAN_OFFERED = 1 then 1 else 0 end AS LOANS_OFFERED,
case when m.LOAN_LISTED = 1 then 1 else 0 end AS LOANS_LISTED,
case when m.all_core_docs_received = 1 then 1 else 0 end as all_core_docs_received_flag,
case when m.FRONTEND_DECLINE = 1 then 1 else 0 end as frontend_decline_flag,
case when m.backend_decline = 1 then 1 else 0 end as backend_decline_flag,
case when m.LOAN_ISSUED = 1 then 1 else 0 end AS LOANS_ISSUED,
case when m.issued_loan_strt_dt is not null then m.issued_loan_strt_dt else null end as ISSUED_DATE, 
CASE WHEN m.issued_loan_strt_dt IS NOT NULL THEN m.l_funded_amnt ELSE NULL END ISSUED_AMOUNT, 
CASE WHEN m.loan_status = 1
THEN 'In-Funding'    
WHEN m.loan_status = 4
THEN 'Issued'    
WHEN m.loan_status = 6
THEN 'Paid Off'
WHEN m.loan_status = 10
THEN 'Current'
WHEN m.loan_status = 11
THEN 'In Grace Period'
WHEN m.loan_status = 12
THEN 'Late 16-30 Days'
WHEN m.loan_status = 13
THEN 'Late 31+ Days'
WHEN m.loan_status = 14
THEN 'Default'
WHEN m.loan_status = 15
THEN 'Charged Off'
WHEN m.loan_status = 2
THEN 'Expired'
WHEN m.loan_status = 3
THEN 'Declined'
ELSE 'Not Issued'
END AS LOAN_STATUS,
CASE WHEN B.CITY_AREA IN ('HOUSTON','DENVER','MIAMI-FT. LAUDERDALE')
THEN 'TEST'
WHEN B.CITY_AREA IN ('NEW YORK','LOS ANGELES','SAN FRANCISCO-OAK-SAN JOSE','DALLAS-FT. WORTH','SAN DIEGO')
THEN 'CONTROL'
ELSE
'OTHER'
END AS TEST_OR_CONTROL,
case when m.loan_registered=1 and m.pi_provided=0 then 'registered'
when m.pi_provided=1 and m.fi_provided=0 then 'pi_provided'
when m.fi_provided=1 and (case when m.PB_FLAG in ('PB DECLINE','PB APPROVED') then 1 else 0 end)=0 then 'fi_provided'
when (case when m.PB_FLAG in ('PB DECLINE','PB APPROVED') then 1 else 0 end)=1 and m.loan_offered=0 then 'app_completed'
when m.loan_offered=1 and (CASE WHEN la.sel_offer_item_id IS NOT NULL THEN 1 ELSE 0 END)=0 then 'offered'
when (CASE WHEN la.sel_offer_item_id IS NOT NULL THEN 1 ELSE 0 END)=1 and (CASE WHEN bi.business_tax_id_enc IS NOT NULL THEN 1 ELSE 0 END)=0 then 'offer selected'
when (CASE WHEN bi.business_tax_id_enc IS NOT NULL THEN 1 ELSE 0 END)=1 and m.loan_listed=0 then 'checked out'
when m.loan_listed=1 and (m.all_core_docs_received=0 and m.loan_issued=0) then 'listed'
when m.all_core_docs_received=1 and m.loan_issued=0 then 'docs uploaded'
when m.loan_issued=1  then 'issued or approved'
else null
end as funnel_action,
m.ver_b_revenue as revenue_last_yr,
m.u_inpt_net_profit as profit_last_yr,
m.num_of_employees_group_1 as head_count,
m.m_legal_structure as legal_structure,
m.years_in_business as years_in_business,
MKTC.name as campaign_name,
MKTC.id as campaign_id
FROM 
MARKETING.SB_LOANS_DATA_W_PERF_GRP m 
left join TLC.LC_LOAN_APP LA  ON M.la_loan_id=la.loan_id
left join TLC.LC_actor a on a.id=la.aid
LEFT JOIN marketing_temp.tv_ad_control_zipcode b ON m.bus_zip = b.zip_code
left jOIN TLC.LC_business_info bi ON bi.id = la.business_info_id 
left join TLC.LC_LOAN L on l.id=la.LOAN_ID
left join TLC.LC_CREDIT_CLASS CC on cc.id=la.CREDIT_CLASS_ID
left join TLC.LC_CREDIT CR on cr.id=la.CR_ID
left join TLC.LC_MKT_CAMPAIGN MKTC ON la.REFERER_ID = MKTC.OLD_CAMPAIGN_ID 
)

select 
Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'REGISTERED' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,
TEST_OR_CONTROL,
revenue_last_yr,

profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where REGISTERED = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'COMPLETED_APPS' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where COMPLETED_APPS = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'LOANS_OFFERED' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where LOANS_OFFERED = 1


union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'LOANS_LISTED' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
LISTING_DATE,
LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where LOANS_LISTED = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'all_core_docs_received' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where all_core_docs_received_flag = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'frontend_decline' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where frontend_decline_flag = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'backend_decline_flag' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where backend_decline_flag = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'LOANS_ISSUED' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
ISSUED_DATE,
ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where LOANS_ISSUED = 1
Tableau的自定义SQL部分中的代码为: 从marketing_temp.apps_v2中选择*


这解决了Tableau中的问题。

请忽略下拉视图部分。我编写它是为了确保代码的自动运行在重新创建预先存在的视图之前删除视图。
    with loan_apps as 


(
SELECT 
m.LA_LOAN_ID Loan_ID,

m.aid BORROWER_ACTOR_ID,

m.app_create_dt APPLICATION_DATE,
CASE WHEN m.PROD_ID in (1006 ,1008) 
THEN 'TERM LOAN'
WHEN m.PROD_ID in(2000,2001,2002) 
THEN 'LOC'
ELSE m.PROD_ID 
END AS PRODUCT,
m.lc_loan_interest_rate as INTEREST_RATE,
m.lc_loan_apr as APR, 
m.con_fico as FICO,
CC.FICO_MIN,
CC.FICO_MAX,
CR.A_INCOME,
CR.A_DOB,
CR.CR_DTI,
LA.ORIG_FEE_FRACTION as ORIG_FEE_FRACTION,
la.referer_id,
B.CITY_AREA as City_Area,
m.bus_zip as ZIP,
b.STATE as STATE,
b.dma as dma,
CASE WHEN m.loan_app_status =  0
THEN 'Internal'
WHEN m.loan_app_status = 1
THEN 'Pending'
WHEN m.loan_app_status = 2
THEN 'Failed Authentication'
WHEN m.loan_app_status  = 3
THEN 'Failed Credit Rules'
WHEN m.loan_app_status = 4
THEN 'Passed Authentication'
WHEN m.loan_app_status = 5
THEN 'Passed Credit Rules'
WHEN m.loan_app_status = 6
THEN 'Submitted'
WHEN m.loan_app_status = 7
THEN 'Duplicate'
WHEN m.loan_app_status = 8
THEN 'Error'
WHEN m.loan_app_status = 9
THEN 'Approved'
WHEN m.loan_app_status = 10
THEN 'Rejected'
WHEN m.loan_app_status = 11
THEN 'In Review'
WHEN m.loan_app_status = 12
THEN 'Offer Expired'
ELSE 'Other'
END AS APP_STATUS,      
m.l_pricing_grade as pricing_grade, 
m.m_risk_grade as risk_grade, --this is the column that risk uses
m.lc_loan_maturity_months as LOAN_TERM,
m.channel_group_2 as channel_group,
m.channel_group_1 as partner_name,
CASE WHEN m.loan_app_status IN (6,9,10,11) THEN LA.app_d ELSE NULL END LISTING_DATE,
m.l_desired_amount as APPLICATION_AMOUNT,  
CASE WHEN LA.LIST_D IS NOT NULL OR m.loan_app_status IN (6,9,10,11) THEN LA.APP_AMNT ELSE NULL END  LISTING_AMOUNT, 
L.APP_AMNT REDUCED_LISTING_AMOUNT,     
m.loan_purpose as purpose,
case when m.loan_registered = 1 then 1 else 0 end as REGISTERED, --flag that shows 0/1 for loan registered
CASE WHEN m.FI_PROVIDED = 1 AND m.RESPONSE NOT IN ('MOREINFO_NEEDED','TECHNICAL_ERROR') THEN 1 ELSE 0 END AS COMPLETED_APPS,
case when m.LOAN_OFFERED = 1 then 1 else 0 end AS LOANS_OFFERED,
case when m.LOAN_LISTED = 1 then 1 else 0 end AS LOANS_LISTED,
case when m.all_core_docs_received = 1 then 1 else 0 end as all_core_docs_received_flag,
case when m.FRONTEND_DECLINE = 1 then 1 else 0 end as frontend_decline_flag,
case when m.backend_decline = 1 then 1 else 0 end as backend_decline_flag,
case when m.LOAN_ISSUED = 1 then 1 else 0 end AS LOANS_ISSUED,
case when m.issued_loan_strt_dt is not null then m.issued_loan_strt_dt else null end as ISSUED_DATE, 
CASE WHEN m.issued_loan_strt_dt IS NOT NULL THEN m.l_funded_amnt ELSE NULL END ISSUED_AMOUNT, 
CASE WHEN m.loan_status = 1
THEN 'In-Funding'    
WHEN m.loan_status = 4
THEN 'Issued'    
WHEN m.loan_status = 6
THEN 'Paid Off'
WHEN m.loan_status = 10
THEN 'Current'
WHEN m.loan_status = 11
THEN 'In Grace Period'
WHEN m.loan_status = 12
THEN 'Late 16-30 Days'
WHEN m.loan_status = 13
THEN 'Late 31+ Days'
WHEN m.loan_status = 14
THEN 'Default'
WHEN m.loan_status = 15
THEN 'Charged Off'
WHEN m.loan_status = 2
THEN 'Expired'
WHEN m.loan_status = 3
THEN 'Declined'
ELSE 'Not Issued'
END AS LOAN_STATUS,
CASE WHEN B.CITY_AREA IN ('HOUSTON','DENVER','MIAMI-FT. LAUDERDALE')
THEN 'TEST'
WHEN B.CITY_AREA IN ('NEW YORK','LOS ANGELES','SAN FRANCISCO-OAK-SAN JOSE','DALLAS-FT. WORTH','SAN DIEGO')
THEN 'CONTROL'
ELSE
'OTHER'
END AS TEST_OR_CONTROL,
case when m.loan_registered=1 and m.pi_provided=0 then 'registered'
when m.pi_provided=1 and m.fi_provided=0 then 'pi_provided'
when m.fi_provided=1 and (case when m.PB_FLAG in ('PB DECLINE','PB APPROVED') then 1 else 0 end)=0 then 'fi_provided'
when (case when m.PB_FLAG in ('PB DECLINE','PB APPROVED') then 1 else 0 end)=1 and m.loan_offered=0 then 'app_completed'
when m.loan_offered=1 and (CASE WHEN la.sel_offer_item_id IS NOT NULL THEN 1 ELSE 0 END)=0 then 'offered'
when (CASE WHEN la.sel_offer_item_id IS NOT NULL THEN 1 ELSE 0 END)=1 and (CASE WHEN bi.business_tax_id_enc IS NOT NULL THEN 1 ELSE 0 END)=0 then 'offer selected'
when (CASE WHEN bi.business_tax_id_enc IS NOT NULL THEN 1 ELSE 0 END)=1 and m.loan_listed=0 then 'checked out'
when m.loan_listed=1 and (m.all_core_docs_received=0 and m.loan_issued=0) then 'listed'
when m.all_core_docs_received=1 and m.loan_issued=0 then 'docs uploaded'
when m.loan_issued=1  then 'issued or approved'
else null
end as funnel_action,
m.ver_b_revenue as revenue_last_yr,
m.u_inpt_net_profit as profit_last_yr,
m.num_of_employees_group_1 as head_count,
m.m_legal_structure as legal_structure,
m.years_in_business as years_in_business,
MKTC.name as campaign_name,
MKTC.id as campaign_id
FROM 
MARKETING.SB_LOANS_DATA_W_PERF_GRP m 
left join TLC.LC_LOAN_APP LA  ON M.la_loan_id=la.loan_id
left join TLC.LC_actor a on a.id=la.aid
LEFT JOIN marketing_temp.tv_ad_control_zipcode b ON m.bus_zip = b.zip_code
left jOIN TLC.LC_business_info bi ON bi.id = la.business_info_id 
left join TLC.LC_LOAN L on l.id=la.LOAN_ID
left join TLC.LC_CREDIT_CLASS CC on cc.id=la.CREDIT_CLASS_ID
left join TLC.LC_CREDIT CR on cr.id=la.CR_ID
left join TLC.LC_MKT_CAMPAIGN MKTC ON la.REFERER_ID = MKTC.OLD_CAMPAIGN_ID 
)

select 
Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'REGISTERED' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,
TEST_OR_CONTROL,
revenue_last_yr,

profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where REGISTERED = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'COMPLETED_APPS' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where COMPLETED_APPS = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'LOANS_OFFERED' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where LOANS_OFFERED = 1


union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'LOANS_LISTED' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
LISTING_DATE,
LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where LOANS_LISTED = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'all_core_docs_received' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where all_core_docs_received_flag = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'frontend_decline' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where frontend_decline_flag = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'backend_decline_flag' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
null as ISSUED_DATE,
null as ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where backend_decline_flag = 1

union all

select Loan_ID,
BORROWER_ACTOR_ID,
purpose,
'LOANS_ISSUED' as action,
APPLICATION_DATE,
PRODUCT,
INTEREST_RATE,
APR,
risk_grade,
LOAN_TERM,
APPLICATION_AMOUNT,
partner_name,
channel_group,
STATE,
ZIP,
ORIG_FEE_FRACTION,
null as LISTING_DATE,
null as LISTING_AMOUNT,
ISSUED_DATE,
ISSUED_AMOUNT,
APP_STATUS,
dma,
City_Area,

TEST_OR_CONTROL,
revenue_last_yr,
profit_last_yr,
head_count,
legal_structure,
years_in_business,
campaign_name,
campaign_id
from loan_apps
where LOANS_ISSUED = 1