Sorting by date in columns cross tab report.

Hi all,
I am working on a cross tab report in BI Publisher in which columns are generated dynamically in a pivot table depicting months as Jan 09 , Feb 09.... but data type is char.When displayed in pdf, columns are generated sorted alphabetically.
How can I have them sorted by date in final pdf?
or
How can I stop the columns being sorted in pivot table at template level?
Thanks.
Edited by: user9061488 on Jul 21, 2010 1:13 AM

You need to get a extra column in the query just for sorting purpose, which will have month number in it or YYYYMMDD. format, so that , it can be used in only for sorting.
with JAN 09, FEB 09 , we can do it, but it will be little complex

Similar Messages

  • Cross-Tab Report Custom Date

    Hello everyone,
    I need some help with changing the date interval in Cross-Tab Reports.
    I ran the report annually; however, the dates I want to run is really specific.
    How can I change the date intervals? Is this possible?
    Date below are 01/01/12 - 12/31/12, 01/01/13 - 12/31/13, 01/01/14 - 05/28/14. Instead of this I want to run the report 05/28/12 - 05/28/13.
    05/29/13 - 05/28/14

    Ido,
    Thanks for your reply.
    Is this how the formula should look like?
    If CDate({ORDR.DocDate}) >= Cdate("05/28/2012") and Date({ORDR.DocDate}) <= Cdate(
    "05/27/2013") then
    {RDR1.Quantity}

  • Unable to get cells for the columns which have no data in cross-tab report

    Hi friends,
    I am developing a cross-tab report.
    Let's take an example to explain the problem.
    Here is the XML file i am using
      <?xml version="1.0" ?>
    - <!--  Generated by Oracle Reports version 6.0.8.11.3
      -->
    - <MODULE1>
    - <LIST_G_SCHEMECODE>
    - <G_SCHEMECODE>
      <SCHEMECODE>171091</SCHEMECODE>
      <AMOUNT>0</AMOUNT>
      <ASSET_TYPE>Govt Guarantee</ASSET_TYPE>
      <MARGIN>0</MARGIN>
      <AMOUNT_SECURED>0</AMOUNT_SECURED>
      <VALUE_OF_SECURITY>0</VALUE_OF_SECURITY>
      </G_SCHEMECODE>
    - <G_SCHEMECODE>
      <SCHEMECODE>171091</SCHEMECODE>
      <AMOUNT>0</AMOUNT>
      <ASSET_TYPE>Loans To Govt</ASSET_TYPE>
      <MARGIN>0</MARGIN>
      <AMOUNT_SECURED>0</AMOUNT_SECURED>
      <VALUE_OF_SECURITY>0</VALUE_OF_SECURITY>
      </G_SCHEMECODE>
    - <G_SCHEMECODE>
      <SCHEMECODE>171093</SCHEMECODE>
      <AMOUNT>0</AMOUNT>
      <ASSET_TYPE>Govt Guarantee</ASSET_TYPE>
      <MARGIN>120</MARGIN>
      <AMOUNT_SECURED>0</AMOUNT_SECURED>
      <VALUE_OF_SECURITY>0</VALUE_OF_SECURITY>
      </G_SCHEMECODE>
    - <G_SCHEMECODE>
      <SCHEMECODE>171093</SCHEMECODE>
      <AMOUNT>0</AMOUNT>
      <ASSET_TYPE>Loans To Govt</ASSET_TYPE>
      <MARGIN>0</MARGIN>
      <AMOUNT_SECURED>0</AMOUNT_SECURED>
      <VALUE_OF_SECURITY>0</VALUE_OF_SECURITY>
      </G_SCHEMECODE>
    - <G_SCHEMECODE>
      <SCHEMECODE>*171095*</SCHEMECODE>
      <AMOUNT>0</AMOUNT>
      <ASSET_TYPE>Govt Guarantee</ASSET_TYPE>
      <MARGIN>100</MARGIN>
      <AMOUNT_SECURED>0</AMOUNT_SECURED>
      <VALUE_OF_SECURITY>0</VALUE_OF_SECURITY>
      </G_SCHEMECODE>
      </LIST_G_SCHEMECODE>
      </MODULE1>Now I want SCHEMECODE in rows and ASSET_TYPE in columns.
    And the each ASSET_TYPE column is to be divided into 2 sub-columns (MARGIN,AMOUNT_SECURED).
    I am able to achevie this.
    The problem is that ,for the schemecode 171095, since there is no data for ASSET_TYPE "Loans To Govt",no cells are generated for this SCHEMECODE and ASSET TYPE.
    But the requirement is to generate blank cells.
    If needed i will send the template at xml files also.

    try this, there must be simpler one i guess...
    1. take a form field, and make its type as number. Paste the below one <?xdoxslt:set_variable($_XDOCTX,'v1',2)?>
    2. now take a table with as below,
    A l B |
    C l D1 l D2 l E1 l E2 l
    observe that i. A, C are in one column
    ii. cell B is on top of D1, D2
    iii. we have no cell on top of E1 and E2 cells
    iv. 'l' represents the wall of the cell :)
    A: <?horizontal-break-table:1?> SCHEMECODE
    B: <?for-each-group@column:G_SCHEMECODE;ASSET_TYPE?> <?ASSET_TYPE?> <?end for-each?>
    C: <?for-each-group:G_SCHEMECODE;SCHEMECODE?> <?xdoxslt:set_variable($_XDOCTX,'v1',2)?> <?SCHEMECODE?>
    D1: <?for-each-group@cell:current-group();ASSET_TYPE?> <?MARGIN?> <?xdoxslt:set_variable($_XDOCTX,'v1',xdoxslt:get_variable($_XDOCTX,'v1')-1)?>
    D2: <?AMOUNT_SECURED?> <?end for-each?> <?end for-each?>
    E1: <?for-each@column:xdoxslt:foreach_number($_XDOCTX,1,xdoxslt:get_variable($_XDOCTX,'v1'),1)?>
    E2: <?END FOR-EACH?>
    3. If you are confused gimme your email id, i will pass the template. But you should add credits to me.. :)

  • Sort in Cross-Tab report

    I have a cross-tab report that lists dates as headers and employees as rows. The data at every cell shows the qty (it is like timesheet report). The totals are shown for every row and column. The report layout looks something like this:
    ----------- <date> <date> <date> .... <Total>
    <name> <qty> <qty> <qty> <qty>
    <name> <qty> <qty> <qty> <qty>
    <name> <qty> <qty> <qty> <qty>
    <Total> <qty> <qty> <qty> <qty>
    The report definition looks like this (I numbered the columns to make it easier to write about them):
    01: <?horizontal-break-table:1?>
    02: <?for-each-group@column:EMPLOYEE_TIME;./TRANSACTION_DATE?><?sort:TRANSACTION_DATE;'ascending';data-type='date'?>
    03: <?TRANSACTION_DATE?>
    04: <?end for-each-group?>
    05: <?for-each-group:EMPLOYEE_TIME;./EMPLOYEE_NAME?><?sort:EMPLOYEE_NAME?><?variable@incontext:G1;current-group()?>
    06: <?EMPLOYEE_NAME?>
    07: <?for-each-group@cell://EMPLOYEE_TIME;./TRANSACTION_DATE?>
    08: <?sum ($G1[(./TRANSACTION_DATE=current()/TRANSACTION_DATE)]/TRANSACTION_QTY)?>
    09: <?end for-each-group?>
    10: <?sum ($G1/TRANSACTION_QTY)?>
    11: <?end for-each-group?>
    12: <?variable@incontext:T;.//EMPLOYEE_TIME?>
    13: <?for-each-group@cell://EMPLOYEE_TIME;./TRANSACTION_DATE?>
    14: <?sum (current-group()/TRANSACTION_QTY)?>
    15: <?end for-each-group?>
    16: <?sum ($T/TRANSACTION_QTY)?>
    The XML data is not sorted in any way and the report sorts it by employee and date. As you see at the line 02 I applied the sort by the transaction date. The sort works as expected, however the actual QTY are not showing at correct cells. If I remove sort it works fine but the dates are in random order. I suspect it is because I sort transaction date at header level and the QTY is not aware about it. I tried to apply the sort at line 07 but it does not help.
    Does anyone has any idea how to get this report to display data correctly?

    I have a SR which has associated bug 6131270.
    Here is the latest from my SR:
    UPDATE
    =======
    Hi Tomas,
    The bug has been updated. Development has recommended
    "You also need the patch from bug 4332399 to solve the java.util.EmptyStackException. "
    Please review above bug if you have access.
    Please consider applying Patch 4332399 - XSL:SORT FAILED IN A 2 LEVEL XSL:FOR-EACH-GROUP CASE
    Backport is included in patch 5840358 for EBS customers.

  • SORTING FOR THE CALCULATION FIELD IN CROSS TAB REPORT

    LIST_G_AUCTION_TITLE>
    <G_AUCTION_TITLE>
    <BID_NUMBER>5002</BID_NUMBER>
    <AUCTION_TITLE>E2E-01 Construction RFQ</AUCTION_TITLE>
    <ITEM_NUMBER>C2631</ITEM_NUMBER>
    <ITEM_DESCRIPTION>4G000,000,0STRUC,X,SPECIAL STRUCTURE</ITEM_DESCRIPTION>
    <ESTIMATED_QTY>1</ESTIMATED_QTY>
    <UNIT>LS</UNIT>
    <QUOTE_PRICE>400</QUOTE_PRICE>
    <ESTIMATED_QUOTE_PRICE>400</ESTIMATED_QUOTE_PRICE>
    <SUPPLIER>X - L CONTRACTING</SUPPLIER>
    my xml data is in this format, i created a cross tab report for ITEM_DESCRIPTION as row and SUPPLIER as column and calculated a sum(ESTIMATED_QUOTE_PRICE)
    for all the ITEM_DESCRIPTION for every SUPPLIER in templete . now i need to sort the data by sum(ESTIMATED_QUOTE_PRICE) from lowest to higest from left to right , that is supplier with lowest sum(ESTIMATED_QUOTE_PRICE) should display first from left to right.
    can any one help thanks in advance.

    thank you tim , for asking i got the solution. it is actually in template builder i was asking about. xml template builder

  • How to count number of columns in cross-tab report

    I have created a cross-tab report and have managed to get the data out as below:
                 Jan     Feb     Mar....(display of months will auto expand) Avg/Mo  Total
    UserA     4          3        4                                                                         11
    UserB     6          1        1                                                                          8
    UserC     5          5        5                                                                         15
    Total       15        9        10                                                                        33 
    I want to insert a calculated column (Avg/Mo) into the cross-tab report based on the formula: Total/Number of Months. I used this calculation formula  for Avg.Mo column:
    (GridValueAt(CurrentRowIndex, CurrentColumnIndex+1, CurrentSummaryIndex)/GetNumColumns)
    However, I get the wrong average since GetNumColumns count the total number of columns including the column of Avg/Mo and Total.
    How do i get the number of columns, excluding the Avg/Mo calculated column and Total column?
    PS: I can't use hardcode since the number of months/columns will auto expand the months progress...
    Edited by: jutamind on May 26, 2010 9:27 AM

    ok managed to solve this by slightly changing the formula:
    GridValueAt(CurrentRowIndex, CurrentColumnIndex+1, CurrentSummaryIndex)/(GetNumColumns-2)

  • Dynamically color to each column in Cross-tab report

    Hello All,
    I am a newbie in Crystal report,from last few weeks, i am working on cross tab crystal report.i have a requirement to show color dynamically for each column.i am adding an attachment how i want it. i tried dynamic coloring using object field formula but it is showing red color to all data.i want red color data when in 2nd  cross tab report data is beyond upper or lower limit in first cross tab table. it will be very helpful if somebody will give me any clue on this.... i read so many articles now it seem like impossible for me..:(
    i am using visual studio 2010 and sap crystal report version 13.0.0.99 for visual studio 2010.

    Hello Manish,
    I have attached a sample report that does this. You will need to remove the .txt extension from the attached file to open it as an .rpt file.
    Please right click on one of the value fields of the first cross tab in the report > Format Field > Common > Suppress if Duplicated conditional formula.
    The nested formula is as follows;
    numbervar array l;
    numbervar array u;
    numbervar x:=CurrentColumnIndex;
    if GridRowColumnValue ('@limit') = 'lower limit' then
    (redim preserve l[x];
    l[x]:= tonumber(CurrentFieldValue))
    else if GridRowColumnValue ('@limit') = 'upper limit' then
    (redim preserve u[x];
    u[x]:= tonumber(CurrentFieldValue));
    false
    So it assigns each lower and upper limit value for each client (in the sample it is country) to an array using the cross tabs column index to index the array and it ends in False as we don't actually want it to suppress if duplicated. This nested formula is just used to generate the arrays of upper and lower values.
    In the second cross tab if you again right click on one of the value fields > Format Field > Font > Color you will see the following conditional formula;
    numbervar array l;
    numbervar array u;
    numbervar x;
    if not(tonumber(CurrentFieldValue) in l[CurrentColumnIndex] to u[CurrentColumnIndex]) then
    crred
    else
    crblack
    So this compaes the current field value to range generated by the 2 arrays and assigns a color based on whether or not it is in the range.
    Regards,
    Graham

  • How to Add new column in cross tab reports

    I am using crystal reports 10
    I created cross tab report for monthly sales. I need to add one more column in that report
    ex:
    Month   Customer    Part1  Part2    Part3      
    Jan         A               10       12         15        
    Jan         B                20      0           10        
    Jan         C               0         3           5          
    Feb        A               5         10          8          
    Feb        D               55        23        33        
    In above data Parts are no limit, thatswhy i am taking cross tab report.
    I am taking Month and Customer name as Rows,
    Part Codes as Colums,
    Quantiry as Total fields in cross tab Report.
    Here month field is storing as Transaction date in database, I am calculating by month
    I am getting upto this.
    User needs add one more field is Invoice no
    Month   Customer    Part1  Part2    Part3        Invoice no
    Jan         A               10       12         15          B1,B2,B3,B4
    Jan         B                20      0           10         B12,B30
    Jan         C               0         3           5           B6
    Feb        A               5         10          8           B35,B40
    Feb        D               55        23        33          B25,B56
    How to add invoice nos by group wise(By customer and  By month)
    Thank you.
    Raja shekar Reddy K.
    Edited by: Raja shekhar Reddy on Apr 16, 2009 5:10 PM

    Dear Amogh,
    Thanks for u'r  Replay.
    If i use new crosstab for Invoice no each invoice number can display like seperate columns.
    But I need Invoice  no in single column with seperate with "," or "/".
    Thanks & regards,
    Raja Shekar Reddy K.

  • More than one summary column in cross tab reports

    Hi,
    I have a cross tab report.  The summary column is SUM. I want to add another summary column next to SUM which will be AVG(Average) column.
    Any ideas?
    Please see the attached image.
    Thanks,

    hi Anurag,
    my fault...i should have looked closer at your data.
    here's the easy way of showing two sets of summaries at the end of a crosstab, without having duplicate columns.
    1) copy your existing cross-tab and paste it to the right of your current cross-tab.
    2) now go to the cross-tab expert of the new cross-tab and remove the fields from the Column dialogue
    3) change the summary to an Average
    4) exit the cross-tab expert and go to the Section Expert for the section where both cross-tabs are...ensure that you check Relative Positions
    preview the report. now you'll have to move the 2nd cross-tab a bit so that it aligns properly with the first one.
    as a sample, see the attached report. extract the contents and change the .txt extension to .rpt.
    -jamie

  • Cross tab report-dyanamic columns for months and quarterly sum

    Hi all,
    I work on report creation in BI Publisher.I need to display values in a cross tab report in a way that it shows data for 3 months and then a column for its quarterly sum.
    For ex:-
    Market --Jan       Feb    Mar    Q1_sum Apr May Jun Q2_sum ---------------like wise for n months
    Market1 100 --80 --30 -- 210 --10 -- 80 --90 --210
    Market2 120 --90 --40 --250 --100 --70 --30 --200
    Market3 130 --70 --60 --260 --140 -- 0 --40 --180 ('--' just to maintain indentation)
    The values of number of months( date range) and the names of market are derived dyanamically .
    The code from my sql query presently shows months-range (Jan ,feb,mar..), Quarterly sum to be displayed, Market names etc as child elements in multiple occurences main Query set.
    <Main Query>
    <Market>abc</Market>
    <Region>abc</Region>
    <Months-Range>abc</Months-Range>
    <Quarterly_sum>abc</Quarterly_sum>
    <Main Query>
    <Main Query>
    </Main Query>
    Please guide me on code in rtf template for the same.
    Thanks
    Edited by: user9061488 on Jul 13, 2010 1:32 AM
    Edited by: user9061488 on Jul 13, 2010 3:48 AM

    Hi,
    Do u have time dim in your metadata??
    If not,
    Create a time dimension year,quater,month,day
    http://lh4.ggpht.com/_rhCtHYLiamQ/S7PQvxYBbzI/AAAAAAABZXI/ef_Ur9AmyUo/s800/04_year_quarter_bmm.jpg
    After that in fact table by using the (ago/todate) function ....pull the respective columns to pivot table columns section(date column) and measures col in measures section and enable the grand total in columns section so that it will show grand total for every quarter
    thanks,
    saichand.v

  • Setting Total Column width in Cross Tab report

    I am having an issue with the width of the Total Column in a Cross tab report. I have set the width of the column and saved the report but when I am reopening the report the Total column width is expanded but rest of the data column width remains the same (which I saved). Any idea how to adjust the total column width?
    TIA,
    AJ

    AJ.
    Did you ever solve this?

  • Suppressing a prior Year Month Column on Cross Tab Report

    I have two cross tab report in the footer that compares orders booked against what was shipped by month.  I need to suppress the columns (Month) for the prior year but keep the Totals.
    I have a pdf of the report

    Try to add a formula as a column in the crosstab instead of a field. Create a formula like this
    if year()=year(currentdate)-1 then
    year()
    else
    month()
    This works only for two years of data, means you need to have the record selection formula like this
    year()>=year(currentdate)-1 and year()=year(currentdate)
    Regards,
    Raghavendra

  • Unable to create cross tab report with multiple level dynamic columns

    Hi Gurus,
    We are trying to develope group above cross tab report with BI Publisher.
    i am unable to achieve multiple level columns dynamically.Using cross tab wizard i can achieve single level measure column ,but not the second level column.
    Output should look like this:
    Country1
    Region1 Region2 Region3 --(level1 column)
    d1 d2 d3 d1 d2 d3 d1 d2 d3 -- (level2 column)
    Row1 10 20 30 70 80 90 40 70 90 --data
    Row2 21 24 54 65 23 64 64 76 87
    Here regions and d1 d2 d3 may vary based on xml data.Also we have page break on country.
    Thanks,
    Mahesh

    Hi kavipriya,
    Any update on this.I have set the rtf and xml to ur gmail id.
    Thanks,
    mahesh

  • Cross tab report's -one column display total counts of previous financial year, one column current financial year

    Hi
    I'm using CR XI. I'm attempting to create  a cross-tab report where:
               Added       Total
    AF         12            23
    F            15           30
    CO         18           50
    Where AF etc is the categoty of items, Added is the total count of previous finanical year(e.g. 1 July 2006 to 30 June 2007), Total is the total account of current finanical year.
    The count is based on created_date field(e.g. ITD.DTE -- ITD is the table, DTE is the field).
    Although I can at the moment only display the value correctly in "Added"  column, if I tried to display the Total column, the two columns always have the same value.
    How could I achieve the above desired results by using fomula? I would appreciate it very much if anyone could help me with this?
    Thanks in advance
    JS

    Create 2 formulas, 1 for the previous year and 1 for current, similar to the following;
    1) if date({Orders.Order Date}) in date(2003,07,01) to date(2004,06,30) then 1 else 0
    2) if date({Orders.Order Date}) in date(2004,07,01) to date(2005,06,30) then 1 else 0
    Add both of these formulas as the summarized fields in the crosstab

  • Restricting data in cross tab report

    Hi
    I am creating a cross tab report.In that I want to restrict the column dynamically.The column depends upon the parameter field.
    say for example if i enter the parameter as 2007,it should display field from 2004-2007 only rather than displaying all years.
    Thanks in Advance,
    Eswari

    Hi,
    You can use a formula. e.g
    < Basic format>
    Select case year({Command.tradeDate})
        case 2005 to 2007
            formula = 1
        Case else
            formula = 0
    end select
    Then on the crosstab column group options, choose "specified order" and on the "Other" tab choose "Discard all others"
    Hope this helps
    Regards
    Dotun.

Maybe you are looking for