CASE IF Statement in OBIEE Analytics

Hi,
Here is my requirement, i have two columns from two different subject areas:
1) Available Quantity from Inventory Balances Subject Area
2) Net Invoiced Quantity from Sales - Orders, Backlog, Invoices subject area.
Now i have to create a report and in which i should this condition, If Quantity is Less than "0" then "DEAD", If Available Quantity is Greater Than Net Invoiced Quantity then "SLOW" else return "OK".
Can i use case statement in "Edit Formula" tab to satisfy the above condition. I have used Case(IF) expression but i can give only two conditions,.
Please advice.

With my understanding of your question:
1. You want to show one Inventory status column with DEAD, SLOW & OK values.
2. I hope you have Inventory Items as common dimension between two subject areas.
3. Add these 2 facts under one subject area & have aggreagation rule for quantity set as sum or Avg.
4. Now drag Inventory Item, Available Qty & Invoiced Qty in criteria tab
5. Now create new columns - Case when Avable Qty < 0 then 'DEAD' when Avble Qty > InvoicedQty then 'SLOW' else 'OK' End.
If you are not able to get those 2 facts under same subject area ....Try doing uinion ..but need to check on can we create a calculated column on union results.

Similar Messages

  • How to create nested case when statement in OBIEE 11g?

    Hi All,
    I need to create a formula using nested case when statement. The formula to be created is below:
    =If([AWRV]<0; "<0";
    If([AWRV]=0; "0";
    If([AWRV]<=15; ">0 and <=15";
    If([AWRV]<=25; ">15 and <=25";
    If([AWRV]<=50; ">25 and <=50";
    If([AWRV]<=75; ">50 and <=75";
    If([AWRV]<=100; ">75 and <=100";
    If([AWRV]<=200; ">100 and <=200";
    If([AWRV]<=500; ">200 and <=500";
    If([AWRV]<=1000; ">500 and <=1000";
    If([AWRV]<=5000; ">1000 and <=5000";
    If([AWRV]<=10000; ">5000 and <=10000"; ">10000"))))))))))))
    How to recreate using Nested case when? I tried in many different ways but it is displaying syntax error in obiee11g. This is very critical. Can anybody shed light on this issue pls?
    Thanks in advance,
    Thenmozhi

    Honey26 wrote:
    Hi All,
    I need to create a formula using nested case when statement. The formula to be created is below:
    =If([AWRV]<0; "<0";
    If([AWRV]=0; "0";
    If([AWRV]<=15; ">0 and <=15";
    If([AWRV]<=25; ">15 and <=25";
    If([AWRV]<=50; ">25 and <=50";
    If([AWRV]<=75; ">50 and <=75";
    If([AWRV]<=100; ">75 and <=100";
    If([AWRV]<=200; ">100 and <=200";
    If([AWRV]<=500; ">200 and <=500";
    If([AWRV]<=1000; ">500 and <=1000";
    If([AWRV]<=5000; ">1000 and <=5000";
    If([AWRV]<=10000; ">5000 and <=10000"; ">10000"))))))))))))
    How to recreate using Nested case when? I tried in many different ways but it is displaying syntax error in obiee11g. This is very critical. Can anybody shed light on this issue pls?
    Thanks in advance,
    ThenmozhiTry the below:
    CASE WHEN "Fact - Open Chargeback"."Sub Chbk Amt" < 0 THEN ' <0'
    WHEN "Fact - Open Chargeback"."Sub Chbk Amt" = 0 THEN '0'
    WHEN "Fact - Open Chargeback"."Sub Chbk Amt" BETWEEN 0 AND 15 THEN '>0 AND <=15'
    END
    Hope this helps.

  • Case statement error OBIEE

    Hi All,
    I'm getting an error with my Case statement in OBIEE. Below is the statement.
    case when @{PV_RELEASE_NAME} = 'January' then "Script Details"."Calendar Date" is between ('1/1/2012','1/31/2012') else"Script Details"."Calendar Date" end
    Please advice. Thanks for your help in advance!

    Thanks for the response , I tried with the formula u mention still I am getting the same error ..Please find the error below
    case when @{PV_RELEASE_NAME} = 'January' then "Script Details"."Calendar Date" || " is between ('1/1/2012','1/31/2012')" else"Script Details"."Calendar Date" end
    Formula syntax is invalid.
    [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 27005] Unresolved column: " is between ('1/1/2012','1/31/2012')". (HY000)
    SQL Issued: SELECT case when 0 = 'January' then "Script Details"."Calendar Date" || " is between ('1/1/2012','1/31/2012')" else"Script Details"."Calendar Date" end FROM "Test Script - Ad Hoc"
    If I use the below formula I am getting syntax error
    case when @{PV_RELEASE_NAME} = 'January' then "Script Details"."Calendar Date" is between ('1/1/2012','1/31/2012') else"Script Details"."Calendar Date" end
    Formula syntax is invalid.
    [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 27002] Near : Syntax error [nQSError: 26012] . (HY000)
    SQL Issued: SELECT case when 0 = 'January' then "Script Details"."Calendar Date" is between ('1/1/2012','1/31/2012') else"Script Details"."Calendar Date" end FROM "Test Script - Ad Hoc"

  • Obiee nested case when statements

    Hi Obiee Experts, I need to retrieve amounts for 'last september' so i created a column using this case statement: case when MONTH(CURRENT_DATE) <= 9 then (YEAR(CURRENT_DATE) -1) * 100 + 9 END  --  now i want to retrieve the amount for last september using another case statemnt but i get a syntax err message, when i use: CASE WHEN (case when MONTH (CURRENT_DATE) <= 9 then (YEAR(CURRENT_DATE) -1) * 100 + 9 END) THEN "Fact123"."Net Obligation Amount" END ---- Any ideas how to resolve? I will be forever grateful - cheers, Elena

    Honey26 wrote:
    Hi All,
    I need to create a formula using nested case when statement. The formula to be created is below:
    =If([AWRV]<0; "<0";
    If([AWRV]=0; "0";
    If([AWRV]<=15; ">0 and <=15";
    If([AWRV]<=25; ">15 and <=25";
    If([AWRV]<=50; ">25 and <=50";
    If([AWRV]<=75; ">50 and <=75";
    If([AWRV]<=100; ">75 and <=100";
    If([AWRV]<=200; ">100 and <=200";
    If([AWRV]<=500; ">200 and <=500";
    If([AWRV]<=1000; ">500 and <=1000";
    If([AWRV]<=5000; ">1000 and <=5000";
    If([AWRV]<=10000; ">5000 and <=10000"; ">10000"))))))))))))
    How to recreate using Nested case when? I tried in many different ways but it is displaying syntax error in obiee11g. This is very critical. Can anybody shed light on this issue pls?
    Thanks in advance,
    ThenmozhiTry the below:
    CASE WHEN "Fact - Open Chargeback"."Sub Chbk Amt" < 0 THEN ' <0'
    WHEN "Fact - Open Chargeback"."Sub Chbk Amt" = 0 THEN '0'
    WHEN "Fact - Open Chargeback"."Sub Chbk Amt" BETWEEN 0 AND 15 THEN '>0 AND <=15'
    END
    Hope this helps.

  • Managed server in WARNING state in Obiee 11.1.1.7.0 prod env

    Hi All,
    We have OBIEE 11.1.1.7.0 running in our company. Last couple of days we are experiencing that, the managed server "bi_server1" always changes to "warning" state in every 20 to 30 minutes or so. Reports are too slow and behaves funny after warning. When I restart opmn, then it shows health is "OK". But again changes to "WARNING" after sometimes. It says: Thread pool has stuck threads.
    We have got a RAC environment of database and our OBIEE is pointing to one of the node and i can tnsping to it. I can increase the StuckThread time to 1200, 1200 or so instead of 600, 60 for bi_server1 in the console as found somewhere as a tuning process but not sure if it will help much!! I can't even cancel the long running queries in the "managed session" of obiee analytics.
    Kindly advise what exactly is causing this problem and what must I do to resolve this??
    The bi_server1 log file displays the following error:
    ####<Oct 15, 2013 1:31:59 PM SAST> <Error> <WebLogicServer> <SWAOBIEE> <bi_server1> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <705beb8dd8c1b40f:-c2b96b4:141a7012d14:-8000-000000000004373a> <1381836719713> <BEA-000337> <[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "709" seconds working on the request "weblogic.servlet.internal.ServletRequestImpl@46631799[
    GET /analytics/saw.dll?Sessions HTTP/1.1
    Connection: keep-alive
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.35 (KHTML, like Gecko) Chrome/27.0.1448.0 Safari/537.35
    Referer: http://10.20.16.72:9704/analytics/saw.dll?Admin
    Accept-Encoding: gzip,deflate,sdch
    Accept-Language: en-US,en;q=0.8
    Cookie: ORA_BIPS_LBINFO=141bbd5ed78; ORA_BIPS_NQID=v1b3rdkjen27ul12vejs054ra8v5mgmsk25pu7a; JSESSIONID=5xfZSdkK6N0HN49H2hKFT9SmQ0ngVp6vLJvw81QfTychYjpwpmFZ!-2050741508; ADMINCONSOLESESSION=Q2TLSdkdv1GT79BFgzPyw5njCtPDXmmyWbhb523hgV5DRqtv7csD!1865413782
    ]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
            java.net.SocketInputStream.socketRead0(Native Method)
            java.net.SocketInputStream.read(SocketInputStream.java:129)
            com.siebel.analytics.web.sawconnect.SAWConnection$NotifyInputStream.read(SAWConnection.java:165)
            java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            java.io.BufferedInputStream.read(BufferedInputStream.java:237)
            com.siebel.analytics.web.sawconnect.sawprotocol.SAWProtocol.readInt(SAWProtocol.java:188)
            com.siebel.analytics.web.sawconnect.sawprotocol.SAWProtocolInputStreamImpl.readChunkHeader(SAWProtocolInputStreamImpl.java:282)
            com.siebel.analytics.web.sawconnect.sawprotocol.SAWProtocolInputStreamImpl.startReadingNewMessage(SAWProtocolInputStreamImpl.java:49)
            com.siebel.analytics.web.sawconnect.SAWServletHttpBinding.forwardResponse(SAWServletHttpBinding.java:201)
            com.siebel.analytics.web.SAWBridge.processRequest(SAWBridge.java:189)
            com.siebel.analytics.web.SAWBridge.doGet(SAWBridge.java:224)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    Thanks,
    BK.

    I had similar issue in windows 7 [64 bit].
    It is found that the nodemanger windows service was not present and I had to create it by executing installNodeMgrSvc.cmd present in wls server location say, 'C:\Oracle\Middleware\wlserver_10.3\server\bin'  in my case and then come to bi wls console and 'Resume' the bi_server1 managed server. You would see progress in the installer once the managed server bi_server1 is 'Running' state.
    Hope this helps.

  • Using case when statement in the select query to create physical table

    Hello,
    I have a requirement where in I have to execute a case when statement with a session variable while creating a physical table using a select query. let me explain with an example.
    I have a physical table based on a select table with one column.
    SELECT 'VALUEOF(NQ_SESSION.NAME_PARAMETER)' AS NAME_PARAMETER FROM DUAL. Let me call this table as the NAME_PARAMETER table.
    I also have a customer table.
    In my dashboard that has two pages, Page 1 contains a table with the customer table with column navigation to my second dashboard page.
    In my second dashboard page I created a dashboard report based on NAME_PARAMETER table and a prompt based on customer table that sets the NAME_ PARAMETER request variable.
    EXECUTION
    When i click on a particular customer, the prompt sets the variable NAME_PARAMETER and the NAME_PARAMETER table shows the appropriate customer.
    everything works as expected. YE!!
    Now i created another table called NAME_PARAMETER1 with a little modification to the earlier table. the query is as follows.
    SELECT CASE WHEN 'VALUEOF(NQ_SESSION.NAME_PARAMETER)'='Customer 1' THEN 'TEST_MART1' ELSE TEST_MART2' END AS NAME_PARAMETER
    FROM DUAL
    Now I pull in this table into the second dashboard page along with the NAME_PARAMETER table report.
    surprisingly, NAME_PARAMETER table report executes as is, but the other report based on the NAME_PARAMETER1 table fails with the following error.
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 16001] ODBC error state: S1000 code: 1756 message: [Oracle][ODBC][Ora]ORA-01756: quoted string not properly terminated. [nQSError: 16014] SQL statement preparation failed. (HY000)
    SQL Issued: SET VARIABLE NAME_PARAMETER='Novartis';SELECT NAME_PARAMETER.NAME_PARAMETER saw_0 FROM POC_ONE_DOT_TWO ORDER BY saw_0
    If anyone has any explanation to this error and how we can achieve the same, please help.
    Thanks.

    Hello,
    Updates :) sorry.. the error was a stupid one.. I resolved and I got stuck at my next step.
    I am creating a physical table using a select query. But I am trying to obtain the name of the table dynamically.
    Here is what I am trying to do. the select query of the physical table is as follows.
    SELECT CUSTOMER_ID AS CUSTOMER_ID, CUSTOMER_NAME AS CUSTOMER_NAME FROM 'VALUEOF(NQ_SESSION.SCHEMA_NAME)'.CUSTOMER.
    The idea behind this is to obtain the data from the same table from different schemas dynamically based on what a session variable. Please let me know if there is a way to achieve this, if not please let me know if this can be achieved in any other method in OBIEE.
    Thanks.

  • Doubt in case when statement

    hi gems...
    i have a case when statement in a select clause...there are total three conditions in the case when statemnt.
    now my question is if all theconditions gets matched, then what will happen???
    is only first condition gets executed and rest two will be ignored or the third condition will overwrite the previous two???
    please help...thanks in advance...

    Hello
    This isn't very difficult to test....
    select
         CASE
              WHEN 1=1 THEN
                1
              WHEN 1=1 THEN
                2
              WHEN 1=1 THEN
                3
         END c
    FROM
         dual
             C
             1
    1 row selected.It wil return the first match.
    David

  • Case when statement not working

    hi there, I am trying to work out how to get my case statement to work.
    I have got the following code. 
    select pthproto.pthdbo.cnarole.tpkcnarole, pthproto.pthdbo.cnaidta.formataddr as formataddr, cnaidta.dateeffect as maxdate, isnull(cast (pthproto.pthdbo.cnaaddr.prefix1key as varchar (50)),'') + ' ' + isnull(cast (pthproto.pthdbo.cnaaddr.prefix2key
    as varchar (50)),'')+ ' ' + isnull(cast (pthproto.pthdbo.cnaaddr.prefix3key as varchar (50)),'') + ' ' + isnull (cast (pthproto.pthdbo.cnaaddr.houseidkey as varchar (100)),'') + ' ' + isnull (cast (pthproto.pthdbo.cnaaddr.component1
    as varchar (100)),'') + ' ' + isnull (cast (pthproto.pthdbo.cnaaddr.component2 as varchar (100)),'') + ' ' + isnull (cast (pthproto.pthdbo.cnaaddr.component3 as varchar (100)),'') + ' ' + isnull (cast (pthproto.pthdbo.cnaaddr.component4
    as varchar (100)),'') + ' ' + isnull (cast (pthproto.pthdbo.cnaaddr.component5 as varchar (100)),'') as mailaddress, row_number() over(partition by pthproto.pthdbo.cnarole.tpkcnarole order by cnaidta.dateeffect desc) as rn into #address from pthproto.pthdbo.cnarole
    inner join pthproto.pthdbo.cnaidty on cnarole.tfkcnaidty =cnaidty.tpkcnaidty inner join pthproto.pthdbo.cnaidta on cnaidty.tpkcnaidty = cnaidta.tfkcnaidty inner join pthproto.pthdbo.cnaaddr on cnaidta.tfkcnaaddr = cnaaddr.tpkcnaaddr order by cnaidta.dateeffect
    select *, case when mailaddress is not null then mailaddress else formataddr end as test from #address where tpkcnarole = '18306695'
    The case when statement is struggling with how i have created the column mailaddress.  As it does seem to understand when it is null.  In the example I have got there is no value in any of the columns to create
    the mailaddress.  Hence why I am referencing it from elsewhere.  Due to having a way on the system where it picks up data from 2 different places.    The mailaddress is always correct if there is one, hence why
    trying to reference that one first.  So how do i change this case when statement to work ?            

    It's ok I have fixed my own problem
    when
    (mailaddress
    is
    null 
    or mailaddress

    then formataddr
    else mailaddress
    end
    as test
    case

  • CASE WHEN statement

    Hello everybody,
    I have the following SQL statement. To verify that p01.euro IS NOT NULL, I think I should add a "CASE WHEN" statement into the code, the problem is, that I don't know how to this here... The "CASE WHEN" statement should be for the subselect - statement I've marked in red color...
    Perhaps you have an idea... Thanks
    select
    (select apex_item.select_list_from_query (5,name,'select name from cn_pl_projektidee order by idee_id asc', 'style="width:130px"', NULL) name
    from cn_pl_projektidee s01 where s01.idee_id = t1.idee_id) idee,
    (select htmldb_item.text(6,sum(stunden))stunden_ilp from cn_pl_std_peplanung t02
    where abt_id = '1' 
    and  t02.pe_id = t1.pe_id
    and  t02.version_id = t1.version_id
    and  t02.idee_id = t1.idee_id) stunden_ilp,
    (select htmldb_item.text(7,sum(stunden))stunden_ild from cn_pl_std_peplanung t02
    where abt_id = '3' 
    and  t02.pe_id = t1.pe_id
    and  t02.version_id = t1.version_id
    and  t02.idee_id = t1.idee_id) stunden_ild,
    (select htmldb_item.text(8,sum(stunden))stunden_ilm from cn_pl_std_peplanung t02
    where abt_id = '4' 
    and  t02.pe_id = t1.pe_id
    and  t02.version_id = t1.version_id
    and  t02.idee_id = t1.idee_id) stunden_ilm,
    (select htmldb_item.text(9,sum(stunden))stunden_ief from cn_pl_std_peplanung t02
    where abt_id = '9' 
    and  t02.pe_id = t1.pe_id
    and  t02.version_id = t1.version_id
    and  t02.idee_id = t1.idee_id) stunden_ief,
    (select htmldb_item.text(10,sum(stunden))stunden_ir from cn_pl_std_peplanung t02
    where abt_id = '10' 
    and  t02.pe_id = t1.pe_id
    and  t02.version_id = t1.version_id
    and  t02.idee_id = t1.idee_id) stunden_ir,
    (select sum(euro) from cn_pl_primaerkostenplanung p01
    where p01.pe_id = t1.pe_id
    and  p01.version_id = t1.version_id
    and  p01.idee_id = t1.idee_id) summe_la,
    "CASE WHEN p01.euro IS NOT NULL THEN"
    (select sum((sum(t02.stunden) * k01.euro_std * 8)+(select sum(p01.euro) from cn_pl_primaerkostenplanung p01
    where p01.pe_id = t1.pe_id
    and  p01.version_id = t1.version_id
    and  p01.idee_id = t1.idee_id))
    from cn_pl_std_peplanung t02, cn_pl_sap_leistungsarten k01
    where k01.l_art_id = t1.l_art_id
    and t02.pe_id = t1.pe_id
    and  t02.version_id = t1.version_id
    and  t02.idee_id = t1.idee_id
    group by t02.pe_id, k01.euro_std) "END" kosten_ges,
    (select distinct htmldb_item.hidden(2,pe_id) pe_id from cn_pl_std_peplanung t02
    where t02.pe_id = t1.pe_id
    and  t02.version_id = t1.version_id) pe_id,
    (select  distinct htmldb_item.hidden(3,l_art_id) l_art_id from cn_pl_std_peplanung t02
    where t02.pe_id = t1.pe_id
    and  t02.version_id = t1.version_id) l_art_id,
    (select distinct htmldb_item.hidden(4,version_id) version_id from cn_pl_std_peplanung t02
    where t02.pe_id = t1.pe_id
    and  t02.version_id = t1.version_id) version_id
    from cn_pl_std_peplanung t1, cn_pl_projektelemente z1, cn_pl_version u1, cn_pl_projektidee s1
    where t1.version_id = '&P6_VERSION_WAHL.' and t1.pe_id ='&P6_HELP_PRODET.'  and t1.l_art_id ='&P6_L_ART_ID.'
    group by t1.pe_id, t1.version_id, t1.idee_id, t1.l_art_id order by t1.idee_id desc

    Not sure if the rest is ok, but syntactically you can go for
      SELECT (SELECT apex_item.select_list_from_query (
                        5,
                        name,
                        'select name from cn_pl_projektidee order by idee_id asc',
                        'style="width:130px"',
                        NULL
                        name
                FROM cn_pl_projektidee s01
               WHERE s01.idee_id = t1.idee_id)
                idee,
             (SELECT htmldb_item.text (6, SUM (stunden)) stunden_ilp
                FROM cn_pl_std_peplanung t02
               WHERE     abt_id = '1'
                     AND t02.pe_id = t1.pe_id
                     AND t02.version_id = t1.version_id
                     AND t02.idee_id = t1.idee_id)
                stunden_ilp,
             (SELECT htmldb_item.text (7, SUM (stunden)) stunden_ild
                FROM cn_pl_std_peplanung t02
               WHERE     abt_id = '3'
                     AND t02.pe_id = t1.pe_id
                     AND t02.version_id = t1.version_id
                     AND t02.idee_id = t1.idee_id)
                stunden_ild,
             (SELECT htmldb_item.text (8, SUM (stunden)) stunden_ilm
                FROM cn_pl_std_peplanung t02
               WHERE     abt_id = '4'
                     AND t02.pe_id = t1.pe_id
                     AND t02.version_id = t1.version_id
                     AND t02.idee_id = t1.idee_id)
                stunden_ilm,
             (SELECT htmldb_item.text (9, SUM (stunden)) stunden_ief
                FROM cn_pl_std_peplanung t02
               WHERE     abt_id = '9'
                     AND t02.pe_id = t1.pe_id
                     AND t02.version_id = t1.version_id
                     AND t02.idee_id = t1.idee_id)
                stunden_ief,
             (SELECT htmldb_item.text (10, SUM (stunden)) stunden_ir
                FROM cn_pl_std_peplanung t02
               WHERE     abt_id = '10'
                     AND t02.pe_id = t1.pe_id
                     AND t02.version_id = t1.version_id
                     AND t02.idee_id = t1.idee_id)
                stunden_ir,
             (SELECT SUM (euro)
                FROM cn_pl_primaerkostenplanung p01
               WHERE     p01.pe_id = t1.pe_id
                     AND p01.version_id = t1.version_id
                     AND p01.idee_id = t1.idee_id)
                summe_la,
             CASE
                WHEN p01.euro IS NOT NULL
                THEN
                   (  SELECT SUM( (SUM (t02.stunden) * k01.euro_std * 8)
                                 + (SELECT SUM (p01.euro)
                                      FROM cn_pl_primaerkostenplanung p01
                                     WHERE     p01.pe_id = t1.pe_id
                                           AND p01.version_id = t1.version_id
                                           AND p01.idee_id = t1.idee_id))
                        FROM cn_pl_std_peplanung t02, cn_pl_sap_leistungsarten k01
                       WHERE     k01.l_art_id = t1.l_art_id
                             AND t02.pe_id = t1.pe_id
                             AND t02.version_id = t1.version_id
                             AND t02.idee_id = t1.idee_id
                    GROUP BY t02.pe_id, k01.euro_std)
             END
                kosten_ges,
             (SELECT DISTINCT htmldb_item.hidden (2, pe_id) pe_id
                FROM cn_pl_std_peplanung t02
               WHERE t02.pe_id = t1.pe_id AND t02.version_id = t1.version_id)
                pe_id,
             (SELECT DISTINCT htmldb_item.hidden (3, l_art_id) l_art_id
                FROM cn_pl_std_peplanung t02
               WHERE t02.pe_id = t1.pe_id AND t02.version_id = t1.version_id)
                l_art_id,
             (SELECT DISTINCT htmldb_item.hidden (4, version_id) version_id
                FROM cn_pl_std_peplanung t02
               WHERE t02.pe_id = t1.pe_id AND t02.version_id = t1.version_id)
                version_id
        FROM cn_pl_std_peplanung t1,
             cn_pl_projektelemente z1,
             cn_pl_version u1,
             cn_pl_projektidee s1
       WHERE     t1.version_id = '&P6_VERSION_WAHL.'
             AND t1.pe_id = '&P6_HELP_PRODET.'
             AND t1.l_art_id = '&P6_L_ART_ID.'
    GROUP BY t1.pe_id,
             t1.version_id,
             t1.idee_id,
             t1.l_art_id
    ORDER BY t1.idee_id DESC

  • Using case when statement or decode stament in where clause

    hi gems..
    i have a problem in the following query..
    i am trying to use case when statement in the where clause of a select query.
    select cr.customer_name || ' - ' ||cr.customer_number as cust_name,
    cr.salary as salary
    from customer_details cr
    where (case when '>' = '>' then 'cr.salary > 5000'
    when '>' = '<' then 'cr.salary < 5000'
    when '>' = '=' then 'cr.salary = 5000'
    else null
    end);
    the expression in the when clause of the case-when statement will come from UI and depending on the choice i need to make the where clause.
    thats why for running the query, i have put '>' in that place.
    so the original query will look like this(for your reference):
    select cr.customer_name || ' - ' ||cr.customer_number as cust_name,
    cr.salary as salary
    from customer_details cr
    where (case when variable = '>' then 'cr.salary > 5000'
    when variable = '<' then 'cr.salary < 5000'
    when variable = '=' then 'cr.salary = 5000'
    else null
    end);
    so, in actual case,if the user selects '>' then the filter will be "where cr.salary > 5000"
    if the user selects '<' then the filter will be "where cr.salary < 5000"
    if the user selects '=' then the filter will be "where cr.salary = 5000"
    but i am getting the error "ORA 00920:invalid relational operator"
    please help..thanks in advance..

    Hi,
    select cr.customer_name || ' - ' ||cr.customer_number as cust_name,
           cr.salary                                      as salary
    from customer_details cr
    where (    v_variable = 'bigger'
           and cr.salary > 5000
       or (    v_variable = 'less'
          and cr.salary < 5000
       or (    v_variable = 'eq'
            and cr.salary = 5000
           )Edited by: user6806750 on 22.12.2011 14:56
    For some reason I can't write in sql '<', '>', '='

  • "IN" operator in Case When statement

    Hi
    When I'm trying to use "IN" operator in the "Case When" statement , the following error is being displayed : " [nQSError: 27002] Near <In>: Syntax error [nQSError: 26012] " .
    Please let me know wether we can use "IN" oprerator in the Case When statement.
    Thanks.

    Hi
    Below is the code in which I'm trying to use "IN" operator in the CASE WHEN statement :
    CASE WHEN Month=1 then Year IN (2009,2010) else 0 end
    Above - (Year and month are of integer datatype, hence i did not use single quotes)
    Thanks

  • Using more than one case when statement

    Hi there,
    I have a question on using case when statements.
    Currently I have a table where it shows me mulitple dates.
    Order Saledate TransferDate StartDate Enddate GetDate
    I have created a where statement to show me records against the transferdate dependant if it appears within the date range of the year, or if it appears within the startdate and today's date.
    (lpatran.trandate between targets.startdate
    and (case when targets.enddate < getdate() then targets.enddate else getdate() end))
    However on some of the records the transfer date is null, and so they want to use the saledate as the date to use.
    So I created
    (case when Lpatran.trandate is not null then (Lpatran.trandate between targets.startdate
    and (case when targets.enddate < getdate() then targets.enddate else getdate()))
    else (lpatran.saledate between targets.startdate
    and (case when targets.enddate < getdate() then targets.enddate else getdate())) end )
    However it gives me an incorrect syntax near the word ‘between ‘ 
    Is there a simple fix for this or does sql not allow me to do this?

    I have created a new column called transferdate and done a case when statement
    CASE
    WHEN lpatran.trandate
    IS
    NULL
    THEN lpatran.saledate
    ELSE lpatran.trandate
    END
    AS Transferdate,
    Then created a temptable and did a select * from temptable.  Created a where statement from transferdate, which does work and gives me the correct data. 
    TransferDate between startdate
    and(case
    when enddate
    <
    getdate()
    then enddate
    else
    getdate()
    end))
    However I wanted to know if there was a way of obtaining the same data without having to use the temptable ?

  • Problem with case when statement, when doing an insert.

    Hi there,  I have written the following coding, that has got an issue, due to not being allowed null values to be inserted into a column on a table.
    ,Case 
    WHENCL.LocationISNOTNULLANDCL.[Floor]ISNOTNULLANDCL.RoomISNULLTHEN
    (SELECTTop1
    FL.FloorIDFROMPMIS.dbo.ConsentLocationF
    JOINtbBuildingBONB.BuildingNumber=F.LocationCOLLATELatin1_General_CI_AS
    JOINtbFloorFLONFL.BuildingID=B.BuildingID
    WHEREF.Location=CL.LocationANDFL.FloorName=CL.[Floor]COLLATELatin1_General_CI_AS)
    WHENCL.LocationISNOTNULLANDCL.[Floor]ISNOTNULLANDCL.RoomISNOTNULLTHEN
    (SELECTTop1
    R.RoomIDFROMPMIS.dbo.ConsentLocationF
    JOINtbBuildingBONB.BuildingNumber=F.LocationCOLLATELatin1_General_CI_AS
    JOINtbFloorFLONFL.BuildingID=B.BuildingID
    JOINtbRoomRONR.FloorID=FL.FloorID
    WHEREF.Location=CL.LocationANDFL.FloorName=CL.[Floor]COLLATELatin1_General_CI_ASANDR.RoomNumber=CL.RoomCOLLATELatin1_General_CI_AS)
    ENDasParentID
    I have written this case when statement above to find a ParentID.  I have got the case when statement to work individually, e.g. I get the correct records back.  However when I put it into a insert statement, as I want this ParentID to go
    into a column in a table I get an error with the following message. 
    Cannot insert the value NULL into column 'ParentID', table 'K2_Master_4_Test.dbo.tbConsentLink'; column does not allow nulls. INSERT fails.
    Can someone point me in the right direction, as to what I need to do to get this case when statement working?  Also no I cannot change the structure of the table to allow for null values either.  So I need to modifiy this one.

    The error is valid because your table column has 'not null' constraint and when your case expression does not satisfy  either of the 'when' conditions, it is returning NULL to the insert statement.
    you can get around this by defining a generic value. Simple Example
    select case when <<Column>>=1 then 'First' When <<Column>>=2 then 'Second' Else 'Last' End
    In this case, when column value is not 1 or 2, it will insert 'Last'.
    So, you have to do something like this...i.e add ELSE condition to your case..
    Hope it Helps!!

  • Is Prompted (Case When Statement)

    I created a column in an answers report and used a CASE WHEN statement as the formula. I set this column to an Is Prompted filter. But when i try to run the report from the dashboard prompt, it just ignores this filter. What am i doing wrong?

    Hello,
    Prompt also should contain the same case when condition in it's fx so that.. when you say is prompted on that code in answers, prompt value will be effected in the answers.
    Else assign a presentation variable to the prompt (if it's drop - down controlled), and use that presentation variable in the filter section of your request...
    Hope you get it..

  • Webcast-OBIEE Analytics/Reporting Solutions for E-Business Ste, Sep 9 12EDT

    TODAY: I invite you all to an Oracle BI Applications related Techcast, let's use this for interactive Q&A as well. We can follow up on the question here.
    See more details at http://OracleBIWA.org
    Wednesday, September 9, 12 noon Eastern
    OBIEE Analytics/Reporting Solutions for E-Business Suite
    Audio Dial-In: 888 967 2253 Audio Meeting ID: 572994 Audio Meeting Passcode: 334451
    Web Conference: https://conference.oracle.com/imtapp/app/cmn_jm_hub.uix?mID=150764532
    BIWA Wednesday TechCast Series - Sixth Event!
    This presentation will showcase different options for OBIEE-based Analytical Reporting such as:
    1) Oracle BI Applications for supported Oracle E-Business Suite Modules and other Oracle Applications.
    It will include real world experiences for implementing BI Apps Version 7.9.6
    2) Custom OBIEE Development against E-Business Suite (when no BI apps are available)
    3) Migration of Discoverer EUL to OBIEE RPD using Migration Utility
    While OBIEE and BI Apps are clearly the strategic analytics reporting direction from Oracle, only certain Analytics applications are available. Sometimes all customer needs for BI reporting may not be met by these pre-built analytics. For instance, JD Edwards has pre-built ETL connectors only for Financial Analytics. While more BI Apps and ETL connectors are in the pipeline, how can users meet their reporting needs today as they go live in near future? In this session, we will look at several short and medium term solutions without deviating from the long term strategic goal of using pre-built BI applications to reduce the overall risk.
    Several real life situations will be evaluated with demonstration of the steps involved such as how to Migrate Discoverer reports to OBIEE with the highest degree of automation. Likewise, we will cover how DBI views be used for custom OBIEE reporting.
    Presenter: Shyam Varan Nath is an OBIEE Architect for IBM Global Business Services with extensive experience in implementing OBIEE and BI Apps. He has worked on several Oracle Data Warehousing Projects for customers including Citigroup, Air Force, Land O'Lakes, and Blue Cross Blue Shield Association. Shyam has been a Certified Oracle DBA since 1998 and has 18 years of industry experience. He is a regular speaker at BIWA Summit, IOUG/Collaborate, Regional User Groups and Oracle Openworld since 2003. Shyam has also worked at Oracle (BI Consulting Practice) and Deloitte Consulting. Currently, he is the top expert in Oracle OBI apps Forum, in terms of user awarded points. Shyam is also the Founder and President of BIWA SIG.
    Audio Dial-In: 888 967 2253 Audio Meeting ID: 572994 Audio Meeting Passcode: 334451
    Web Conference: https://conference.oracle.com/imtapp/app/cmn_jm_hub.uix?mID=150764532
    Compatibility Check: If you have not used Oracle's web conference system before, please ensure your system compatibility by going to https://conference.oracle.com/imtapp/app/nuf_sys.uix.
    Edited by: shyamvaran on Sep 9, 2009 5:21 AM

    If you would like to share your OBIEE and OBIA knowledge and experiences, please submit your proposals below:
    http://submissions.miracd.com/ioug2010/login.asp
    Collaborate 2010 (april 18-22) will have a special focus on BI => "Get Analytical with BIWA Training Days"

Maybe you are looking for

  • Using iPhone Maps App abroad

    I should start by saying that I have no problems with Maps on my iPhone 3G. In fact I seem to have a magic iPhone judging by the posts and questions elsewhere. My iPhone, with data roaming turned off - wifi off - 3G off, and with only a very basic 2G

  • Flash 8 Player security settings Help

    Hi All. Im having some annoying problems with Flash player 8 (the standalone player not web one). I am making a flash portfolio, and am using an XML file to import data (such as images and text) into the portfolio at runtime. Everything works when ru

  • Repost: Cart find class of Bean :-{

    People, HELP!! I am getting desperate!!! I am a newbie when it comes to TOMCAT, but i have been using Blazix before. My current system is using APACHE/TOMCAT on a Solaris machine and I keep hitting the same problem. I have gone through the archives b

  • Oracle Lite service won't start

    Hi, I need help starting the oracle BPEL process manager. I have installed the oracle BPEL process manager but it seems that it won't start because the Oracle Lite service cannot start. When running C:\OraBPELPM\bin>olsv2040.exe /debug in a command p

  • Should this concern me?

    It's likely nothing, but should I be concerned if under "Get Info" > "Sharing & Permissions" beside myself, the Admin and only user with the exception of "Guest", there are also permissions available for "Staff" and "Everyone" (picture attached below