-2

I have a condition (in Business objects ) as below

=If([Actual ]=0;Sum([Applied] In ([Project];[ Name];[Number];[Sub ])))

which I need to convert it to CASE statement for my OBIEE

Below is the query I had tried but it doesn't work:

SELECT
    CASE 
    WHEN F.ACTUAL_EQP_COST = 0 
        THEN SUM((F.HRS_APPLIED) IN(F.PROJECT,F.NAME,F.NUMBER,F.SUB)) 
    ELSE 0 
    END 
FROM  F
user1838000
  • 275
  • 2
  • 14

2 Answers2

1

Probably

select SUM(F.HRS_APPLIED) 
from DTS_OSC_WIP_REP_CST_ANALYSIS_A F
where F.ACTUAL_EQP_COST = 0 
group by F.PROJECT,F.WIP_ENTITY_NAME,F.OPERATION_NUMBER,F.OPERATION_SUB_SEQ
Serg
  • 22,285
  • 5
  • 21
  • 48
0

You can't use "in" inside a "then" statement. I couldn't understand exactly but something in this direction might help:

select 
CASE WHEN F.ACTUAL_EQP_COST = 0 
THEN (SELECT SUM(F1.HRS_APPLIED) 
FROM DTS_OSC_WIP_REP_CST_ANALYSIS_A F1 
WHERE F1.column_name IN (F.PROJECT,F.WIP_ENTITY_NAME,F.OPERATION_NUMBER,F.OPERATION_SUB_SEQ)) 
ELSE 0 END 
from DTS_OSC_WIP_REP_CST_ANALYSIS_A F
Leandro Perini
  • 384
  • 5
  • 14