Replace the date values Null by 'none '.

Hi all

I'm working on a report that shows the user id and the last date where you can access a specific report. For some users, there may not be any associated when they could not consulted any report to this day. I want to show "None" where there is no available date. I tried different columns custom formats, different formulas using the CASE statement. but none did.

Would be great if someone could throw some lights on it.

Thank you

Hi all

Thanks for all the suggestions and tips. Finally, I was able to solve it. Post the solution below if anyone faced similar problem in the future.

Step 1: Use function evaluate the RPD to convert the column date of tank. In my case, the original column have the DD MMM YYYY format but I needed it in the format MM/DD/YY. So I used below the formula to convert

Evaluate ('To_char (%1, %2) AS char (20), DateColumn, "MM / DD / YY)

Step 2: Now when I use this column in the report, I put the Format of data customized to the custom text Format: ' @; No '

That's all! It will show the dates that the 03/04/11, where that date is available for this record, or it displays "none".

@mynameisajc and 982496: the above custom format you mentioned in your post does not apply in my case that the column has the data type date. Only way I found was to convert to a Char

Thanks again!

Tags: Business Intelligence

Similar Questions

  • How do I set the date as NULL component or make it blank

    Suppose I have a date component and who have a date value, for an action I need to erase the date value and it is empty. So for that, I tried 2 things
    1 - component.setValue (null)
    2 - VO.setattribute ("effectiveDate", null) i.e effectiveDate is linked with the date component

    Both ways I managed to make the empty date component, but after that, if I select a value date of the component it throws error: oracle.jbo.domain.date cannot rise to java.sql.date

    Please help, appreciate your early response.

    you try to cast an oracle.jbo.domain.Date object to java.sql.Date object in some cases in your beans?
    If Yes check Date Java Cheat Sheet (flavor of the Oracle)
    http://www.ecotronics.ch/webdesign/javadate.htm

  • Replace the string value of table

    with cte as)

    Select val '123', 'abwec' double val1

    Union of all the

    Select "456" val, "mowerw" double val1

    Union of all the

    Select val '709', 'wkwere' double val1

    Union of all the

    Select val '078', 'awerwewerwreq' double val1

    )

    Select * from cte;

    -incoming string

    "asdasd123ewrwer@87w8eopiu456werwer@asdwer709@ewrwerewrwqqwezxder078 @..."

    need to replace like 'abwec' 123 and 456 as "mowerw" and 709 as wkwere and 078 as 'awerwewerwreq '.

    How to replace the string value of the string

    I'm going to the table which will have mapping information I need to see the incoming string and replace the appropriate value of the val to val1

    something like

    Of

    "asdasd123456werwer@asdwer709@ewrwerewrwqqwezxder078ewrwer@87w8eopiu @..."

    TO

    "asdasdabwecewrwer@87w8eopiumowerwwerwer@asdwerwkwere@ewrwerewrwqqwezxderawerwewerwreq@..."

    By using the TYPE clause.

    with cte as

    (

    Select val '123', 'abwec' double val1

    Union of all the

    Select "456" val, "mowerw" double val1

    Union of all the

    Select val '709', 'wkwere' double val1

    Union of all the

    Select val '078', 'awerwewerwreq' double val1

    ),

    input_tbl

    as

    (

    Select "asdasd123ewrwer@87w8eopiu456werwer@asdwer709@ewrwerewrwqqwezxder078 @..." input_str

    of the double

    )

    Select max (input_str) Dungeon (first order by desc NWR dense_rank) input_str

    de)

    Select rno, input_str

    de)

    Select rownum NWR

    val

    val1

    input_str

    count (*) over() cnt

    from cte

    Cross

    Join input_tbl

    )

    model

    dimension (NWR)

    measures (val, val1, cnt, CAST (input_str AS VARCHAR2 (4000)) input_str)

    (

    input_str [any] = replace (nvl (input_str [cv () - 1], input_str [cv ()]), val [cv ()], val1 [cv ()])

    )

    )

  • Error: Please enter the date value in the correct format DD-MON-RRRR

    Hi all
    First of all, I am 100% not learning financial oracle no technical information. I'm trying to run a report: - the calendar does not appear in order for me to choose the date - not to mention that when I enter the date IE 10/09/2010 or on 09/10/2010 the system gives me this error "" error: Please enter the date value in the correct format DD-MON-RRRR ".
    Please help me to solve this.

    Thank you

    Please enter date in format 12 October 2010.

    Kind regards
    http://www.oraerp.com

  • [8i] best way to replace the 'similar' value values...?

    Some examples of data:

    Sorry for the large / complex set of sample data, but there should be no need to go through it in detail =).

    2 things to keep in mind:
    (1) it is a 8i db
    (2) I can't create any tables in the db, if I can create views
    CREATE TABLE     ord_master
    (     part_nbr          CHAR(25)
    ,     ord_nbr          CHAR(10)
    ,     sub_ord_nbr     CHAR(3)
    ,     ord_type          CHAR(2)
    ,     ord_stat          CHAR(2)
    ,     date_closed     DATE
    );
    
    -- please note, though none of the columns in ord_master are explicitly defined as NOT NULL, 
    -- none of them are NULL in the db, and given how things are input into the table, I don't 
    -- even think it's possible
    
    -- a unique order is described by ord_nbr, sub_ord_nbr.  there should only be one record in
    -- this table for a given unique combination of those columns, though they are not the p.k.
    
    -- NOTE: dates default to 12/31/1900, so in the table above, if an order is still open (thus, 
    -- not closed), it's date_closed will be 12/31/1900.  It will only change once the order closes.
    
    INSERT INTO     ord_master
    VALUES     ('ABC-123','1','1','AA','CL',TO_DATE('05/01/2009','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('ABC-123','1','2','AA','CL',TO_DATE('9/14/2009','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('ABC-123','2','1','AA','CL',TO_DATE('12/03/2009','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('ABC-123','3','1','AA','OP',TO_DATE('12/31/1900','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('ABC-123','4','1','AA','CL',TO_DATE('03/12/2004','mm/dd/yyyy'));
    INSERT INTO     ord_master
    VALUES     ('XYZ-123','5','1','AA','CL',TO_DATE('03/12/2004','mm/dd/yyyy'));
    
    
    CREATE TABLE     op_detail
    (     ord_nbr          CHAR(10)
    ,     sub_ord_nbr     CHAR(3)
    ,     major_seq_nbr     CHAR(4)
    ,     wctr_id          CHAR(5)
    ,     oper_stat          CHAR(2)
    ,     plan_su_rsrc     NUMBER(5,2)
    ,     plan_run_rsrc     NUMBER(11,8)
    ,     plan_subc_amt     NUMBER(15,5)
    ,     act_su_rsrc     NUMBER(5,2)
    ,     act_run_rsrc     NUMBER(7,2)
    ,     act_subc_amt     NUMBER(15,2)
    ,     act_start_dt     DATE
    ,     dt_completed     DATE
    ,     qty_planned     NUMBER(13,4)
    ,     qty_recvd          NUMBER(13,4)
    ,     qty_complete     NUMBER(13,4)
    ,     qty_scrap          NUMBER(13,4)
    ,     qty_on_hold     NUMBER(13,4)
    );
              
    -- similar to ord_master, thought none of the columns are explicitly defined as NOT NULL, 
    -- none of the records have NULL values for any of these columns, and I don't think it's 
    -- really possible with the way the system is
    
    INSERT INTO     op_detail
    VALUES     ('1', '1', '0081', 'X516 ', 'CP', 0, 0, 0, 0, .2, 0, TO_DATE('02/03/2010', 'mm/dd/yyyy'), TO_DATE('02/03/2010', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '1', '0324', 'Y000 ', 'CP', .1, .2, 0, 0, .87, 0, TO_DATE('04/06/2010', 'mm/dd/yyyy'), TO_DATE('04/06/2010', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '1', '0170', 'X928 ', 'CP', 0, 0, 9.6, 0, 0, 159, TO_DATE('03/05/2010', 'mm/dd/yyyy'), TO_DATE('03/05/2010', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '1', '0130', 'H211 ', 'CP', .5, .1, 0, .08, .63, 0, TO_DATE('02/10/2010', 'mm/dd/yyyy'), TO_DATE('02/10/2010', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0120', 'H214 ', 'CP', .3, .05, 0, 0, .68, 0, TO_DATE('05/22/2009', 'mm/dd/yyyy'), TO_DATE('05/22/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0122', 'T203 ', 'CP', 2.5, 1, 0, .67, .3, 0, TO_DATE('05/28/2009', 'mm/dd/yyyy'), TO_DATE('05/28/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0130', 'H211 ', 'CL', .5, .1, 0, .67, .3, 0, TO_DATE('05/28/2009', 'mm/dd/yyyy'), TO_DATE('05/28/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0170', 'X928 ', 'CP', 0, 0, 9.6, 0, 0, 153.12, TO_DATE('06/10/2009', 'mm/dd/yyyy'), TO_DATE('06/10/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('1', '2', '0324', 'Y000 ', 'CP', .1, .2, 0, 0, .08, 0, TO_DATE('06/17/2009', 'mm/dd/yyyy'), TO_DATE('06/17/2009', 'mm/dd/yyyy'), 3, 3, 3, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('2', '1', '0081', 'X516 ', 'CL', 0, 0, 0, 0, 0, 0, TO_DATE('07/20/2009', 'mm/dd/yyyy'), TO_DATE('07/20/2009', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('2', '1', '0324', 'Y000 ', 'CL', .1, .2, 0, 0, 3.03, 0, TO_DATE('09/11/2009', 'mm/dd/yyyy'), TO_DATE('09/11/2009', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('2', '1', '0170', 'X928 ', 'CP', 0, 0, 9.6, 0, 0, 204.16, TO_DATE('08/11/2009', 'mm/dd/yyyy'), TO_DATE('08/11/2009', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('2', '1', '0130', 'H211 ','CP', .5, .1, 0, 1.97, 2.67, 0, TO_DATE('07/28/2009', 'mm/dd/yyyy'), TO_DATE('07/29/2009', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('3', '1', '0170', 'X928 ', 'CP', 0, 0, 9.6, 0, 0, 255.2, TO_DATE('11/06/2009', 'mm/dd/yyyy'), TO_DATE('11/06/2009', 'mm/dd/yyyy'), 5, 5, 5, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('3', '1', '0130', 'H212 ', 'CP', .5, .1, 0, .6, .03, 0, TO_DATE('10/21/2009', 'mm/dd/yyyy'), TO_DATE('10/21/2009', 'mm/dd/yyyy'), 5, 5, 5, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('3', '1', '0550', 'R501 ', 'WK', 1, 16, 0, 2.2, 12.4, 0, TO_DATE('05/19/2010', 'mm/dd/yyyy'), TO_DATE('12/31/1900', 'mm/dd/yyyy'), 5, 5, 5, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('3', '1', '0324', 'Y000 ', 'CL', .1, .2, 0, 0, .07, 0, TO_DATE('02/04/2010', 'mm/dd/yyyy'), TO_DATE('02/04/2010', 'mm/dd/yyyy'), 5, 5, 5, 0, 0);
    INSERT INTO     op_detail
    VALUES     ('4', '1', '0324', 'Y000 ', 'CP', .1, .2, 0, 0, .59, 0, TO_DATE('02/06/2004', 'mm/dd/yyyy'), TO_DATE('02/06/2004', 'mm/dd/yyyy'), 4, 4, 4, 0, 0);
    This is the query, I'm working with right now:
    SELECT     o.part_nbr               
    ,          s.major_seq_nbr          AS op_nbr
    ,          CASE          -- CASE statement to replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                   WHEN     s.wctr_id     IN ('H211','H212')
                   THEN     'Z211'
                   ELSE     s.wctr_id
              END                         AS wctr
    ,          MIN(s.plan_su_rsrc)          AS min_plan_setup
    ,          AVG(s.plan_su_rsrc)          AS avg_plan_setup
    ,          MAX(s.plan_su_rsrc)          AS max_plan_setup
    ,          STDDEV(s.plan_su_rsrc)     AS sdev_plan_setup
    ,          MIN(s.plan_run_rsrc)     AS min_plan_run
    ,          AVG(s.plan_run_rsrc)     AS avg_plan_run
    ,          MAX(s.plan_run_rsrc)     AS max_plan_run
    ,          STDDEV(s.plan_run_rsrc)     AS sdev_plan_run
    ,          MIN(s.plan_subc_amt)     AS min_plan_subc
    ,          AVG(s.plan_subc_amt)     AS avg_plan_subc
    ,          MAX(s.plan_subc_amt)     AS max_plan_subc
    ,          STDDEV(s.plan_subc_amt)     AS sdev_plan_subc
    ,          MIN(s.act_su_rsrc)          AS min_act_setup
    ,          AVG(s.act_su_rsrc)          AS avg_act_setup
    ,          MAX(s.act_su_rsrc)          AS max_act_setup
    ,          STDDEV(s.act_su_rsrc)     AS sdev_act_setup
    ,          MIN(s.act_run_rsrc)          AS min_act_run
    ,          AVG(s.act_run_rsrc)          AS avg_act_run
    ,          MAX(s.act_run_rsrc)          AS max_act_run
    ,          STDDEV(s.act_run_rsrc)     AS sdev_act_run
    ,          MIN(s.act_subc_amt)          AS min_act_subc
    ,          AVG(s.act_subc_amt)          AS avg_act_subc
    ,          MAX(s.act_subc_amt)          AS max_act_subc
    ,          STDDEV(s.act_subc_amt)     AS sdev_act_subc     
    ,          MIN(s.act_start_dt)          AS min_start
    ,          MAX(s.act_start_dt)          AS max_start
    ,          MIN(s.dt_completed)          AS min_comp
    ,          MAX(s.dt_completed)          AS max_comp
    ,          MIN(s.qty_planned)          AS min_qty_plan
    ,          AVG(s.qty_planned)          AS avg_qty_plan
    ,          MAX(s.qty_planned)          AS max_qty_plan
    ,          STDDEV(s.qty_planned)     AS sdev_qty_plan
    ,          MIN(s.qty_recvd)          AS min_qty_recvd
    ,          AVG(s.qty_recvd)          AS avg_qty_recvd
    ,          MAX(s.qty_recvd)          AS max_qty_recvd
    ,          STDDEV(s.qty_recvd)          AS sdev_qty_recvd
    ,          MIN(s.qty_complete)          AS min_qty_comp
    ,          AVG(s.qty_complete)          AS avg_qty_comp
    ,          MAX(s.qty_complete)          AS max_qty_comp
    ,          STDDEV(s.qty_complete)     AS sdev_qty_comp
    ,          MIN(s.qty_scrap)          AS min_qty_scrap
    ,          AVG(s.qty_scrap)          AS avg_qty_scrap
    ,          MAX(s.qty_scrap)          AS max_qty_scrap
    ,          STDDEV(s.qty_scrap)          AS sdev_qty_scrap
    ,          MIN(s.qty_on_hold)          AS min_qty_hold
    ,          AVG(s.qty_on_hold)          AS avg_qty_hold
    ,          MAX(s.qty_on_hold)          AS max_qty_hold
    ,          STDDEV(s.qty_on_hold)     AS sdev_qty_hold
    ,          COUNT(*)                    AS rec_cnt
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END                         AS time_period
    FROM          ord_master o
    ,          op_detail     s
    ,          (     -- begin in-line view a, to get the min act_start_dt for each order
              SELECT     s1.ord_nbr
              ,          s1.sub_ord_nbr
              ,          MIN     (
                             CASE
                                  WHEN     s1.act_start_dt     > TO_DATE('01/01/2000','mm/dd/yyyy')
                                  THEN     s1.act_start_dt
                             END
                             )          AS ord_min_start
              FROM          op_detail s1
              GROUP BY     s1.ord_nbr
              ,          s1.sub_ord_nbr
              ) a     -- end in-line view a          
    WHERE     o.ord_nbr          = s.ord_nbr
    AND          o.sub_ord_nbr     = s.sub_ord_nbr
    AND          o.ord_nbr          = a.ord_nbr
    AND          o.sub_ord_nbr     = a.sub_ord_nbr
    AND          o.ord_type     = 'AA'
    AND          o.ord_stat     IN ('CL','OP')
    AND          s.oper_stat     IN ('CL','CP')
    GROUP BY     o.part_nbr
    ,          s.major_seq_nbr
    ,          CASE          -- CASE statement to replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                   WHEN     s.wctr_id     IN ('H211','H212')
                   THEN     'Z211'
                   ELSE     s.wctr_id
              END
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END
    ORDER BY     o.part_nbr
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END
    ,          s.major_seq_nbr
    It gives me a lot of descriptive statistics on data stored in the database, divided into groups of the time period.

    I have 7 sets of possible values for the wctr_id column, which are groups of similar/identical positions and should be treated as the same, assuming that the ord_nbr, sub_ord_nbr and major_seq_nbr are the same. In my case statement example above, every time I find 'H211' or 'H212', I'm replacing it with "Z211', which is my new unique identifier for all wctr in the Group ("H211', "H212"). I have 7 of these kinds of groups that should be replaced by a new unique identifier. Is my statement CASE (above) the best way to do it, or is there a better way? These groups of similar-wctr_id are not listed in a table anywhere.

    Hello

    As always, thanks for posting the CREATE TABLE and INSERT statements. It is very useful and leads to the more quickly, better solutions.
    Another thing that is useful and promotes better solutions, faster, is to simplify your problem.
    For example, you need to calculate a large number of aggregates, but looks like you already know how to do this. This issue only affects the CASE expressions, and how they interact with the GROUP BY clause. So just cut most of the aggregate functions.
    Also, it seems that the finer points of view one online have nothing to do with your current problem. For purposes of recognition of this problem, pretend that one is a regular display, so it does not clutter the main request.

    I think your problem might be reformulated as follows:
    You already have a query like this:

    CREATE OR REPLACE VIEW a
    AS
              SELECT     s1.ord_nbr
              ,          s1.sub_ord_nbr
              ,          MIN     (
                             CASE
                                  WHEN     s1.act_start_dt     > TO_DATE('01/01/2000','mm/dd/yyyy')
                                  THEN     s1.act_start_dt
                             END
                             )          AS ord_min_start
              FROM          op_detail s1
              GROUP BY     s1.ord_nbr
              ,          s1.sub_ord_nbr
    ;
    
    SELECT     o.part_nbr
    ,          s.major_seq_nbr          AS op_nbr
    ,          CASE          -- CASE statement to replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                   WHEN     s.wctr_id     IN ('H211','H212')
                   THEN     'Z211'
                   ELSE     s.wctr_id
              END                         AS wctr
    ,          MIN(s.plan_su_rsrc)          AS min_plan_setup
              -- lots of other agtgregates go here in real query
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END                         AS time_period
    FROM          ord_master o
    ,          op_detail     s
    ,          a          -- in real query, a is an in-line view
    WHERE     o.ord_nbr          = s.ord_nbr
    AND          o.sub_ord_nbr     = s.sub_ord_nbr
    AND          o.ord_nbr          = a.ord_nbr
    AND          o.sub_ord_nbr     = a.sub_ord_nbr
    AND          o.ord_type     = 'AA'
    AND          o.ord_stat     IN ('CL','OP')
    AND          s.oper_stat     IN ('CL','CP')
    GROUP BY     o.part_nbr
    ,          s.major_seq_nbr
    ,          CASE          -- CASE statement to replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                   WHEN     s.wctr_id     IN ('H211','H212')
                   THEN     'Z211'
                   ELSE     s.wctr_id
              END
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END
    ORDER BY     o.part_nbr
    ,          CASE
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                   THEN     '12 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                   THEN     '24 mos. back'
                   WHEN a.ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                   THEN     '36 mos. back'
                   ELSE '37 mos. back +'
              END
    ,          s.major_seq_nbr
    ;
    

    which produces this output:

    `                       MIN_
                           PLAN_
    PART_NBR   OP_N WCTR   SETUP TIME_PERIOD
    ---------- ---- ----- ------ --------------
    ABC-123    0081 X516      .0 12 mos. back
    ABC-123    0130 Z211      .5 12 mos. back
    ABC-123    0170 X928      .0 12 mos. back
    ABC-123    0324 Y000      .1 12 mos. back
    ABC-123    0120 H214      .3 24 mos. back
    ABC-123    0122 T203     2.5 24 mos. back
    ABC-123    0130 Z211      .5 24 mos. back
    ABC-123    0170 X928      .0 24 mos. back
    ABC-123    0324 Y000      .1 24 mos. back
    ABC-123    0324 Y000      .1 37 mos. back +
    

    The output is correct; the problem is, can we get the same results without 2 copies of the expression BOX wctr and 3 copies of the expression BOX time_period?
    What is a good description of the problem?

    To start, you can use aliases for columns in the ORDER BY clause. Unfortunately, it's the only place where you can use column aliases in the same query, where they are defined . You can calculate them in a query-sib and then use them in queries Super.
    In other words, wouldn't be nice if we had a table just like op_detail, but with an extra column called wctr? Make a view: either a regular view (especially if wctr, calculated in the same way, to be used for several different queries) or view online, as shown below.
    Wouldn't be great if there was a table that was like a, except that he had calculated alreay time_period? Make a view: either a regular view, or a view online, as shown below.

    SELECT     o.part_nbr
    ,     s.major_seq_nbr          AS op_nbr
    ,     s.wctr
    ,     MIN(s.plan_su_rsrc)          AS min_plan_setup
         -- lots of other agtgregates go here in real query
    ,     a2.time_period
    FROM     ord_master      o
    ,     (          -- Begin in-line view s, with data from op_detail
                 SELECT  op_detail.*      -- or list all columns needed in main query
              ,     CASE          -- replace similar-to wctr_id's with a single new wctr_id, so we can treat them as the same
                       WHEN     wctr_id        IN ('H211','H212')
                       THEN     'Z211'
                       ELSE     wctr_id
                   END                    AS wctr
              FROM     op_detail
         ) s          -- End in-line view s, with data from op_detail
    ,     (           -- Begin in-line view a2, to compute time_period
              SELECT  a.*
              ,     CASE
                       WHEN ord_min_start     >     ADD_MONTHS(SYSDATE,-12)
                           THEN     '12 mos. back'
                           WHEN ord_min_start     >     ADD_MONTHS(SYSDATE,-24)
                           THEN     '24 mos. back'
                           WHEN ord_min_start     >     ADD_MONTHS(SYSDATE,-36)
                           THEN     '36 mos. back'
                           ELSE '37 mos. back +'
                   END                         AS time_period
              FROM     a          -- in real query, a is an in-line view
         ) a2          -- End in-line view a2, to compute time_period
    WHERE     o.ord_nbr     = s.ord_nbr
    AND     o.sub_ord_nbr     = s.sub_ord_nbr
    AND     o.ord_nbr     = a2.ord_nbr
    AND     o.sub_ord_nbr     = a2.sub_ord_nbr
    AND     o.ord_type     = 'AA'
    AND     o.ord_stat     IN ('CL','OP')
    AND     s.oper_stat     IN ('CL','CP')
    GROUP BY     o.part_nbr
    ,          s.major_seq_nbr
    ,          s.wctr
    ,          a2.time_period
    ORDER BY     o.part_nbr
    ,          a2.time_period
    ,          s.major_seq_nbr
    ;
    

    In your example, wctr is identical to wctr_id, except for two values. If it was more complicated (for example, if there is not only 2 values that must be mapped on 'Z211', but also 3 to did not amount to "Z987", and 1 which should be treated as "A012" and 5 who should appear as "A666" and...), then you pourriez encode this in an expression BOX humongeous (one nested expression BOX if it involves more than 128 branches) , but it actually belongs to a table, where you have the gross wctr_id (such as "H211") in a column and its equivalent correspondent (for example "Z211") in another. I know that you said that you cannot create new tables; I'm just pointing out that then you can tell people that won't let you create tables, it's a bad idea, likely to lead to errors and some time in the future.

  • Replace the text values

    Hello.

    I have problem with replacement of values in text strings and I can't find a solution.

    I have two or three channels filled with only 2 values: OK and NOK. How can I replace these values with for example 1 for OK and 0 for NOK?

    This replacement is necessary for drawing a chart. I can't draw the chart because the tiara do not accept the values of text like a ladder with the current values.

    Thanks in advance :-)

    Hello Domin,

    replaces a substring in a text with another text can be done with VBS 'Replace' function

    The execution of a function on an entire channel can be made using ChnCalculate.

    Combine the two and you get:

    ("ChnCalculate ("ch ()"" statistics text"" "") = Replace (ch ("' statistics text" "" '), '' value' ', "" LLL"") ")

    It is a channel in the DIAdem example data set. The above command executes the command "Replace" for each value of the text string "text of statistics". He replaces each occurrence of 'value' by 'LLL '.

    Hope this helps

    Andreas

  • Get the date value. MinValue and insert it into the DB

    Hello

    I'm developing an adf application using jdev11g.

    I need to recover the 3 values of page jsf (inputText 2 + 1 date. MinValue) and insert them into DB

    so I create a method in appModuleImpl:

    {public createAffAgVehNewRow (Date date, around km, veh Integer) Sub

    Get the id of the current user

    String ag = ADFContext.getCurrent () .getSessionScope ().get("idAg").toString ();

    getSequenceNumber

    oracle.jbo.domain.Number seq = new oracle.jbo.domain.Number (0);

    SequenceImpl seqImpl = new SequenceImpl ("AFF_AV_SEQ", getDBTransaction());

    SEQ = seqImpl.getSequenceNumber ();

    Insert values into the DB table

    Line r = getAffAgVehView1 () .createRow ();

    ViewObjectImpl vo = this.getAffAgVehView1 ();

    r.setAttribute ("IdAg", Integer.parseInt (ag.toString ()) ");

    r.setAttribute ("IdAffAv", seq);

    r.setAttribute ("KmDep", km);

    r.setAttribute ("IdVeh", veh);

    r.setAttribute ("DateAff", date);

    r.setAttribute ("KmArriv", null);

    r.setAttribute ("ConsoCarb", null);

    vo.insertRow (r);

    this.getDBTransaction () .commit ();

    }

    also, I changed the default value of the EO (AffAgVeh) to adf.currentDate () and the user interface as simpleDate format: "MM/DD/YYYY.

    the problem as whene I enter 3 inputValues and click on the button I get this message:

    Timestamp format must be yyyy-mm-dd hh: mm: [.fffffffff]

    someone knows how to solve this problem

    Thank you

    Mark

    Hi Dev

    Please pass.

    java.sql.SQLException: column type invalid in the adf

    Thank you

    Subramanian M

  • Replace the existing values in the BSO

    I use a rule of load to load the data from a SQL table. The SQL table has multiple records with the same combination of dimension.

    For example, if I have:

    Sheet 1: East soda sales 10
    Sheet 2: East soda sales 10

    When I use "replace existing values", and I question the intersection, I get 10. When I use Add to the existing values, assuming that it was nothing first, I get 20.

    I know Aso, you can use the buffer load to records of amount with the same intersection in the cube before loading to the database. My question is, should I use a SQL sum in the State of charge (since I can't create a view that aggregates), or is there some other facility in environmental assessments which allows to replace what is in the cube, but not replacement when the intersection itself appears twice in the same load of data.

    Thanks for your time.

    Published by: user12268822 on November 29, 2012 12:28

    If you want to replace what you have in the BSO cube with the sum of the values of the SQL, then you will need to use the money in your SQL query.

  • Shoot/Get/the data value of the window for user input

    I'm trying to do something that should be simple enough for a programmer, but unfortunately, unfortunately to be a designer, I'm having a devil of a time with it.  After spending hours searching and trying different things, I thought to post the problem.  I have the feeling that I'm not the first creator of evil with it.

    I'm trying to extract a window input data and to transmit it to a variable.  In the script, I do a few purge(), and I don't know if that clears the values of input from the user during the script, but it's thinking ahead...

    I need the values to:

    Layer.translate (X, Y) / / if I'm wrong, it must be not - string

    bitsaveoptions. Method = ChanelScreen; in menu drop-down

    bitsaveoptions.angle = KAngle / / if I am mistaken, this must not be one - integer

    bitsaveoptions. Frequency = ChanelFrequency; If I am mistaken, this must not be one - integer

    bitsaveoptions. Resolution = ChanelResolution; If I am mistaken, this must not be one - integer

    bitsaveoptions. Shape = BitmapHalfToneType.ROUND; in menu drop-down

    I know that there are different ways to retrieve data from a window how .value, and perhaps others, but I can't seem to extract the data from user input

    Any advice would be greatly appreciated.

    Thank you.

    PS I work with Photoshop CS5

    That's what I have so far.

    = Ruler with millimeters

    app.preferences.rulerUnits = Units.MM;

    var doc = app.activeDocument;

    var layer = doc.activeLayer;

    var dropdownlistArray = new Array(); / / the table of drop-down lists.

    var chosen_action = null;

    var ScreenShapeArray = new Array)

    "Round."

    "Elliptical".

    );

    var WinContent =

    "dialog box {------}.

    orientation: 'column ', \

    alignChildren: ['fill', 'top'],

    preferredSize: 300 (130) and \.

    text: "Export settings"------

    margins: 15,.

    \

    Coordinates: Panel {------}

    orientation: 'column ', \

    text: "Quarters of channels,"------

    margins: 15,.

    alignChildren: 'right ', \

    KChanelX: Group {------}

    St: StaticText {text: 'X:'}, \

    you: EditText {text: '15', characters: 4, justify: 'just'} \

    ST2: StaticText {text: 'mm'}, \

    } \

    KChanelY: Group {------}

    St: StaticText {text: 'Y'}, \

    you: EditText {text: ' 10', characters: 4, justify: 'just'} \

    ST2: StaticText {text: 'mm'}, \

    }\

    }\

    bottomGroup: Group {------}

    cancelButton: button {text: 'Cancel', properties: {name: 'Cancel'}, size: [120,24], alignment: ['right', 'Center']},

    applyButton: button {text: 'Apply', properties: {name: 'ok'}, size: [120,24], alignment: ['right', 'Center']},

    }\

    }"

    = Create object window

    var win = new Window (WinContent);

    = Display window

    Win.Show ();

    var X = parseInt (win. Coordinates.KChanelX.te.selection);

    var Y = parseInt (win. Coordinates.KChanelY.te.selection);

    alert (X); Here I get NaN

    alert (Y); Here I get NaN

    If (typeof (X) = 'undefined' | typeof (Y) = "undefined") {}

    Layer.translate (X + "mm", "-" + Y + "mm");

    } else {}

    Alert ("here"); Always end - up here regardles of canling or accept the default values

    };

    You don't have a selection in an edittext field. Like c.pfaffenbichler said - you get your X and your Y's

    var X = win.Coordinates.KChanelX.te.text;
    

    and so on:

    var X = parseInt(win.Coordinates.KChanelX.te.text); // or
    var X = Number(win.Coordinates.KChanelX.te.text);
    

    Have fun

  • epubcheck is unable to validate the date value ID CS 5

    Hello

    I applied for an application with Apple to distribute my ebook on their iBookstore. In the specifications of Apple he says my 'Must' epub file past epubcheck 1.0.5. I downloaded epubcheck and run the code in the Terminal. There was a minor hyperlink error, which I fixed, however, I can't get rid of the following error.

    epubcheck 1.0.5

    ERROR: Users/Digital/Desktop/XXXX-eBook.epub/OEBPS/content.opf(2): value date "is invalid, YYYY [-MM [-DD]] should

    Thinking it might be a mistake to epubcheck program I have minimum new version...

    epubcheck 1.1

    ERROR: Users/Digital/Desktop/XXXX-eBook.epub/OEBPS/content.opf(2): date value "is not valid. The date must be in the form YYYY, YYYY-MM or YYYY-MM-DD (e.g., "1993", "1993-05", or "1993-05-01"). See http://www.w3.org/TR/NOTE-datetime.

    I did some research and found this fix:

    Troubleshooting metadata 'date' of the epub

    ()http://ebw.co/kbase/creating-epub-from-indesign/after-indesign-export-to-epub/add-metadata( )

    If you see your epub with epubcheck 1.0.5 version or later, you get this error message:

    ERROR: title.epub/OEBPS/content.opf(2): date value '' is not valid, YYYY[-MM[-DD]] expected

    To set the date: in the section of your content.opf file metadata, replace this code

    <dc:date/>

    with this


    <dc:date>2010-06</dc:date>

    This date is an example, of course. Change that to your release date. (If you have not a < dc:date / > tag, simply add the line.)

    So now the question: why does ID CS 5 export the date correctly, and how to open the opf file to insert the corrected code? Is there another way - or I have missed to insert a date somewhere in my User.ID file. If so, where do do this?

    Thank you.

    You are right. An EPUB of CS5 of the victims of the epubcheck file will always report a failure because InDesign does not write metadata date that is necessary.

    Books like "EPUB Straight to the Point" document methods of Elizabeth Castro to solve this in the EPUB file. I hope that the next version of InDesign will be able to generate a success through epubcheck without manual intervention.

  • How to write to an existing file, but replace the data just to the last row

    In my data acquisition system, the columns represent the channels and each represent line analysis of the data for all channels. It is easy to get the file write by add or replace a file exist. But sometimes I want to just overwriting new data in the last line in a file exist. for example: I have DAQ with 10 channels and scan all channels for three times in each race. So my data file will be 10 columns and 3 rows of each run if I put the file "append". next time I want to record the data by "crash" (so a single row of 3 scans) in the same file but just crash to 11th place (so I'm going to keep all the data I had previously). How to do this?

    Hi GPIB Analyzer.

    Why do you need to read the entire file?

    You can:

    -get the size of file with 'Get file size' or 'file info '.

    -set the position of reading with "Set file position.

    You should subtract the file size 1024, define what the position of the file read 1024 bytes. Now analyze this 1 KB of data, find the last line, set the file again, write to the file. No need to read the entire file.

    And as previously stated:

    How Labview should know the last line in the file without looking for him? You can do this research better than a simple brute force attack

  • Capture the date value in the variable descending in BI Publisher?

    Hi all

    can someone help me with the syntax to capture the value of variable with sorting on a date field with in descending order.

    example: I have the Date field.

    JANUARY 1, 2015

    FEBRUARY 1, 2015

    March 1, 2015

    so according to the above date lists sorted in descending order are January 1, 2015. So the syntax I want something like first sort on Date in descending order and it should appear in the variable.

    Thanks in advance,

    Kind regards

    Joes

    It is unclear what you want

    I have the Date field.

    JANUARY 1, 2015

    FEBRUARY 1, 2015

    March 1, 2015

    so according to the above date lists sorted in descending order are January 1, 2015.

    But what's in the xml data?

    you want something to sort and print report

    or

    you want to have the table for sorting or sorted table variable

    ?

    Watch How to compare with the previous value?

    by variable

  • How to validate the Date value in the text column

    Hi all

    I entered DATE value in the element of text field (Char Data Type), now how do I validate, the entered date is valid or not.

    Thanks in advance.

    Well, the easiest would be to make the part of DATE data type.

    Another possibility is to try to convert the value to a date in the WHEN-VALIDATE-POINT-trigger, as

    DECLARE
      dt DATE;
    BEGIN
      dt:=TO_DATE(:BLOCK.ITEM);
      -- if code comes here, the date is valid
    EXCEPTION
      WHEN OTHERS THEN
        -- seems to be no valid date
        MESSAGE('Error');
        RAISE FORM_TRIGGER_FAILURE;
    END;
    

    Published by: Andreas Weiden on 19.12.2010 12:23

  • Tidynetworks replaces the data that I consult. How should we tell?

    When display information catalog or craiglist, TidyNetwork.com and probably others are replacing the area that I'm trying to read/view. It started only recently. I've upgraded to the latest version of Firefox for which is a problem. I also downloaded a software from CNET that appear to download more that I was asking for. I tried to limit the site but it seems to do anyway.

    Try Firefox Safe mode to see if the problem goes away. Firefox Safe mode is a troubleshooting mode that disables some settings and disables most Add-ons (extensions and themes).

    (If you are using an additional theme, place you in default theme.)

    If Firefox is open, you can restart in Mode without failure of Firefox in the Help menu by clicking on the restart with the disabled... modules menu item:

    If Firefox is not running, you can start Firefox in Mode safe mode as follows:

    • On Windows: Hold down the SHIFT key when you open the desktop Firefox or shortcut in the start menu.
    • On Mac: Hold the option key during the startup of Firefox.
    • On Linux: Exit Firefox, go to your Terminal and run firefox-safe-mode
      (you may need to specify the installation path of Firefox for example/usr/lib/firefox)

    Once you get the pop-up, simply select "" boot mode safe. "

    If the issue is not present in Firefox Safe Mode, your problem is probably caused by an extension, and you need to understand that one. Please follow the section Troubleshooting extensions, themes and problems of hardware acceleration to resolve common Firefox problems to find the cause.

    To exit safe mode of Firefox, simply close Firefox and wait a few seconds before you open Firefox for normal use again.

    When find you what is causing your problems, please let us know. This might help others with the same problem.

  • 2d line, numbers and dates. How to take into account the date value when drawing a 2d line?

    Hello. I just encountered a problem when tracing a line 2d with numbers.

    I have the following table:

    Date

    Total

    2015 12-31

    R $150 000,00

    2016 03-19

    R $159 000,00

    2016-03-25

    R$ 166,090.00

    2016-04-01

    R$ 159,250.90

    2016 04-10

    R$ 165,343.41

    But when I create a 2d line chart it does take into account the fact that the 1st line is in December. Numbers do not fit the distance between the data symbols according to the date, but instead just consider the dates like any other label. Which causes the curve final not not to be specific

    Is it possible to make account numbers of dates when tracing of graphics?

    If you don't want the dates to be spaced when you do not have uniform intervals so you can use a cloud of points in 2D instead of a 2D line and turn on the connection line, something like this:

    Note that with the Scatter 2D (unlike with 2D line) you do not want to be defined as a column header in the left column.

    SG

Maybe you are looking for