Summing Some Rows

How do I Sum some records?
I have a report which shows data something like this:
Customer  Job_No  Vendor  Vendor_Cost  Sale_Amt
12345678  123456  ABCDEF  10.50        123.45
12345678  123456  UVWXYZ  20.92        123.45
87654321  123456  LMNOPQ  12.45        645.23
This happens because of a join in the query.  There was no problem, until we started adding more than one vendor per job. 
The issue is that there is a summary of Sale_Amt.  When we had only a single vendor, the sum was correct.  Now Sum is adding the Sale_Amt even if it's a duplicate (same customer and job_no).
At one point I also had an issue with counting jobs.  I was doing "Count({view1.Job_No})", but was getting three (from the example above).  I learned that I could do DistinctCount() which solved that problem.  Now I need something akin to a DistinctSum().
Currently I suppress the Sale_Amt if it's a duplicate.  Is there anyway to Sum only on non-suppressed fields?
Finally, our reports have the GT values in the report headers so that the customer can see right up front the important values.  I tried a global variable, but it does not allow me to put the result in the report header (well, it allows me to put it there, but it shows 0.00).
I do understand that I could use a subreport to give me the values.  However I would still have the issue with the duplicate sales amounts.  Yes, I could create a seperate query trimming out the vendor infor, but I'd rather not have the added resources that I have to track and grant/restrict permissions.  It ios an option, but the last one.
How do I fix this?
TIA

if you have duplicated values and place them in a group the summary wizard will still sum the dup values
in order to get an accurate value use the following formulas
and if you place the data in the group footer and surpress the header it will still display at the top level
MANUAL RUNNING TOTALS
RESET
The reset formula is placed in a group header report header to reset the summary to zero for each unique record it groups by.
whileprintingrecords;
Numbervar  X := 0;
CALCULATION
The calculation is placed adjacent to the field or formula that is being calculated.
(if there are duplicate values; create a group on the field that is being calculated on. If there are not duplicate records, the detail section is used.
whileprintingrecords;
Numbervar  X := x + ; ( or formula)
DISPLAY
The display is the sum of what is being calculated. This is placed in a group, page or report footer. (generally placed in the group footer of the group header where the reset is placed.)
whileprintingrecords;
Numbervar  X;
X

Similar Messages

  • How to do sum of rows selected in Html_db report

    I want to display sum of rows (based on the values selected in in a particular col)in html_db report

    Hi Tyler;
    Can you please take a look at my post?
    Possible Bug in 1.6 Report Totals?
    I am having some problem with Totals in a report.

  • How can i select some row from multiple row in the same group of data

    I want to select some row from multiple row in the same group of data.
    ColumnA        
    Column B
    1                  OK
    1                   NG
    2                   NG
    2                          NG
    3                          OK
    3                          OK
    I want the row of group of
    ColumnA if  ColumnB contain even 'NG'
    row , select only one row which  Column B = 'NG'
    the result i want = 
    ColumnA         Column B
    1                         NG
    2                   NG
    3                          OK
    Thank you

    That's some awful explanation, but I think this is what you were driving at:
    DECLARE @forumTable TABLE (a INT, b CHAR(2))
    INSERT INTO @forumTable (a, b)
    VALUES
    (1, 'OK'),(1, 'NG'),
    (2, 'NG'),(2, 'NG'),
    (3, 'OK'),(3, 'OK')
    SELECT f.a, MIN(COALESCE(f2.b,f.b)) AS b
    FROM @forumTable f
    LEFT OUTER JOIN @forumTable f2
    ON f.a = f2.a
    AND f.b <> f2.b
    GROUP BY f.a

  • How to Hide some Rows in a List view Web Part using JavaScript ?

    How to Hide some Rows in a List view Web Part using JavaScript ?

     Here is the code that worked for me:
    var Elements = document.querySelectorAll('div[id=WebPartWPQ3] table[class=ms-listviewtable]>tbody tr .ms-vb-lastCell.ms-cellstyle.ms-vb2')
    for(var i=0, n = Elements.length; i < n; i++)
     if(Elements[i].innerHTML=="India")
    Elements[i].parentNode.setAttribute("style","display:none")
    WebPartWPQ3 -> ID of webpart Div
    ms-listviewtable -> class name of table in Div
    ms-vb-lastCell.ms-cellstyle.ms-vb2 -> classname of td to get text

  • How to edit only some rows in ALV

    Hi Experts,
    I have editable ALV. I need to allow edit only for some rows, not generaly all of them.
    Do you have any idea how to do it?
    I use ALV through FM module REUSE_ALV_GRID_DISPLAY.
    Thenks&regards,
    Jirka

    Hi,
    You need to use events. Sample code from sdn.
    TYPE-POOLS:SLIS.
    DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA:IT_EVENTS TYPE SLIS_T_EVENT.
    data: begin of it_chg occurs 0,
          index type sy-tabix,
          end of it_chg.
    DATA:  X_EVENTS    TYPE SLIS_ALV_EVENT.
    DATA: BEGIN OF ITAB OCCURS 0,
          NAME(10) TYPE C,
          ZTERM TYPE C,
          END OF ITAB.
    PERFORM FILL_TABLE.
    loop at itab where zterm = 'A'.
    it_chg-index = sy-tabix + 3. 
    " addition 3 IS FOR FIELD LABELS
    append it_chg.
    clear it_chg.
    endloop.
    DATA:L_POS TYPE I VALUE 1.
    CLEAR: L_POS.
    L_POS = L_POS + 1.
    **fieldcatalog
    X_FIELDCAT-FIELDNAME = 'NAME'.
    X_FIELDCAT-TABNAME = 'ITAB'.
    X_FIELDCAT-COL_POS    = L_POS.
    X_FIELDCAT-OUTPUTLEN = '10'.
    APPEND X_FIELDCAT TO IT_FIELDCAT.
    CLEAR X_FIELDCAT.
    L_POS = L_POS + 1.
    X_FIELDCAT-FIELDNAME = 'ZTERM'.
    X_FIELDCAT-TABNAME = 'ITAB'.
    X_FIELDCAT-COL_POS    = L_POS.
    X_FIELDCAT-OUTPUTLEN = '10'.
    APPEND X_FIELDCAT TO IT_FIELDCAT.
    CLEAR X_FIELDCAT.
    **events
    REFRESH:IT_EVENTS.
    CLEAR:X_EVENTS,IT_EVENTS.
    X_EVENTS-NAME = SLIS_EV_END_OF_LIST.
    X_EVENTS-FORM = 'MODIFY_LIST'.
    APPEND X_EVENTS TO IT_EVENTS.
    CLEAR X_EVENTS.
    END-OF-SELECTION.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM = SY-REPID
          IT_FIELDCAT        = IT_FIELDCAT
          IT_EVENTS          = IT_EVENTS
        TABLES
          T_OUTTAB           = ITAB
        EXCEPTIONS
          PROGRAM_ERROR      = 1
          OTHERS             = 2.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *&      Form FILL_TABLE
          text
    FORM FILL_TABLE.
      ITAB-NAME = 'vijay'.
      ITAB-ZTERM = 'A'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'ABC'.
      ITAB-ZTERM = 'B'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'TEST'.
      ITAB-ZTERM = 'C'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'DILIP'.
      ITAB-ZTERM = 'D'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = '123'.
      ITAB-ZTERM = 'E'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'GEN'.
      ITAB-ZTERM = 'A'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'ALV'.
      ITAB-ZTERM = 'F'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'ALVTEST'.
      ITAB-ZTERM = 'A'.
      APPEND ITAB.
      clear itab.
    ENDFORM.                    "FILL_TABLE
    *&      Form  MODIFY_LIST
          text
    FORM MODIFY_LIST.
    data: l_lines type i.
    describe table itab lines l_lines.
      L_LINES  = L_LINES + 3.
      "because we have 3 lines extra occupied by lables.
      "if we have header,i mean top of page add the no.of lines
      "how many ever top of page have + 3 for labels.
      DO L_LINES TIMES.
        read table it_chg with key INDEX = sy-index.
        if sy-subrc = 0.
    **This code is for reading the out put line
    **and modify accordinlg to our requiremnet.
    **don't chnage this.
          READ LINE SY-INDEX INDEX SY-LSIND.
          IF SY-SUBRC = 0.
            MODIFY LINE SY-INDEX INDEX SY-LSIND
                       FIELD FORMAT ITAB-NAME INPUT.
          ENDIF.
        ENDIF.
      ENDDO.
    ENDFORM.                    "MODIFY_LIST

  • CSV creation through PLSQL having issue with some rows of data

    Hi,
    having issue with in some rows of data which is created by the PLSQL code.
    Issue description
    - 50000 rows of data in my CSV
    -around 20 fileds in a row
    - in some the row (in 50000 rows) some fields (20 rows of data) are returning empty as result but actually my query returns data for these fields
    Hope the issue is clear
    Code given below
    CREATE OR REPLACE FUNCTION TSC_OM_AUDIT(ERR_DESC IN OUT VARCHAR2,
    WEB_FILE_URL IN OUT VARCHAR2 ) RETURN BOOLEAN IS
    --Variable Declaration
    L_buff_line VARCHAR2(500);
    L_hdr_str VARCHAR2(32700);
    L_selling_UOM VARCHAR2(5);
    L_prim_bar_code VARCHAR2(30);
    L_status_pri_bar VARCHAR2(2);
    L_multpl_bar_exist VARCHAR2(2);
    L_multpl_prim_bar_exist VARCHAR2(2);
    L_prim_simp_pack VARCHAR2(30);
    L_staus_prim_simp_pack VARCHAR2(2);
    L_mupl_prim_pack_exist VARCHAR2(2);
    L_prim_supp_prim_simpl_pack VARCHAR2(15);
    L_prim_sim_supp_to_TPNB VARCHAR2(2);
    L_sel1 VARCHAR2(200);
    L_sel2 VARCHAR2(200);
    L_sel3 VARCHAR2(200);
    L_item_till_desc VARCHAR2(200);
    L_lengh1 VARCHAR2(200);
    L_width1 VARCHAR2(200);
    L_height1 VARCHAR2(200);
    L_lengh2 VARCHAR2(200);
    L_width2 VARCHAR2(200);
    L_height2 VARCHAR2(200);
    L_lengh3 VARCHAR2(200);
    L_width3 VARCHAR2(200);
    L_height3 VARCHAR2(200);
    --Item type
    CURSOR C_ITEM is
    select im.item L_item,
    im.status L_status,
    im.item_desc L_item_desc,
    'Regular' L_item_type,
    im.dept L_dept,
    im.class L_class,
    im.subclass L_subclass,
    'N/A' L_CW_item_order_type,
    'N/A' L_CW_item_sale_type,
    im.standard_uom L_standard_uom,
    NULL L_selling_uom,
    im.tsl_base_item L_tsl_base_item
    from item_master im
    where im.item_number_type='TPNB'
    -- and im.last_update_id = 'DATALOAD'
    -- and im.create_datetime>=to_timestamp('2010-11-05 10:57:47','YYYY-MM-DD HH24:MI:SS')
    and im.sellable_ind='Y'
    and im.orderable_ind='Y'
    and im.inventory_ind='Y'
    and im.item_xform_ind='N'
    and im.catch_weight_ind='N'
    and rownum<10;
    --order by im.item asc;
    Cursor C_Selling_UOM (tpnb varchar2) is
    select selling_uom
    from rpm_item_zone_price
    where item = tpnb;
    Cursor C_prim_bar (tpnb varchar2) is
    select item,
    status
    from item_master iem
    where item_parent = tpnb
    and iem.primary_ref_item_ind ='Y';
    Cursor C_multi_bar_exit (tpnb varchar2) is
    select count(*)
    from item_master iem
    where item_parent = tpnb;
    Cursor C_multpl_prim_bar_exist (tpnb varchar2) is
    select count(*)
    from item_master
    where item_parent = tpnb
    and primary_ref_item_ind ='Y';
    Cursor C_staus_prim_simp_pack (tpnb varchar2) is
    select piem.pack_no,
    iem.status
    from item_master iem,
    packitem piem
    where piem.item = tpnb
    and piem.pack_no = iem.item
    and iem.tsl_prim_pack_ind ='Y';
    Cursor C_multpl_prim_pack_exist (tpnb varchar2) is
    select count(*)
    from item_master iem,
    packitem piem
    where piem.item = tpnb
    and piem.pack_no = iem.item
    and iem.tsl_prim_pack_ind ='Y';
    Cursor C_prim_supp_prim_simpl_pack (tpnd varchar2) is
    select supplier
    from item_supplier
    where item = tpnd
    and primary_supp_ind= 'Y';
    Cursor C_prim_sim_supp_to_TPNB (tpnb varchar2,suppl number) is
    select 'Y'
    from item_supplier
    where item = tpnb
    and supplier = suppl;
    Cursor C_item_descretion_SEL (tpnb varchar2) is
    select sel_desc_1,
    sel_desc_2,
    sel_desc_3
    from tsl_itemdesc_sel
    where item =tpnb;
    Cursor C_item_till_descretion (tpnb varchar2) is
    select till_desc
    from tsl_itemdesc_till
    where item=tpnb;
    Cursor C_EA (tpnb varchar2,suppl number) is
    select length,
    width,
    height
    from item_supp_country_dim
    where item= tpnb
    and supplier = suppl
    and dim_object='EA';
    Cursor C_CS (tpnb varchar2,suppl number) is
    select length,
    width,
    height
    from item_supp_country_dim
    where item= tpnb
    and supplier = suppl
    and dim_object='TYUNIT';
    Cursor C_TRAY (tpnb varchar2,suppl number) is
    select length,
    width,
    height
    from item_supp_country_dim
    where item= tpnb
    and supplier = suppl
    and dim_object='TRAY';
    BEGIN
    --INITIAL
    WEB_FILE_URL := TSC_RPT_GRS_EXL_GEN.WEB_URL||TSC_RPT_GRS_EXL_GEN.OPEN_FILE;
    TSC_RPT_GRS_EXL_GEN.put_line('Poland Production Cutover');
    TSC_RPT_GRS_EXL_GEN.skip_line;
    l_hdr_str := 'L_item_TPNB,L_status,L_item_desc,L_item_type,L_section,L_class,L_subclass,L_cw_order_type,L_cw_sale_type,L_std_UOM,L_selling_UOM,'||
    'L_base_item,L_prim_bar_code,L_status_pri_bar,L_multpl_bar_exist,L_multpl_prim_bar_exist,L_prim_simple_pack,L_staus_prim_simp_pack,L_mupl_prim_pack_exist,'||
    'L_prim_supp_prim_simpl_pack,L_prim_sim_supp_to_TPNB,L_sel1,L_sel2,L_sel3,L_item_till_desc,L_lengh1,L_width1,L_height1,L_lengh2,L_width2,L_height2,L_lengh3,L_width3,L_height3';
    l_hdr_str := TSC_RPT_GRS_EXL_GEN.CONVERT_SEPARATOR(l_hdr_str);
    TSC_RPT_GRS_EXL_GEN.put_line(l_hdr_str);
    for rec_c_item in C_ITEM
    LOOP
    open C_Selling_UOM (rec_c_item.L_item);
    fetch C_Selling_UOM into L_selling_UOM;
    close C_Selling_UOM;
    open C_prim_bar (rec_c_item.L_item);
    fetch C_prim_bar into L_prim_bar_code,L_status_pri_bar;
    close C_prim_bar;
    open C_multi_bar_exit (rec_c_item.L_item);
    fetch C_multi_bar_exit into L_multpl_bar_exist;
    close C_multi_bar_exit;
    IF to_number(trim(L_multpl_bar_exist)) > 1 THEN
    L_multpl_bar_exist:='Y';
    ELSE
    L_multpl_bar_exist:='N';
    END IF;
    open C_multpl_prim_bar_exist (rec_c_item.L_item);
    fetch C_multpl_prim_bar_exist into L_multpl_prim_bar_exist;
    close C_multpl_prim_bar_exist;
    IF to_number(trim(L_multpl_prim_bar_exist)) > 1 THEN
    L_multpl_prim_bar_exist:='Y';
    ELSE
    L_multpl_prim_bar_exist:='N';
    END IF;
    open C_staus_prim_simp_pack (rec_c_item.L_item);
    fetch C_staus_prim_simp_pack into L_prim_simp_pack,L_staus_prim_simp_pack;
    close C_staus_prim_simp_pack;
    open C_multpl_prim_pack_exist (rec_c_item.L_item);
    fetch C_multpl_prim_pack_exist into L_mupl_prim_pack_exist;
    close C_multpl_prim_pack_exist ;
    IF to_number(trim(L_mupl_prim_pack_exist)) > 1 THEN
    L_mupl_prim_pack_exist:='Y';
    ELSE
    L_mupl_prim_pack_exist:='N';
    END IF;
    open C_prim_supp_prim_simpl_pack (trim(L_prim_simp_pack));
    fetch C_prim_supp_prim_simpl_pack into L_prim_supp_prim_simpl_pack;
    close C_prim_supp_prim_simpl_pack ;
    open C_prim_sim_supp_to_TPNB (rec_c_item.L_item,to_number(trim(L_prim_supp_prim_simpl_pack)));
    fetch C_prim_sim_supp_to_TPNB into L_prim_sim_supp_to_TPNB;
    close C_prim_sim_supp_to_TPNB ;
    open C_item_descretion_SEL (rec_c_item.L_item);
    fetch C_item_descretion_SEL into L_sel1,L_sel2,L_sel3;
    close C_item_descretion_SEL ;
    open C_item_till_descretion (rec_c_item.L_item);
    fetch C_item_till_descretion into L_item_till_desc;
    close C_item_till_descretion ;
    open C_EA (rec_c_item.L_item,to_number(trim(L_prim_supp_prim_simpl_pack)));
    fetch C_EA into L_lengh1,L_width1,L_height1;
    close C_EA ;
    open C_CS (rec_c_item.L_item,to_number(trim(L_prim_supp_prim_simpl_pack)));
    fetch C_CS into L_lengh2,L_width2,L_height2;
    close C_CS ;
    open C_TRAY (rec_c_item.L_item,to_number(trim(L_prim_supp_prim_simpl_pack)));
    fetch C_TRAY into L_lengh3,L_width3,L_height3;
    close C_TRAY ;
    L_buff_line := TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_item), TRUE)||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_status))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_item_desc))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_item_type))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_dept))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_class))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_subclass))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_CW_item_order_type))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_CW_item_sale_type))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_standard_uom))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_selling_UOM)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(rec_c_item.L_tsl_base_item))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_prim_bar_code)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_status_pri_bar)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_multpl_bar_exist)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_multpl_prim_bar_exist)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_prim_simp_pack)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_staus_prim_simp_pack)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_mupl_prim_pack_exist)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_prim_supp_prim_simpl_pack)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_prim_sim_supp_to_TPNB)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_sel1)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_sel2)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_sel3)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_item_till_desc)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_lengh1)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_width1)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_height1)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_lengh2)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_width2)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_height2)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_lengh3)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_width3)))||
    TSC_RPT_GRS_EXL_GEN.PAD_COMMA(to_char(trim(L_height3)));
    TSC_RPT_GRS_EXL_GEN.PUT_LINE(L_buff_line);
    L_selling_UOM :=NULL;
    L_prim_bar_code :=NULL;
    L_status_pri_bar :=NULL;
    L_multpl_bar_exist :=NULL;
    L_multpl_prim_bar_exist :=NULL;
    L_prim_simp_pack :=NULL;
    L_staus_prim_simp_pack :=NULL;
    L_mupl_prim_pack_exist :=NULL;
    L_prim_supp_prim_simpl_pack :=NULL;
    L_prim_sim_supp_to_TPNB :=NULL;
    L_sel1 :=NULL;
    L_sel2 :=NULL;
    L_sel3 :=NULL;
    L_item_till_desc :=NULL;
    L_lengh1 :=NULL;
    L_width1 :=NULL;
    L_height1 :=NULL;
    L_lengh2 :=NULL;
    L_width2 :=NULL;
    L_height2 :=NULL;
    L_lengh3 :=NULL;
    L_width3 :=NULL;
    L_height3 :=NULL;
    END LOOP;
    TSC_RPT_GRS_EXL_GEN.close_file;
    return TRUE;
    EXCEPTION WHEN OTHERS THEN
    ERR_DESC := '['||SQLCODE||']-'||SUBSTR(SQLERRM,1,200);
    return FALSE;
    END TSC_OM_AUDIT;
    Please suggest something on this
    Regards,
    Shamed H

    Hi Shamid,
    This forum is only for questions regarding the SQL Developer tool. Please post in Forum Home > Database > SQL and PL/SQL:
    PL/SQL
    Regards,
    Gary
    SQL Developer Team

  • How to hide edit link for  some rows in report? (according to value of col)

    Helo,
    How to hide edit link for some rows in report? (according to value of column)
    regards
    siyavuş

    Hi siyavuş
    You can do this by taking the edit link off the report and putting it into your report SQL.
    Use something like Select CASE WHEN (condition)  THEN
    'Put your edit link in here as an html Anchor like<a href="(target)">Edit</a>'
    ELSE
    tt.value
    END edit_link
    FROM test_table tthope it helps,
    Gus..
    You can reward this reply (and those of other helpers) by marking it as either Helpful or Correct.
    This allows forum users to quickly find the correct answer.
    ;-)

  • SUM two ROWS in the SAME Table

    Hi,
    I have a problem with this issue. I want to sum two rows from the same table, but I don´t know how to do that. I tried to do it with CTE, but always I get the same error "Ambiguous". I would like to ask you, if there is other manner to get that
    data (sum two rows) and if it is possible to see examples about it.
    Thank you  in advance

    Hi Vaibhav,
     I leave you my scrip:
    USE Modelling
    GO
    --TABLE Aer_Lingus_Income_Statement
    IF OBJECT_ID('Aer_Lingus_Income_Statement') IS NOT NULL
    DROP TABLE Aer_Lingus_Income_Statement
    GO
    CREATE TABLE Aer_Lingus_Income_Statement
    ID [nvarchar](255) NOT NULL,
    Name_Account [nvarchar](255) NULL,
    Company [nvarchar](255) NULL,
    Level0_Account [nvarchar](255) NULL,
    Level1_Account [nvarchar](255) NULL,
    Level2_Account [nvarchar](255) NULL,
    Level3_Account [nvarchar](255) NULL,
    Level4_Account [nvarchar](255) NULL,
    Level5_Account [nvarchar](255) NULL,
    Level6_Account [nvarchar](255) NULL,
    Level7_Account [nvarchar](255) NULL,
    Level8_Account [nvarchar](255) NULL,
    Year_2006 decimal (15,2) null,
    Year_2007 decimal (15,2) null,
    Year_2008 decimal (15,2) null,
    Year_2009 decimal (15,2) null,
    Year_2010 decimal (15,2) null,
    Year_2011 decimal (15,2) null,
    Year_2012 decimal (15,2) null,
    Year_2013 decimal (15,2) null,
    GO
    ALTER TABLE Aer_Lingus_Income_Statement
    ADD CONSTRAINT PK_Aer_Lingus_Income_Statement PRIMARY KEY (ID)
    GO
    INSERT INTO Aer_Lingus_Income_Statement
    SELECT *
    FROM Aer_Lingus_data_Income
    IF OBJECT_ID('Aer_Lingus_Income_Statement_Historic') IS NOT NULL
    DROP VIEW Aer_Lingus_Income_Statement_Historic
    GO
    CREATE VIEW Aer_Lingus_Income_Statement_Historic
    as
    Select Level0_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Level0_Account ='Revenue'
    Group by Level0_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account= 'Passenger revenue' and Level0_Account ='Revenue'
    Group by Name_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account= 'Ancillary revenue' and Level0_Account ='Revenue'
    Group by Name_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account= 'Other revenue' and Level0_Account ='Revenue'
    Group by Name_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account= 'Cargo revenue' and Level0_Account ='Revenue'
    Group by Name_Account
    UNION ALL
    Select Level0_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Level0_Account ='Operating expenses'
    Group by Level0_Account
    UNION ALL
    Select Level1_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Level1_Account ='Staff costs' and Level0_Account ='Operating expenses'
    Group by Level1_Account
    UNION ALL
    Select Level1_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Level1_Account ='Depreciation, amortisation and impairment' and Level0_Account ='Operating expenses'
    Group by Level1_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account ='Aircraft operating lease costs' and Level0_Account ='Operating expenses'
    Group by Name_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account ='Fuel and oil costs' and Level0_Account ='Operating expenses'
    Group by Name_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account ='Maintenance expenses' and Level0_Account ='Operating expenses'
    Group by Name_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account ='Airport charges' and Level0_Account ='Operating expenses'
    Group by Name_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account ='En-route charges' and Level0_Account ='Operating expenses'
    Group by Name_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account ='Distribution costs' and Level0_Account ='Operating expenses'
    Group by Name_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account ='Ground operations, catering and other operating costs' and Level0_Account ='Operating expenses'
    Group by Name_Account
    UNION ALL
    Select Level1_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Level1_Account ='Other (gains)/losses - net' and Level0_Account ='Operating expenses'
    Group by Level1_Account
    UNION ALL
    Select Name_Account , sum(Year_2006) as Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    Where Name_Account ='Employee profit share' and Level0_Account ='Operating expenses'
    Group by Name_Account
    GO
    WITH sumasRevenue
    AS (
    SELECT Name_Account, ID
    , sum(Year_2006) AS Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    WHERE Level0_Account = 'Revenue'
    GROUP BY Name_Account, ID
    WITH ROLLUP
    , total
    AS (
    SELECT Y2006,Y2007 ,Y2008,Y2009 ,Y2010 ,Y2011 ,Y2012 ,Y2013
    FROM sumasRevenue
    WHERE Name_Account IS NULL
    sumasOperatingExpensive
    AS (
    SELECT Name_Account, ID
    , sum(Year_2006) AS Y2006, sum (Year_2007) as Y2007, sum (Year_2008) as Y2008, sum (Year_2009) as Y2009, sum (Year_2010) as Y2010,
    sum (Year_2011) as Y2011, sum (Year_2012) as Y2012, sum (Year_2013) as Y2013
    FROM Aer_Lingus_data_Income
    WHERE Level0_Account = 'Operating expenses'
    GROUP BY Name_Account, ID
    WITH ROLLUP
    , total1
    AS (
    SELECT Y2006,Y2007 ,Y2008,Y2009 ,Y2010 ,Y2011 ,Y2012 ,Y2013
    FROM sumasOperatingExpensive
    WHERE Name_Account IS NULL
    SELECT distinct ID , s.Name_Account,
    (s.Y2006* 1.0 - t.Y2006) AS [V2006] ,(s.Y2007* 1.0 -T.Y2007 ) as [V2007] , (s.Y2008* 1.0 /T.Y2008 ) as [V2008],(s.Y2009* 1.0 /T.Y2009 ) as [V2009],
    (s.Y2010* 1.0 /T.Y2010 ) as [V2010],(s.Y2011* 1.0 /T.Y2011 ) as [V2011],(s.Y2012* 1.0 /T.Y2012 ) as [V2012],(s.Y2013* 1.0 /T.Y2013 ) as [V2013]
    FROM sumasRevenue AS s , sumasOperatingExpensive AS t
    Where ID IS NOT NULL
    UNION ALL
    SELECT distinct ID,COALESCE(s.Name_Account,'NON CURRENT ASSETS') AS Name_Account ,
    sum (s.Y2006* 1.0 / t.Y2006) as V2006,sum (s.Y2007* 1.0 / t.Y2007) as V2007,sum (s.Y2008* 1.0/ t.Y2008) as V2008,sum (s.Y2009* 1.0/ t.Y2009) as V2009,sum (s.Y2010* 1.0/ t.Y2010) as V2010,
    sum (s.Y2011* 1.0 / t.Y2011) as V2011,sum (s.Y2012* 1.0/ t.Y2012) as V2012,sum (s.Y2013* 1.0/ t.Y2013) as V2013
    FROM sumasRevenue as s , sumasOperatingExpensive as t
    Where ID IS NULL and Name_Account IS NULL
    GROUP BY Name_Account, ID
    WITH ROLLUP
    select *
    from Aer_Lingus_Income_Statement_Historic
    Thank you in advance

  • How to Update some column values in some rows in an advanced table

    Hi Gurus,
    Can any body help on this issue.
    I am having a results table which is showing all the queried parties data queried in a seeded page in OCO module.
    Lets assume the table contains 10 rows with the below columns
    Party Name, Registry ID, Address Country, Match Percentage, Certification Level, Certification Reason, Internal Indicator, Status .
    Certification Level, Certification Reason and Internal Indicator are the dropdowns.
    The user want to update some of these fields values for some rows randomly.
    After doing this if he click on Save button, Only thosed changed rows need to get update using a Custom Procedure.
    But here all the rows irrespective of the change getting updated.
    So  how to capture the modified rows.
    Appreciate any inputs..
    Thanks
    Palepu
    Edited by: Palepu on 9 Aug, 2012 4:25 PM

    Not sure if you got the answer. You need to capture the row which got changed using the below and get the column value using the getAttribute method. This works for single selection row, if it is multi selection then you will have to loop through all selected rows and find the VO attribute value.
    String rowReference = pageContext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
    Row currentRow = am.findRowByRef(rowReference);
    String param1= (String)currentRow.getAttribute("VOAttribute");
    Let me know if there are any issues.
    Thanks
    Shree

  • Expdp with some rows

    Hi,
    maybe execute the expdp for some rows (for example 100) for all tables in one schema?
    I know that I can execute this for all rows, but not for a subset of rows.
    many thanks to all.
    Lain

    Lain wrote:
    you mean this?
    QUERY                 Predicate clause used to export a subset of a table.I want export all the first 100rows of each table in the schema USERS
    many thanksYes,
    And your expdp query should be like
    expdp username/password schemas=<schema> directory=temp_dir query=\"where rownum \< 1 \"Regards
    Anurag

  • Table -- sum of rows and columns?

    I was wondering if anyone has a suggestion to how I can easily generate the sum of each row and column in a two dimensional table? This is what I've got so far:
    public class SumRowsColumns {
        public static void main (String[] args) {
         int[][] table = new int[2][3];
         // gets the values
         for (int i = 0; i < table.length;
              i++) {
             for (int j = 0; j < table.length;
              j++)
              table[i][j] = Terminal.lesInt(); // Terminal is a class that can read the terminal input
         System.out.println("\t\t\t\tSum:");
         // prints the values
         for (int i = 0; i < table.length;
         i++) {
         for (int j = 0; j < table[i].length;
              j++) {
              System.out.print("\t" + table[i][j]);
         System.out.println();
         // sum of first column
         int sumColumn = 0;
         for (int i = 0; i < table.length;
         i++) {
              sumColumn += table[i][0];
         System.out.print("\nSum:\t");
         System.out.println(sumColumn);
    Example of output:
    1
    2
    3
    4
    5
    6
                                    Sum:
            1       2       3
            4       5       6
    Sum:    5This is the output I'd like:
    1
    2
    3
    4
    5
    6
                                    Sum:
            1       2       3     6
            4       5       6     15
    Sum:    5     7     9One way of getting the sum for all the columns is to make a for-loop for each one of them, but there has to be a better way. I could apply the same hack to get the sum of the rows, but I still wouldn't know how to get the layout I want.

    After many hours of frustration I finally solved it (for-loops can be confusing, man) after I got a hint from a post in another forum: http://www.linuxquestions.org/questions/showthread.php?postid=624021#post624021
    A more logical name to the integers actually helped a lot too. And here's the final product:
    public class SumRowsColumns {
        public static void main (String[] args) {
         int[][] table = new int[2][3];
         // gets the values
         for (int row = 0; row < table.length;
              row++) {
             for (int col = 0; col < table[row].length;
               col++)
              table[row][col] = Terminal.lesInt(); // Terminal is a class that reads the terminal input
         System.out.println("\t\t\t\tSum:");
         // prints the values and sum of each row
         for (int row = 0; row < table.length;
              row++) {
             for (int col = 0; col < table[row].length;
               col++) {
              System.out.print("\t" + table[row][col]);
             int sum = 0;
             for (int col = 0; col < table[0].length;
               col++) {
              sum += table[row][col];
             System.out.println("\t" + sum);
         System.out.print("\nSum:");
         // sum of each column
         for (int col = 0; col < table[0].length; // table[0].length is the length of row 0 (the number of columns)
              col++) {
             int sum = 0;
             for (int row = 0; row < table.length; // table.length is the number of rows
               row++) {
              sum += table[row][col];
             System.out.print("\t" + sum);
         System.out.println();
    }

  • Restricting rights to modify only some rows

    Hi,
    I just discovered HTML DB and played around with it on myhtmldb.com because htmldb.oracle.com is down for some reason.
    Is there a way to restrict write access to some rows of a table for each user? For example everybody can see the whole table but you can only add/delete/modify the rows where your id/company name/.. is present in one column.
    Cheers
    Mathias

    Hi,
    I just discovered HTML DB and played around with it
    on myhtmldb.com because htmldb.oracle.com is down for
    some reason.
    Is there a way to restrict write access to some rows
    of a table for each user? For example everybody can
    see the whole table but you can only
    add/delete/modify the rows where your id/company
    name/.. is present in one column.
    Cheers
    Mathias

  • How to customize some rows default selected in tableSelectMany

    Hi all,
    How to set some rows default selected in tableSelectMany
    Thanks
    Jayson

    If you bind table to managed bean attribute using binding property you may preselect some rows in getter of that attribute.
    private RichTable _t;
    public RichTable get_t() {
        //select few rows here or all...
        _t.getSelectedRowKeys().addAll();
        return _t;
    {code}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Landed Cost Error "Some rows could not be calculated weight data is missin

    Friends,
       I am facing an error "Some rows could not be caluculated weight data is missing [Message 922-7], I have defined the weight in Item Master in Both Purchaing and Sales Data tab.
    Faisal Baloch

    This message is not related to any weight factors for your item master.  They refer to every row in your document must have a weight factor, not physical weight.
    Thanks,
    Gordon

  • Randomly selecting some rows from the database table

    Hi can some one help me in selecting some rows from a database table which has around 90,000 rows.
    Thanks.

    One thing you might try is the "sample" clause if you have 8i which is supposed to return a random percentage of the table. Say for example, you have a sequence number on your table as the pkey. Then you might try:
    select * from <table_name> where pkey in(select pkey from <table_name> sample(10));
    This should give you a random 10 percent of the rows in the table but I tried this once and the results seemed unpredictable. For example it returned a different number of rows each time even though the number of rows in the table didn't change.
    Hope this works for you.

Maybe you are looking for

  • Inserting existing page from one document to another

    Hi, I have 2 documents. The first one is 4 pages and all pages are 8.5" x 11". The second document is 1 page and is 8.5" x 14". Is it possible to insert the 8.5" x 14" page from the second document into the first document, but make it the 4th page? (

  • My Skype number is calling people

    Hi, I got many complaints that my number is bothering people repeatedly for the last 2 weeks. Is there something I can do? 

  • Charging Ipod: need help!

    Hey im leaving going to my grandparetns house soon for about 10 days. I know that my battery will not last that long because i use it alot. I'm wondering if i can charge my ipod on there computer. They dont have itunes, and im wondering if that will

  • Constantly getting panic crashes

    Hey everybody, i'm constantly getting panic crashes since march. last year i changed the standard HD to a samsung SSD and everything was working fine for almost 10 month. after i got several crashes i changes the standard RAM and made a clean reinsta

  • Different "access-list outside_cryptomap" for every VPN?

    Hi, Just for my understanding. I have one VPN connected to my Cisco ASA 5520, when I tried to add another VPN the I have to create a 2nd cryptomap, can I not create a group so there is one crypto map? Currently I have: access-list outside_cryptomap_1