Formatting output like matrix

Suppose i have following table
sales_data
Salesman varchar2(20)
Product varchar2(15)
quantity number
The table contains sales figure of various salesmen for different products.Suppose there are products like
Butter,cream,powder,chocolate etc.
A particular saleman may not be dealing in a particular product say "salesman 'john' does not have any sales figure for product 'butter' , but he has sales for another product say 'cream' ,
so the table will not contain any row for salesman 'john' and product 'butter'
same way some other salesman may not have sales figure for some other product.
I want the output in matrix form.
colum wise --> products and
row wise ---> salesman
Butter Cream Powder
John 0 4 4
Smith 10 0 1
Paul 2 2 0
Please remember the number of products/salesman is not known, i.e. there may be 20 products , there may be 2 products.
AS the name/number of products is not known , so i can't directly use "decode".
SO how do i go about writting the query for the same.
In addition to it , it should show zero , where no sales figure is found for a paricualr salesman/product.
Please suggest.
Rajeev katyal

what is your collect function?
cant you simply do this?
SQL> with emp as (select 10 as deptno, 'king' as ename from dual union all
  2  select 10 as deptno, 'clark' as ename from dual union all
  3  select 10 as deptno, 'john' as ename from dual union all
  4  select 11 as deptno, 'scott' as ename from dual union all
  5  select 11 as deptno, 'michael' as ename from dual)
  6  select deptno,    max(sys_connect_by_path(ename, ' ' )) scbp
  7         from (select deptno, ename,
  8      row_number() over
  9                (partition by deptno order by ename) rn
10                                  from emp                  
11                      )     start with rn = 1
12                               connect by prior rn = rn-1                         
13                               and prior deptno = deptno                            
14                               group by deptno                               
15                               order by deptno;
    DEPTNO SCBP
        10  clark john king
        11  michael scott
SQL>

Similar Messages

  • Display Report output in Matrix format

    Hi
      I want to display normal report output in somewhat this manner.
    I will have one change requrest number and many transport requests will be assigned to that change request number, and to the transport requests many objects will be assigned.
    I have to display the output in this format:
    Change Request 1  |   Tr No.1 |  Tr No.2 |  Tr No.1 | and so on....
    Obj1
    Obj2
    Obj3
    Change Request 1  |   Tr No.1 |  Tr No.2 |  Tr No.1 | and so on....
    Obj1
    Obj2
    Obj3
    Like this it should go on.
    I have done the coding part, how to display the data in the above format i am not getting any idea, please help me out if you have any ideas.
    Thanks & Regards
    Haritha.

    Hi Vijay,
      First of all thank you for the response.
    I am retrieving the data from different tables and putting all the data in one internal table called i_final. Below is the declaration of that internal table and how i have populated the data to that. I am using control break statements to display the data but the data is coming in the next line.
    Please see the final internal table:
    1. Declaration:
    Data:Begin of i_final occurs 0,
           ccsnr like ysts-ccsnr,
           trkorr like ysts-trkorr,
           obj_name like e071-obj_name,
           check_box(1),
           status LIKE YSCS-STATUS,
          End of i_final.
    2. Populating different internal tables data to this table:
      loop at i_ccno.
        i_final-ccsnr = i_ccno-ccsnr.
        i_final-trkorr = i_ccno-trkorr.
        read table i_status with key trkorr = i_ccno-trkorr.
        if sy-subrc = 0.
          i_final-status = i_status-status.
        endif.
        read table i_obj_name with key trkorr = i_ccno-trkorr.
        if sy-subrc = 0.
          i_final-obj_name = i_obj_name-obj_name.
        endif.
        append i_final.
        clear i_final.
      endloop.
    3. Using Control break statements to display the data.
      sort i_final by ccsnr.
      loop at i_final.
         at new ccsnr.
           write:/2 i_final-ccsnr.
         endat.
           write:20 i_final-trkorr.
           uline.
      endloop.
    But the output is coming like this:
    CHG0003785  HSDK933109
                          HSDK933111
                          HSDK933113
                          HSDK933143
                          HSDK933268
    But i want the output like this:
    CHG0003785 | HSDK933109  |  HSDK933111  |   HSDK933113
    Thanks & Regards
    Haritha.

  • Need output like below mentioned format

    Hi,
    By using below query , iam getting output in the below formate as metioned
    select
    m.year "Year",
    --decode(m.year,like '200%','a') "DG",
    --decode(instr(m.year,'200'),0,Null,'Shallow Water <1000 Feet') "DG",
    --decode(substr('Shallow Water <1000 Feet',1,1),'S','Shallow Water <1000 Feet') "DG1",
    'Shallow Water <1000 Feet' as "Depth Group",
    'Deep Water 1000-5000 Feet' as "Depth Group",
    'Ultra Deep Water > 5000 Feet' as "Depth Group",
    sum(decode(M.FLUID,'O',nvl(M.YEAR_TO_DATE,0)))  "Ytd Oil" ,
    from pden_monthly_prod m,pi_pden_well w,pden p
    ---           Make sure all necessary Table joins are done
    where P.ENTITY=M.ENTITY
    and p.entity = w.entity
    ----        define limitations by column values
    and m.year between 2000 and 2012
    and ((p.entity_type in ('LEASE','WELL') and p.province_state not in ('17','42') and p.pi_situation_cd <> 'F')
    or (p.entity_type = 'ALLOCATED'      and p.province_state in ('17','42')     and p.pi_situation_cd <> 'F')
    or (p.entity_type = 'WELL'              and p.province_state = '42'             and p.pi_situation_cd <> 'F')
    or(p.pi_situation_cd = 'F'))
    and m.fluid in ('O','CN','G','CG','OW','GW','LW','FW') 
    and  nvl(w.water_depth,'0') <1000
    --or w.water_depth between 1000 and 5000
    --or w.water_depth >5000
    --for Federal state only (FOS)
    and P.PI_SITUATION_CD IN ('F','S')
    and p.province_state in ('17','42','60','01')
    group by m.year
                ,'Shallow Water <1000 Feet'
              ,'Deep Water 1000-5000 Feet'
               ,'Ultra Deep Water > 5000 Feet'
    order by m.year
    i am getting output is
    Year    Depth Group       Depth Group      Depth Group Ytd Oil
    2000           a                          b                           c               200
    2001           a                          b                           c               150
    2002           a                          b                           c               110
    2003           a                          b                           c               100
    but i need output like the below format
    Year          Depth Group       Ytd Oil
    2000              a                      200
    2000              b                      200
    2000              c                       200
    2000Total                              600
    2001             a                      150
    2001             b                      150
    2001             c                       150
    2001Total                               450
    2002             a                      110
    2002             b                      110
    2002             c                      110
    2002Total                           330
    2003             a                      100
    2003             b                      100
    2003             c                       100
    2003Total                             300
    could you please help on this ?

    UNPIVOT is equal to:
    with t1 as (select 'a' f1, 1 f2, 2 f3, 3 f4 from dual union all
                select 'b', 4, 5, 6 from dual union all
                select 'c', 7, 8, 9 from dual union all
                select 'd', 10, 11, 12 from dual)
    select a.f1, b.f,
           case b.f
             when 'F2' then a.f2
             when 'F3' then a.f3
             when 'F4' then a.f4
           end res
    from t1 a, (select 'F2' f from dual union all
                select 'F3' f from dual union all
                select 'F4' f from dual) b
    order by 1, 2

  • BI Publisher Rich Text formatted output

    Dear All,
    we are using BIP11g and we want show Rich Text formatted values in PDf output.
    this Rich Text formatted data is  stored in oracle database in CLOB data type feild.
    Here is how it looks.
    {\rtf1\ansi\ansicpg1252\uc0\deff0{\fonttbl
    {\f0\fswiss\fcharset0\fprq2 Arial;}
    {\f1\froman\fcharset2\fprq2 Symbol;}}
    {\colortbl;\red0\green0\blue0;\red255\green255\blue255;\red192\green0\blue0;}
    {\stylesheet{\s0\f0\fs24 [Normal];}{\*\cs10\additive Default Paragraph Font;}}
    {\*\generator TX_RTF32 9.0.311.500;}
    \deftab1134\paperw12240\paperh32767\margl1440\margt1440\margr1440\margb1440\pard\plain\f0\fs20 First name, Last Name [Dec 27 2013 : 03:21:49 PM]\line\line\plain\f0\fs20\b This is a Rich  text \plain\f0\fs20\line\line\plain\f0\fs20\cf3 This is a Rich  text \plain\f0\fs20\line\line\plain\f0\fs20\i This is a Rich  text \plain\f0\fs20\line\line\plain\f0\fs20\ul This is a Rich  text \plain\f0\fs20\line\line\plain\f0\fs36 This is a Rich text \plain\f0\fs20\par\pard\par }
    However actually this is a formatted text and looks like something like below
    This is a Rich  text
    This is a Rich  text
    This is a Rich  text
    This is a Rich  text
    This is a Rich  text
    Currently BIP PDF output produce the text as is from the database.
    How can i convert or process it to get the correct formatted text like above in output.
    Thanks,

    Follow the process outlined in this blog post: https://blogs.oracle.com/xmlpublisher/entry/formatting_html_with_templates
    With Oracle BI Publisher 11g Release 1 (11.1.1.6) release you have support for HTML formatting in data..
    Here is an excerpt from the report designer's guide.
    Support for HTML Formatting in Data
    You can now convert stored XHTML to XSL-FO to display the HTML formatting from your data in your generated report. The XHTML data must be extracted wrapped in a CDATA section. Specific syntax must also be used in the RTF template to render it.
    Thanks,
    Bipuser

  • How to get XML format output from Hyperion Financial Reporting

    Dears,
    We are using Hyperion Financial Reporting to replace FSG in fusion. I found that Hyperion FR report can be exported to html/excel/pdf format. However, I would like the report to export to xml format.It means I only need the xml data source.
    Anyone who knows how to get the xml format output from Hyperion FR, is there any avaiable API?

    I think if you export the report, you will be able to open the .des file in Notepad/Wordpad and see xml content.

  • Properly formatting output to XML

    While the code below would work to format something simple like this:
    <USERS>
    ��<USER>Tim Smith</USER>
    ��<USER>Jack Dempsey</USER>
    ��<USER>John Doe</USER>
    </USERS>
    hd.startDocument();
    AttributesImpl atts = new AttributesImpl();
    // USERS tag.
    hd.startElement("","","USERS",atts);
    for (int i=0;i<id.length;i++)
      atts.clear();
      hd.startElement("","","USER",atts);
      hd.characters(desc.toCharArray(),0,desc[i].length());
    hd.endElement("","","USER");
    hd.endElement("","","USERS");
    hd.endDocument();
    How does one do more complex nesting of xml elements? Such as if I wanted the output to resemble:
    <USERS>
    ��<USER>Tim Smith</USER>
    ��<ADDRESS>14 Main St</ADDRESS>
    ��<CITY>Denver</CITY>
    ��<STATE>CO</STATE>
    </USERS>
    Message was edited by:
    drakester
    Message was edited by:
    drakester

    I don't quit understand your answer. Serializing objects pertains to formatting output?

  • HTML formatted output

    Hi All,
    I have xml source as,
    < SAMPLE_JOB>
    < ORG_DESCRIPTION>>& lt;UL& gt;& lt;LI& gt;& lt;DIV class=MsoNormal style=& quot;MARGIN: 0in 0in 0pt 0.25in& quot;
    & gt;& lt;SPAN style=& quot;FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt& quot;
    & gt;Design and deliver technical training courses to field service engineers, dealer, and customer support
    personnel.& lt;/SPAN& gt;& lt;/DIV& gt;& lt;/LI& gt;& lt;/UL& gt;
    < /ORG_DESCRIPTION>
    < /SAMPLE_JOB>
    when i am previewing in pdf output, i am getting the following for < ORG_DESCRIPTION>
    < UL>< LI>< DIV class=MsoNormal style="MARGIN: 0in 0in 0pt 0.25in">< SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial;
    mso-bidi-font-size: 12.0pt">Design and deliver technical training courses to field service engineers, dealer, and customer support personnel.< /SPAN>< /DIV>< /
    LI>< /UL>
    I want html formatted output. I saw tims blog. But here in my xml source i am not getting direct tags (instead of "< UL>", i am getting xml output as "& lt; UL & gt;"),
    can i also get the xsl equivalent code for tags like UL, LI, DIV, SPAN..
    Please help me.

    Your XML source is sorta odd.
    Where is it coming from?
    Word?
    This is what your xml should look like:
    < SAMPLE_JOB>
    < ORG_DESCRIPTION>Design and deliver technical training courses to field service engineers, dealer, and customer support
    personnel.< /ORG_DESCRIPTION>
    < /SAMPLE_JOB>
    Then you put it in your rtf and preview in pdf and it would look ok.
    The source xml is the problem - all this stuff is wrong or does not belong:
    & lt;/SPAN& gt;& lt;/DIV& gt;& lt;/LI& gt;& lt;/UL& gt;

  • Formatting output to a file? 1.4.2

    I am writing an application that writes result sets from an oracle 10g database query. This output combines both text and numeric.
    I cannot figure out how to justify the output to the right or left or force the fields to use a set amount of space regardless of the width of the text.
    As a result I get an outfile with perfectly lined up columns except for the one or two where instead of a four digit number there is a single number. This change in width shifts all of the output over.
    My customer goes nuts over this, surely there is a way to format output?

    OK, I tried today, I really did, I just can't get my brain around how to do what I need to accomplish so here is a pseudo example and i am hoping someone can shed some light.
    My application is abstract to enable easy addition of instances of automated reports.
    I have a 2d array that contains the column names for a given query. [0] = column name, [1] = space to be applied after results are added to a string buffer.
    So, something like this:
    StringBuffer entireQueryResults = new StringBuffer();
    String[][] QueryColumns = someObject.getQueryColumnNames();
    ResultSet currResults = someObject.getResultset();
    while(currResults.next()){
    String currRow = "";
    for(int i = 0; i < QueryColumns.length; i++){
       currRow = currRow + currResults.getString(QueryColumns[0])+currResults.getString(QueryColumns[i][1])+"\n";
    entireQueryResults.append(currRow);
    Now, the problem is that there are columns in the queries that have digits, these can range from a single val to 5 and while 98% of them are 3 digits there are random instances where they are a single digit or even a -1. When this happens it throws the output way off and makes it difficult to read in the resulting email report.
    How can I incorporate this into a MessageFormat or ChoiceFormat object to make the output pretty ?

  • Initial-page-number not working in RTF format output

    A report has a parameter for the page number to start with. In rtf template below code is present
    <?initial-page-number:xdoxslt:ifelse(P_FIRST_PAGE_NUM!=’’,number(P_FIRST_PAGE_NUM),1)?>
    The report page number starts with the value which we pass in p_first_page_num in PDF format but in rtf format output it always starts with 1.
    Is initial-page-number not supported in RTF format output ? If not then what is the alternative?

    the method u followed is fine as need a page number staring from a specify value which u input.
    @section is only for resetting page number to 1 for every group and for that pdf and ppt will be fine but only for rtf u need to use that ( pressing F9).
    u can use @section and initial page number combined but they give u same output as get now. rtf output wont support it will only reset 1 every time
    What ever u do rtf output wont support initial page number code ..........
    i mentioned that F9 work around to mention that it is the only work around u have upto now to control rtf output with regards to page number.
    Guru's correct me if i am wrong. wait for a day or two if some one from guru's confirm it .
    If u need real confirmation raise an SR oracle will let u know .

  • 1.4.2 - What is the correct way to format output in the java.io.PrintStream

    With Java 1.4.2:
    What is the correct way to format output in the java.io.PrintStream?
    The following is incorrect, even though it is still used in the The JavaTM Tutorial at: http://java.sun.com/docs/books/tutorial/essential/
    System.out.formatThis returns "cannot resolve the method 'format'"
    Any detailed suggestions or information is greatly appreciated.

    The following is incorrect, even though it is still
    used in the The JavaTM Tutorial at:
    http://java.sun.com/docs/books/tutorial/essential/
    The whole format thing has been introduced in 1.5. The tutorial also states it's been "updated to 1.5.".
    That's all I've got to say for I don't know how you can format a PrintWriter, let alone a PrintStream, prior to 1.5. I'm not really sure there is any way. Any "legacy way", that is. There almost certainly are third-party API which achieve similar results.

  • List format output to excel sheet

    Hi,
        I have a report output in list format. I need to download that into excel sheet. Is it possible to download a list format output to excel sheet or shall I need to convert that into grid format?
    Thanks Barnita.

    HI,
    Use Menu path
    List->Save/Send->File path

  • Procedure output like a query in SQL developer?

    Hi!
    How can a PL procedure create output like a query in SQL developer?
    This block
    begin
    for record in (
    select * from my_db
    loop
    dbms_output.put_line(record.name ' ' || record.address)
    end loop;
    end;
    would print a of names and adresses in my_db. However, output sent to a query result window which would be the result of
    select name,address from my_db;
    How could I make the PL block behave the same way as the SQL query, i.e. present its output in a query result window?

    Welcome to the forum!
    Please provide your 4 digit Oracle version (result of SELECT * FROM V$VERSION) wheneve you ask a question.
    Do you mean query a procedure as if it were a table?
    You can do that with a pipelined function. Here is sample code you can test using the SCOTT schema
    -- type to match emp record
    create or replace type emp_scalar_type as object
      (EMPNO NUMBER(4) ,
       ENAME VARCHAR2(10),
       JOB VARCHAR2(9),
       MGR NUMBER(4),
       HIREDATE DATE,
       SAL NUMBER(7, 2),
       COMM NUMBER(7, 2),
       DEPTNO NUMBER(2)
    -- table of emp records
    create or replace type emp_table_type as table of emp_scalar_type
    -- pipelined function
    create or replace function get_emp( p_deptno in number )
      return emp_table_type
      PIPELINED
      as
       TYPE EmpCurTyp IS REF CURSOR RETURN emp%ROWTYPE;
        emp_cv EmpCurTyp;
        l_rec  emp%rowtype;
      begin
        open emp_cv for select * from emp where deptno = p_deptno;
        loop
          fetch emp_cv into l_rec;
          exit when (emp_cv%notfound);
          pipe row( emp_scalar_type( l_rec.empno, LOWER(l_rec.ename),
              l_rec.job, l_rec.mgr, l_rec.hiredate, l_rec.sal, l_rec.comm, l_rec.deptno ) );
        end loop;
        return;
      end;
      /Then you can query the function as if it were a table
    select * from table(get_emp(20))Is that what you were looking for?

  • SQL Developer formatted output

    Hello,
    Could you please help me in getting the formatted output on Oracle sql developer tool, I am not able to find andy options to set
    I have copy paste the result from this tool to excel, I am getting plain text out put, I have more columns and readablity is not there
    Regards,
    Neil
    Edited by: NeilCSE on Apr 6, 2010 6:01 AM

    Hi,
    try this.
    I am on windows
    SQL> spool c:\emp_text.txt;
    Started spooling to c:\emp_text.txt
    SQL> select ename||'|'||empno from emp;
    ENAME||'|'||EMPNO
    JAMES|7900
    FORD|7902
    MILLER|7934
    SMITH|7369
    ALLEN|7499
    WARD|7521
    JONES|7566
    MARTIN|7654
    BLAKE|7698
    CLARK|7782
    SCOTT|7788
    KING|7839
    TURNER|7844
    ADAMS|7876
    14 rows selected
    SQL> spool off;
    Stopped spooling to c:\emp_text.txtThen open in excel as delimeted by |
    Regards,
    Bhushan

  • I am not able to open the html format outputs of SQR

    when I am trying to open SQR html formate output generated by SQR jobs not able to open the html format outputs of SQR getting below error
    but I am able to open pdf and excel formats outputs
    "An error was encountered while attempting to retrieve audit_control_info_frm.htm from the Hyperion Reporting and Analysis - System 9. This error is normally encountered when there is no free disk space on the machine hosting Hyperion Reporting and Analysis - System 9 Application. Hyperion Reporting and Analysis - System 9 Application uses a directory on the hard disk to store temporary files while downloading objects. To rectify this problem, if the disk hosting the Hyperion Reporting and Analysis - System 9 Application temporary directory is nearly full, free up additional disk space. After confirming that there is available disk space, restart ALL Hyperion Reporting and Analysis - System 9 servers. <p>Another possible cause of this error is that you have attempted to embed a "Versioned Collection" into your Personal Page. A "Versioned Collection" is typically created when you publish a document and request the creation of an additional compressed copy. Embedded "Versioned Collections" are not supported by Hyperion Reporting and Analysis - System 9.
    A general error was encountered contacting the server.
    Recommended Action: Contact your corporate technical support."

    Welcome to the Apple community.
    Have you tried restarting your web browser, if that doesn't help you might try emptying your web browser's cache.

  • I want to get mines sign in front of my output like -2453.

    Hi Friends,
    I want to get mines sign in front of my output like -2453.
    is there any function module please help me .
    Regards,
    S.Nehru.

    Hello
    data: str(20),
          num type i.
    num = 10.
    write num to str. shift str left DELETING LEADING space.
    concatenate '-' str into str.
    condense str.
    write str.

Maybe you are looking for

  • Backlight or inverter?

    I have a problem with my 20" Cinema display. it's the older model. About one third of the screen shows a dimmed light. could it be one of the lamps or is it an inverter problem? Is there a quick way to find out what the problem is? thank you Ngr

  • Finder window settings not "sticking" after restart (boot drive only)

    I have an annoying problem with the finder window only on the boot drive not holding whatever settings (list view) I give it after a restart. Odd part of it is that it reverts to some old settings I had at one time in icon view. When I switch back to

  • Out of memory error using Zacpublisher

    Hi, I recently encountered an 'Out of memory exception' whenever I try to publish a package to the server. How can I solve this problem? Thank you. Best regards, Andy Kuek

  • Macjanitor

    About once a month I run macjanitor, but this time when I click on the icon in the dock, nothing happens, there's no sign of it in apps. then I go to spotlight to find where it is and am told " there is no default app " What's gone wrong ? Gerald.

  • OSS note for FM ADDRESS_INTO_PRINTFORM

    Hi All, Can anyone please provide me OSS note numbers available for FM ADDRESS_INTO_PRINTFORM. I want to see OSS notes applicable for printing Countries in address. Regards, Imran Kundan.