Dynamic Column sorting in OBIEE?

Hi,
Does anybody knows how to sort columns dynamically in a report on asc or desc order.Any automatic mechanism.

Gianluca Ancarani wrote:
You can use in the RPD (in the Business Model Layer) a specific COLUMN SORT to sort a scecific Logical Column, in this way a column in a report is always sorted, but you have to build the specific COLUMN SORT inside the physical table or in the business model layer.
See this blog: http://obiee101.blogspot.it/2008/11/obiee-sort-order-column-property.html
Regards,
GianlucaI think the user is trying to sort the report based on the Names of the columns rather than the data in a specific column.

Similar Messages

  • Dynamic Column Selector in OBIEE - Solution required

    Hello Experts,
    I am pretty new to OBIEE. Please help me to get OBIEE solution for below requirement.
    I have one 25 column dimension table in database. Created OBIEE .rpd file and published in BI server. Now I need to provide one user interface in which user should be able to chose any number of columns of his choice and he should get record set of those selected columns. Something in my mind is like this.
    I should be providing list of 25 column names with check box to select one or many. Assuming that if user selects Col1, Col3,Col5 and Col7 then he should get the result in excel file with record set of those 4 columns.
    I am using OBIEE 10g.
    Any solution for this is highly appreciated.
    Edited by: user7850154 on Dec 5, 2010 9:22 AM

    user,
    Usually, dynamic column seletor is implemented through "column selector view" available within compund layout of OBIEE Answers.
    But, it does allow you to select only single column rather than multiple columns - which in your case is required.
    J
    -bifacts
    http://www.obinotes.com

  • Issue Action links,Column sorting in OBIEE(11g) 11.1.1.7.0

    Hello everyone,
    I want to provide the feature column sorting to my users but i dont want to provide any feature to users when they click on right mouse button.When we click on right mouse in action link column value it is giving the "action links","include/exclude columns" options etc.
    I disabled the do not display the action link report name in the column properties.
    Also disable the  include/exclude columns options in the interaction XYZ properties of the view.
    But still i am not able to understand why these links are coming when i run the report from the dashboard.
    Please help me out here.
    thanks,
    prassu

    Hi Timo,
    I am using data control web services to get these attributes on to the jspx page. The table has the value property which is binding to the iterator( #{bindings.SUMMARY_LINES_ITEM.collectionModel}).
    The table has various coulmns like order no, status, request and so on..where Order no and status are converted to a cmd link which navigates to another page on a query.
    I don't understand how setting sorting to true in one of the columns can make it not found in the iterator! And I get the errors only if sorting is done first before querying(clicking on one of the values in a column to navigate to another page).
    Thanks,
    Sue

  • Dynamic column name in OBIEE

    Hi all,
    In my report i need to show one chart view. I'm having one prompt. There the user is asked to select a no. for eg. say 10. and a date eg. 10-JAN-09. So my report should show the data from 10-JAN-09 and go backwards to 10 days. if he selects 5 days then only 5 days of data only need to show from that date. This part is ok. The chart has five sections in it. They are
    1) 80-100% of the time period
    2) 60-80%
    3) 40-60%
    4) 20-40%
    5) <20%
    So the legends should vary according to this.
    Suppose if the user selects 10 days then the legend should be,
    1) 8-10 days
    2) 6-7 days
    3) 4-5 days
    4) 2-3 days
    5) less than 2 days
    If user selects 5 means then the legend should be,
    1) 5 days
    2) 4 days
    3) 3 days
    4) 2 days
    5) 1 day
    In the prompt im saving this value in one variable. So all i need to do is to apply aggregation on the variable and place it in the column name. But i dont know where to give it. Please help.
    Thanks,
    Karthick

    Hi when you dynamically change the table column that will automatically reflect in the chart legend.
    please check the following link for dynamically changing column header name
    http://oraclebizint.wordpress.com/2008/01/25/oracle-bi-ee-101332-dynamic-column-headers-using-presentation-variables-sets-and-conditional-formatting/

  • Sorting a Collection with dynamic columns using a custom compare function for multiple columns

    I need help and ideas on how to sort a ListCollectionView.  My problem is complicated by 3 requirements-
         1. The column values contain HTML tags that needs to be removed before sorting (use custom compareFunction to strip HTML)
         2. The columns are dynamic, so dataField names are not known at compile time (need a single compareFunction for all columns)
         3. The data is used in an AdvancedDataGrid so multi-column sorting is required
    I have figured out how to solve any 2 of the 3 requirements.  However, I am having difficulties supporting all 3 requirements.
    Any help or ideas would be greatly appreciated.  Thanks.

    After playing with this some more I think I've figured out a solution.  This seems to work in initial testing.  Also, there is not a need to capture the current sort column in the headerRelease event which many offered solutions suggested.  Another benefit to this solution is that keyboard initiated sorting is handled also.  Whereas the headerRelease event is only triggered by a mouse click on the column header and special handling is required if the user uses the keyboard to access the column header.
    One point that I don't understand is how ascending/decending order is determined.  Behavior seems to be different between a single SortField versus multiple SortFields.  Notice how the compareResults are handled for the different situations.  Anyone out there know why???
     private function colSortCompareFunction(obj1:Object, obj2:Object, fields:Array = null):int{
         var compareResults:int = 0; 
         var newObj1:Object = new Object(); 
         var newObj2:Object = new Object();
          // should not be a condition that is met   
         if (_dataProviderDetails.sort.fields == null)     {
              var s:Sort = new Sort(); 
              var f:Function = s.compareFunction; 
              return f.call(null, obj1, obj2, fields);     }
         // when a single column is selected for sorting   
         else if (_dataProviderDetails.sort.fields.length == 1)     {
              var firstFld:SortField = _dataProviderDetails.sort.fields[0];
              newObj1[firstFld.name] = stripHTML(obj1[firstFld.name]as String);          newObj2[firstFld.name] = stripHTML(obj2[firstFld.name]
    as String);
              compareResults = ObjectUtil.compare(newObj1[firstFld.name], newObj2[firstFld.name]);
               return compareResults;     }
         // when multiple columns are selected for sorting   
         else       {
              for each (var fld:SortField in _dataProviderDetails.sort.fields)          {
                   newObj1[fld.name] = stripHTML(obj1[fld.name]
    as String);               newObj2[fld.name] = stripHTML(obj2[fld.name]
    as String);
                   compareResults = ObjectUtil.compare(newObj1[fld.name], newObj2[fld.name]);
                    if (compareResults != 0)               {
                        if (fld.descending)                    {
                             return compareResults * -1;                    }
                        else                      {
                             return compareResults;                    }
               return compareResults;     }
    Does anyone see any problems with this solution?
    NOTE:  stripHTML(String) is a simple function using regular expression to remove HTML tags.
    Thx

  • RichTable dynamic column support with sorting

    I have a table of data that has a list of custom properties which is dynamic. They could be text, integer, etc. I would like to display each custom property as a column in the table with the static list of properties as follows:
    Name Data Date CustomProp1 CustomProp2
    dataname some data 10/10/2010 my prop1 12345
    Since properties are dynamic, my collection for the table does not have a fixed set of columns.
    Before I get too far, has anyone had experience doing this such that the columns can be sorted and modified and are not part of a static list? For example, can I somehow override the sort function or what would I put for sortProperty for the column?
    So far I plan on my table being a collection of my data object, then when defining the columns, use a foreach to get the list of custom columns...for the data, I would call a custom tag function that gets the value for the property / row pair (not sure if this will work or if there's a better way)...however, I'm stuck on sorting for sure.
    Any help appreciated.
    Thanks,
    Kris

    Frank,
    Okay, you confirmed my plan. For displaying the dynamic column data, can I add a hashtable to the table's model as follows, sounds like this could work:
    <af:forEach ...>
    <af:column>
    <af:outputText value="#{tablevar.hashTable[foreachvar]}"> </af:outputText>
    </af:column>
    </af:forEach>
    At least this is what I'm going to try...
    Actually, my first roadblock is what to put into the sortable property or is there a way for me to override and use my own method for sort?:
    <af:column sortable="true" sortProperty="">
    </af:column>
    Thank you,
    Kris
    Edited by: KrisFromOhio on Dec 3, 2008 1:37 PM

  • DataGrid with dynamic columns & renderers

    I'm developing using Flash Builder 4 & Flex SDK 4.1.
    I need to manage very dynamic DataGrid components and keep their definitions, which are all part of a complex item renderer of an Offers list.
    The objects structure is simplified as follows -
    Data: Model --> Offers ArrayCollection --> Offer VO --> DataGrid data ArrayCollection & DataGrid columns Array
    View: List --> Offer Item Renderer --> DataGrid
    1. Since the DataGrid's columns property accepts only an Array (not ArrayCollection), it seems like Data Binding for defining the columns is very problematic.
    I tried to bind it to the source property of an ArrayCollection that would keep my columns definitions, but it didn't really work (mainly header display bugs).
    What is the recommended way to keep the dynamic columns definition of a DataGrid?
    2. Each column can have a set of dynamic properties, so I created a "mutant" - Column VO that extends DataGridColumn and got a dynamic properties ArrayCollection on it.
    The columns got a custom header renderer that includes an icon when there are properties.
    The header renderers got 4 main states (NotSelectedWithProperties, SelectedWithProperties, NotSelectedWithoutProperties & SelectedWithoutProperties).
    However, the header renderer area seems a bit buggy when maintaning dynamic columns.
    Any thoughts on the subject?
    3. Anyway, I ended up recreating the DataGrid's columns Array very often (copying the columns definition on the offer's item renderer's dataChange event handler).
    Note that the dynamic properties can be edited when the column is selected and I copy their values from the view back to the model when entering the state NotSelectedWithProperties.
    This feels way too complicated and I really try to keep it simple, inspite of the required complexity.
    Does anyone have better ideas?
    4. In some cases the column's item renderer should also be modified into another DataGrid (grid-in-grid).
    I used the MXDataGridItemRenderer with a DataGrid and included an ArrayCollection for the "newValue" returned by the editor.
    (I use RendererIsEditor=true and on updateComplete populate that variable with the DataGrid's dataProvider contents)
    When needed, I loop though the data objects of the parent DataGrid and populate the related field with an ArrayCollection of key-value objects that are displayed on the internal DataGrid.
    After adding this feature I encounter very strange bugs -
    a. After editing the grid-in-grid values and changing the column's state (selecting & deselecting), I get the following exception:
    ArgumentError. Error #2025: The supplied DisplayObject must be a child of the caller.
    at flash.display::DisplayObjectContainer/setChildIndex()
    at mx.core::UIComponent/setChildIndex().......6993....
    All I could find about this is that it might be related to some context error or something, but I'm really stuck on this one.
    b. Sometimes another column might copy value from one row to another, running over the previous value.
    I'm not sure exactly what sequence of actions causes this behavior, but it's related to that itemRenderer for sure.
    c. Switching places with a column that uses the grid item renderer (headerShift) causes a stak overflow of StyleManager that tried to get style from the DataGridItemRenderer. This one I just found out, but couldn't reproduce a second time... strange!
    I'm pretty sure this caused another problem that I don't remember at the moment.
    The bottom line is that there got to be a better way to implement this feature within this already-complicated environment.
    Maybe I'm doing something very wrong here...
    Please advice and thanks for reading all this.

    Update on item 4a -
    This was a major issue (the main reason for opening this thread really) and I managed to resolve it!
    As part of my application, I override the default DataGrid behavior for column selection (headerRelease event).
    Instead of sorting, I change the column's header looks and define it as Selected (for showing its dynamic properties and enable its deletion).
    At first I did this by setting styles, but the look didn't refresh unless I created a new instance of the header renderer.
    Later I changed thi behavior to work with states, but I left the new header renderer instance creation commands and those lines created all the mess!
    Conclusion -
    If you define a custom header renderer for your datagrid column and then a custom item renderer, don't create a new instance of your header renderer!
    It would still be nice to get some response for the other issues I raised.
    Thanks and have a nice week.

  • Dynamic column in dashboard prompt

    Hi all,
    I have to dispay 'TOP' & 'BOTTOM' dynamic value in the dropdown of dashboard prompt how to create a dynamic column value in dropdown of dashboard prompt?I m trying to create it by writing case in show sql result but not getting correctly according to TOP & Bottom selection i have to make a the changes in report

    Hi Sonal,
    SELECT CASE WHEN 1=0 THEN "D2 Market"."M01 Market" ELSE 'Top' END FROM "Sample Sales"
    union all
    SELECT CASE WHEN 1=0 THEN "D2 Market"."M01 Market" ELSE 'Bottom' END FROM "Sample Sales"
    something like this in dashboard prompt sql results
    http://img709.imageshack.us/img709/7893/prompt.jpg
    Later,refer this to get a selected report http://varanasisaichand.blogspot.com/2010/02/dashboards-as-prompts-in-obiee.html
    thanks,
    Saichand.v

  • Handling ALV Layout & Dynamic Columns

    I have a custom report for Purchasing / Finance.
    1) I create 5 dynamic columns for the purchase rder invoices based on the report run date.
    Example:
    Previous Quarter   [Q4 2009]  [Q1 2010]   [Q2 2010]  [Q3 2010]
    My query is that this report has layouts defined. I want to add the dynamic columns to the report output.
    Example:  In the below scenario i have dynamic columns in the  fieldcat[] but the report shows only the columns defined in the layout selected. 
    disvariant-VARIANT has the layout selected from the seelction screen of the report.
    Also fieldcat-tabname = '<fs_table> '.
    CALL METHOD alv_grid->set_table_for_first_display
       EXPORTING
          is_variant                    = disvariant
          i_save                         = 'A'
          is_layout                     = layout
          is_print                        = print
       CHANGING
          it_outtab                     = <fs_table>
          it_fieldcatalog             = fieldcat[]
          it_sort                         = sort[]
       EXCEPTIONS
         invalid_parameter_combination = 1
         program_error                 = 2
         too_many_lines                = 3
         OTHERS                        = 4
    Appreciate if anyone knows the solution.

    I don't believe you can display the dynamic columns and still use the variant from the selection screen.
    Have you considered using multiple table rows for the multiple time periods?
    If you will always have 5 dynamic columns, maybe you can make them not dynamic and just make the column header text dynamic?

  • Dynamic Row Sorting

    I have a page that lists all of the rows in a particular table initially sorted by an integer key thanks to an ORDER BY clause in the VO query. If a user modifies the integer key of a row, the row should move to its appropriate position within the list.
    Is there a way to dynamically alter the order of rows in an ADF databinding iterator? I know the list will be resorted if I executeQuery() on the VO, but I wish to avoid that because it also resets the row currency.
    Thanks.

    By your description it looks like in your case you could handle it by static query and conditions on columns, it would avoid the issue altogether... But I am not sure I understood correctly.
    I got my dynamic query sorting to work by using custom headings - but that requires static list and order of columns so it wouldn't work for you.
    Kaja

  • Dyanmic Column Heading in OBIEE

    Hi Experts,
    Can we changes the column heading dynamically.
    We are using OBIEE 10G
    Thanks,

    Hi user,
    Here is the link,might be access is denied in your system check on other system
    http://total-bi.com/2011/03/obiee-dynamic-column-headings/
    Anyways here it is
    2.Use a session variable to dynamically set the column name in the presentation layer of the RPD. E.g.
    3. Use a presentation variable as the column name.
    This is probably the better of the techniques but it is still far from ideal. Simply edit the column properties and put the name as @{variable_name}{default_value}.
    But we still have the problem of how to make this dynamic. Well, we can set a presentation variable using a dashboard prompt so we need to create a prompt and force it to a default value. Note that the prompt will need to be added to the dashboard but can be hidden by setting the CSS style to display:none on the dashboard section.
    Cheers,
    KK

  • Unable to capture the adf table column sort icons using open script tool

    Hi All,
    I am new to OATS and I am trying to create script for testing ADF application using open script tool. I face issues in recording two events.
    1. I am unable to record the event of clicking adf table column sort icons that exist on the column header. I tried to use the capture tool, but that couldn't help me.
    2. The second issue is I am unable to capture the panel header text. The component can be identified but I was not able to identify the supporting attribute for the header text.

    Hi keerthi,
    1. I have pasted the code for the first issue
    web
                             .button(
                                       122,
                                       "/web:window[@index='0' or @title='Manage Network Targets - Oracle Communications Order and Service Management - Order and Service Management']/web:document[@index='0' or @name='1824fhkchs_6']/web:form[@id='pt1:_UISform1' or @name='pt1:_UISform1' or @index='0']/web:button[@id='pt1:MA:0:n1:1:pt1:qryId1::search' or @value='Search' or @index='3']")
                             .click();
                        adf
                        .table(
                                  "/web:window[@index='0' or @title='Manage Network Targets - Oracle Communications Order and Service Management - Order and Service Management']/web:document[@index='0' or @name='1c9nk1ryzv_6']/web:ADFTable[@absoluteLocator='pt1:MA:n1:pt1:pnlcltn:resId1']")
                        .columnSort("Ascending", "Name" );
         }

  • How can we get Dynamic columns and data with RTF Templates in BI Publisher

    How can we get Dynamic columns and data with RTf Templates.
    My requirement is :
    create table xxinv_item_pei_taginfo(item_id number,
    Organization_id number,
    item varchar2(4000),
    record_type varchar2(4000),
    record_value CLOB,
    State varchar2(4000));
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'USES','fever','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'HOW TO USE','one tablet daily','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'SIDE EFFECTS','XYZ','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'DRUG INTERACTION','ABC','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'OVERDOSE','Go and see doctor','TX');
    insert into xxinv_item_pei_taginfo values( 493991 ,224, '1265-D30', 'NOTES','Take after meal','TX');
    select * from xxinv_item_pei_taginfo;
    Item id Org Id Item Record_type Record_value State
    493991     224     1265-D30     USES     fever     TX
    493991     224     1265-D30     HOW TO USE     one tablet daily     TX
    493991     224     1265-D30     SIDE EFFECTS     XYZ     TX
    493991     224     1265-D30     DRUG INTERACTION     ABC     TX
    493991     224     1265-D30     OVERDOSE      Go and see doctor     TX
    493991     224     1265-D30     NOTES     Take after meal     TX
    Above is my data
    I have to fetch the record_type from a lookup where I can have any of the record type, sometime USES, HOW TO USE, SIDE EFFECTS and sometimes some other set of record types
    In my report I have to get these record typpes as field name dynamically whichever is available in that lookup and record values against them.
    its a BI Publisher report.
    please suggest

    if you have data in db then you can create xml with needed structure
    and so you can create bip report
    do you have errors or .... ?

  • How to change recordset bahaviour to accept dynamic column names in the where clause

    Hi
    im using php-mysql and i make a recordset and i want to make the column names in the where clause to be dynamic like
    "select id,name from mytable where $tablename-$myvar";
    but when i do this my i break the recordset and it disappear
    and when i use variables from advanced recordset it only dynamic for the value of the column not for the column name
    and when i write the column name to dynamic as above by hand it truns a red exclamation mark on the server behaviour panel
    so i think the only way is to change the recordset behaviour is it? if so How to make it accept dynamic column names?
    thanks in advance.

    As bregent has already explained to you, customizing the recordset code will result in Dreamweaver no longer recognizing the server behavior. This isn't a problem, but it does mean that you need to lay out your dynamic text with the Bindings panel before making any changes. Once you have changed the recordset code, the Bindings panel will no longer recognize the recordset fields.
    Using a variable to choose a column name is quite simple, but you need to take some security measures to ensure that the value passed through the query string isn't attempting SQL injection. An effective way of doing this is to create an array of acceptable column names, and check that the value matches.
    // create array of acceptable values
    $valid = array('column_name1', 'column_name2', 'column_name3');
    // if the query string contains an acceptable column name, use it
    if (isset($_GET['colname']) && in_array($_GET['colname'], $valid)) {
      $col = $GET['colname'];
    } else {
      // set a default value if the submitted one was invalid
      $col = 'column_name1'
    You can then use $col directly in the SQL query.

  • Interactive Report wide Column Sorting hangs in Internet Explorer

    I have an application that contains an interactive report. The Column Sorting and Filtering functions work fine in Firefox. However, if I try to sort a wide (110 byte - it contains a hyperlink) column in Internet Explorer, APEX produces the 'loading data' image and then hangs. Even a sort of a narrow (3 byte) column is noticeably slower in Internet Explorer than in Firefox.
    We are running APEX 3.1.1 on Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production with the Partitioning, OLAP, Data Mining and Real Application Testing options

    Hello,
    I answer you over your post.
    Joe Bertram wrote:
    Hi,
    That's an interesting issue. What kind of images are these? Are they the default images installed or are they your custom set of images?The images are png files included as they were icons into the table.
    >
    You say the images disappear when you sort the report. Does it happen when you sort on demand in the dashboard or when you sort it in the report itself? Or both?Only when sort from the dashboard. From the report itself, the answers works fine.
    >
    What are your environment details?Server:
    OBI 10.1.3.4.1.090414.1900
    Windows 2003 server
    JDK 1.6.0.17
    Thin Client:
    Internet explorer 8
    >
    Thanks for the extra info.
    Best regards,
    -JoeIt happens also in other two environments (Development and Pre-production) with the same SW architecture.
    Thanks for your time.

Maybe you are looking for

  • Nokia has made me mad!

    I dont know how many of you have read the post concerning the n93 being available to update via nsu again and the new "feature" which is that night video recording in black and white is a "feature" not an error is everyone at nokia a politician? Caus

  • DLO HomeDock Deluxe Video problem

    there is no video signal in iPod mode... everything's great when i play music. but when i switch to iPod mode and start playing video - the sound is there, but TV shows no signal. i can see the video playing on the iPod, but there's nothing on the sc

  • Performance Tuning the AVG function

    Dear All, I have a table which is rapidly growing. We have a query which is frequently executed on this table and it utilizes AVG function without a WHERE clause. Is there a way to tune this query? I tried to create a Materialized View but Oracle rej

  • New procedure for Inventory

    Hi I Defined one new output procedure by copying ME0001 for Inventory documents. Here my doubt is how can I activate this new procedure for this inventory Is it possible then how can I activate this nani

  • Getting kicked off of VNC connection when logging into server

    We have noticed that when we log into the VNC server, and sign into the console of the server, that we get kicked off of the VNC connection. If we wait a few seconds then connect again we get the desktop of the server. What is causing this? I use Jol