A Collection of sorting with dynamic columns using a custom multi-column comparison function

I need help and ideas on how to sort a ListCollectionView.  My problem is complicated by requirements - 3

1. the values of column contain HTML tags which must be removed before the custom to strip HTML (use of compareFunction) sort

2. the columns are dynamic, so dataField names are not known at compile time (need a unique compareFunction for all columns)

3. the data is used in an AdvancedDataGrid, so multicolumn sorting is necessary

I understood how to resolve any 2 of the 3 conditions.  However, I have difficulty taking care of all the 3 requirements.

Any help or ideas would be greatly appreciated.  Thank you.

Here's my analogy simplified your script.

I have a set of fields that I get from a place:

Var columnFields:Array = ["firstName", "lastName"];

And I want to generate columns for these fields:

Var columns: Array = [];

For (var int index = 0; index< columnfields.length;="">

{

the col: AdvancedDataGridColumn var = new

AdvancedDataGridColumn (columnFields [index]));

and assign a custom comparison function that uses that

columnField

col.sortCompareFunction =?

Columns.push (col);

}

ADG. Columns = column;

I mean subclassing AdvancedDataGridColumn

SerializableAttribute public class MyAdvancedDataGridColumn extends DataGridColumn

{

public void MyAdvancedDataGridColumn(dataField:String)

{

sortCompareFunction = mySortCompareFunction;

}

public void mySortCompareFunction (obj1:Object, obj2:Object,

fields: Array = null)

{

in this function, you can use 'obj1 [dataField]'

access the field for this column

If (obj1 [dataField]<>

Returns - 1;

...

}

}

Then your just loop will look like this:

Var columns: Array = [];

For (var int index = 0; index< columnfields.length;="">

{

the col: AdvancedDataGridColumn var = new

MyAdvancedDataGridColumn (columnFields [index]));

Columns.push (col);

}

ADG. Columns = column;

Tags: Flex

Similar Questions

  • script process of sorting (with several column data) and average (some other column data)

    Hello

    I had a lot of help from my log of the bus data, previously.

    My interest now is to sort them according to certain values of the column and then get an average result of them.

    Given that the tiara doesn't seem to support the triage function after loading data, it seems to be a difficult issue for me;

    It would be useful that I can get all related index/approach/function/Council to do this kind of script.

    I've attached a file excel for example.

    In the first "raw" sheet, there are rows of raw data with column names of "year, month, day, ID, ID2, point, condition.

    Actual data had many more columns, but I simplified it for convenience.

    What I try to do is, with the entry (from DialogBox or simply a script as a variable; I can do this) 'year' and 'months' (e.g.: 2015, 6).

    to get the resulting data sheet 'expected results '.

    The result is sorted by value 'ID' and 'condition '. 'Condition' is 0 or 1, then the average of the values of 'point' for each ID and the condition is obtained.

    Group for the 'condition' of 2 will be the average of the results of the 'condition' 0 and 1 (collection of data). (So there are always three groups: for 'condition', 0, 1, and 2.)

    Currently, 'ID' includes 12345 and 54321, but there may be more values, too.

    "Num" column is the number of files RAW allows to get the average for the corresponding 'year-month-ID-condition'.

    Is there an effective approach or the function that you recommend?

    I think that you may need more details for example data, so please do not hesitate to ask me.

    Thanks in advance.

    Inyoung

    The interactive part to modify data in DIAdem is collected in the 'ANALYSIS' left aon tab.

    The second entry, 'Functions of channel' contains 'Values of Channel sorting' method.

    To automate this process, it is possible to use the macro recorder in the tge script module.

  • APEX_COLLECTION for IR report with dynamic column no longer works in APEX5.0, do you have a solution?

    Hi guys,.

    As a basis for the application of the requirement of the company, I used the post of Vincent Deelen here:

    http://vincentdeelen.blogspot.ro/2014/02/interactive-report-based-on-dynamic-SQL.html

    However, since our upgrade to APEX 5.0, I get the following error:

    ORA-01445: cannot select ROWID, or sample, join without table views preserved key

    I can see in the debug statement that the query that fails is the following:

    SELECT apxws_row_pk,

    "C001."

    "C002."

    "C003."

    "C004."

    "C005."

    "C006."

    "C007."

    "C008."

    "C009."

    "C010."

    "C011."

    "C012."

    "C013."

    "C014."

    "C015."

    "C017."

    "C018."

    "C019."

    "C021."

    "C022."

    "C023."

    "C024"

    "C030."

    "C031."

    "C032."

    "C041."

    "C042."

    "C043."

    "C044."

    "C045."

    "C046."

    Count (*) (AS apxws_row_cnt)

    Of

    (SELECT *)

    Of

    (SELECT b.ROWID apxws_row_pk,

    b.*

    Of

    (SELECT *)

    Of

    (SELECT * FROM APEX_collections WHERE collection_name = "IR_COLLECTION_877")

    )

    ) b

    + 0

    + 0

    WHERE rownum < = to_number(:APXWS_MAX_ROW_CNT)

    ORDER BY apxws_row_pk

    From my understanding, the ROWID is a new implementation for APEX 5.0, this post has not been monitoring since may:

    Re: Error ORA-01445 tabular form on a Collection in APEX 5

    Can this be repaired? Does anyone have a solution?

    Marc Sewtz-Oracle, I'm sorry for the intrusion, but I saw your last answer in this particular post above, and maybe you have some news!

    Thank you

    Digital

    Hi all

    I did the simplest thing! Reproduce the solution:

    -L'IR

    -Elements of Page 50

    -Conditions placed on all 50 columns

    Basically, I re-did everything and it works great!

    It's amazing how such a simple solution does work sometimes!

    Thank you

    Digital

  • How to modify the data with dynamic TableView with dynamic columns in JAVAFX

    Today, it is the demo to display the data from the CSV to the custom class without doing DAT file on tableView in JavaFX 2.0. I call this TableView as dynamic TableView because the tableview automatically manages the columns and rows.
    My research on the editable on tableView, we have a custom of the class and apply it to tableView to show that this demo is > http://docs.oracle.com/javafx/2/ui_controls/table-view.htm

    But in this case I can't do that because we don't know how many example of column with the csv file or .dat file... I want to make editable on this tableView in this case add TextField in the TableCell. How do custom class (because you don't have how column...) and so to do custom class then what thedesign of a custom for this case class?

    Could you please help me?

    It's the demo of code to display your csv or dat file in TableView

    private void getDataDetailWithDynamic() {
      tblView
    .getItems().clear();
      tblView
    .getColumns().clear();
      tblView
    .setPlaceholder(new Label("Loading..."));
      
    // @Override



      
    try {
           
    File aFile = new File(txtFilePath.getText());
           
    InputStream is = new BufferedInputStream(new FileInputStream(aFile));
           
    Reader reader = new InputStreamReader(is, "UTF-8");

           
    BufferedReader in = new BufferedReader(reader);

           
    final String headerLine = in.readLine();
           
    final String[] headerValues = headerLine.split("\t");
           
    for (int column = 0; column < headerValues.length; column++) {
                 tblView
    .getColumns().add(
                 createColumn
    (column, headerValues[column]));
           
    }

           
    // Data:

           
    String dataLine;
           
    while ((dataLine = in.readLine()) != null) {
                
    final String[] dataValues = dataLine.split("\t");
                
    // Add additional columns if necessary:
                
    for (int columnIndex = tblView.getColumns().size(); columnIndex < dataValues.length; columnIndex++) {
                      tblView
    .getColumns().add(createColumn(columnIndex, ""));
                
    }
                
    // Add data to table:
                
    ObservableList<StringProperty> data = FXCollections.observableArrayList();
                
    for (String value : dataValues) {
                     data
    .add(new SimpleStringProperty(value));
                
    }
                 tblView
    .getItems().add(data);
           
    }
      
    } catch (Exception ex) {
           
    System.out.println("ex: " + ex.toString());
      
    }


      
    for(int i=0; i<tblView.getColumns().size(); i++) {
           
    TableColumn col = (TableColumn)tblView.getColumns().get(i);
           col
    .setPrefWidth(70);
      
    }
    }

    private TableColumn createColumn(
      
    final int columnIndex, String columnTitle) {
           
    TableColumn column = new TableColumn(DefaultVars.BLANK_CHARACTER);
           
    String title;
           
    if (columnTitle == null || columnTitle.trim().length() == 0) {
                title
    = "Column " + (columnIndex + 1);
           
    } else {
                title
    = columnTitle;
           
    }


           
    Callback<TableColumn, TableCell> cellFactory = new Callback<TableColumn, TableCell>() {
           
    @Override
           
    public TableCell call(TableColumn p) {

                
    System.out.println("event cell");
                
    EditingCellData cellExtend = new EditingCellData();
                
    return cellExtend;
           
    }
      
    };

      column
    .setText(title);
      column
    .setCellValueFactory(cellFactory);
      
    return column;
    }


    Thanks for your reading.

    See this thread: Re: dynamically create columns

    This example is not editable, but to do so, simply add something like

        column.setCellFactory(TextFieldTableCell.>forTableColumn());
    

    the createTableColumn (...) method.

    Either said by the way, where did you code that you pasted in your post? It looks like in my previous post.

    Post edited by: James_D

  • Creating a component tileList with dynamic column widths

    I am trying to create a list containing the column widths Sylvie determined by the size of the string inside the list, for example, each line may have a different number of objects according to their length:

    The list might look like this

    Texas Ohio Maine Iowa

    Mississippi Washington

    Florida Nevada Oregon

    Massachusetts Hawaii

    How I make a list like this?

    Looking something like this: http://evtimmy.com/2009/06/flowlayout-a-spark-custom-layout-example/

  • TableView with dynamic and updatable columns

    Hello!!

    Im trying to encode a TableView with dynamic columns and I saw a lot of examples like this: create columns dynamically

    But none who would work for my needs.

    Its very simple:

    I got a list of customers, and each has a list of purchases.

    A purchase has a string "buyDetail" and a Date for the ship.

    My TableView need the first column with the name of the client, and a column more for each day of existing ships.

    We do not know previously days that will be used.

    If the sum is greater than 100, for example, I need to be able to apply different styles.

    Example:

    Customer 02/01/2015 03/01/2015 09/01/2015
    Morgan$400 (buyDetail)0$100
    Luis00$20
    Steven$1000
    Hulk0$5$32

    I can't use the properties because I don't know how to buy will have to each customer.

    My best test (only for the first column) was next, but I can't buy it updated if I change the value in the cell:

    I did not try to write other code columns because I feel that I don't hurt really...

    This shows the names of Customer´s, but I can't manage if data modification.

    table = new TableView<Customer>();
    ObservableList<Customer> lista = FXCollections.observableList(registros);
    
    table.setItems(lista);
    
    TableColumn<Customer, Customer> customerNameColumn = new TableColumn<Customer, Customer>("");
      customerNameColumn.setCellValueFactory(new Callback<CellDataFeatures<Customer, Customer>, ObservableValue<Customer>>() {
      public ObservableValue<Customer> call(CellDataFeatures<Customer, Customer> p) {
      return new SimpleObjectProperty(p.getValue());
      }
      });
    
      customerNameColumn.setCellFactory(column -> {return new TableCell<Customer, Customer>() {
      @Override
      protected void updateItem(Customer item, boolean empty) {
      super.updateItem(item, empty);
    
      if (item == null || empty) {
      } else {
      setText(item.getName());
      //APPLY STYLE
      }
      }
      };
      });
    
      table.getColumns().addAll(customerNameColumn);
    

    Post edited by: user13425433

    The columns are available already update default... If you happen to use JavaFX properties for the value of the source.

    The core of you're your question lies in your cellValueFactory.

    Here we have only the cellValueFactory for the name, not for the other columns. So I'll take the name for example, and you have to adapt to the other columns.

    But if you do something like this to your cellValueFactory:

    new SimpleObjectProperty(p.getValue().getName());
    

    Then the name can never be updated if it modifies the client instance: there is no "link" between the name and the property used by the table.

    We have therefore 3 test case:

    • If the name is a property of JavaFX and you do something like:
    TableColumn customerNameColumn = new TableColumn("Customer");
    customerNameColumn .setCellValueFactory(new PropertyValueFactory<>("name"));
    

    Then, if the name change pending Customer-> value in the table automatically changes.

    It also works the other way around: If the table is editable, and the name property is not unalterable-> the value of the changes of names in the Customer instance follows the table has been changed.

    • Now, if your name is not a property of JavaFX but a Java Bean observable property instead (this means that you can register and unregister an instance of Java Bean PropertyChangeListener to this property), you can do:
    TableColumn customerNameColumn = new TableColumn("Customer");
    customerNameColumn.setCellValueFactory(new Callback, ObservableValue>() {
        @Override
        public ObservableValue call(TableColumn.CellDataFeatures p) {
            final Customer t = p.getValue();
            try {
                return JavaBeanStringPropertyBuilder.create().bean(t).name("name").build();
            } catch (NoSuchMethodException ex) {
                // Log that.
                return null;
            }
        }
    });
    

    In this way, you have created a JavaFX property that is bound to an observable property Java Bean.

    Same as above, it works both ways when possible.

    • The latter case is that your name is neither a JavaFX property or a Java Bean-> you can not update unless you happen to create a kind of observer/listener that can update the property with the most recent value.

    Something like that:

    TableColumn customerNameColumn = new TableColumn("Customer");
    customerNameColumn.setCellValueFactory(new Callback ObservableValue>() {
      public ObservableValue call(CellDataFeatures p) {
        final Customer t = p.getValue();
        final SimpleStringProperty result = new SimpleStringProperty ();
        result.setvalue(t.getName());
        t.addNameChangeListener(new NameChangeListener() {
          @Override
          public void nameChanged() {
            result.setvalue(t.getName());
          }
        });
        return result;
      }
    });
    

    If you don't do something like that, the value of the table will never change when the name changes in the instance because the table does not change.

    Now, you will need to apply this theory to your price columns. I hope that I was clear enough to help you.

  • is it possible to apply the sort on the columns added to a dynamic display object?

    Hi all


    We use JDeveloper Studio Edition Version 12.1.3.0.0 and deployed on GlassFish Server Open Source Edition 3.1.2.2 (build 5) and connect to the SQLServer database.


    We have created a dynamic display object in the AM Impl, all objects in view columns are added dynamically.


    All lines are displayed correctly, but when sorting columns data disappear. (point of view are being refreshed, of course).


    is it possible to apply the sort on the columns added to a dynamic display object?

    This is how we show data in the JSF page:


    < af:table lines = ' #{bindings. " DynamicVO.rangeSize}' fetchSize = "#{bindings." DynamicVO.rangeSize}.

    emptyText = "#{bindings." DynamicVO.viewable? "{'No data to display.': 'Access Denied.'}".

    var = 'row' rowBandingInterval = '0' value = ' #{bindings. " DynamicVO.collectionModel}.

    selectedRowKeys = ' #{bindings. " DynamicVO.collectionModel.selectedRow}.

    selectionListener = "#{bindings." DynamicVO.collectionModel.makeCurrent}.

    rowSelection = "single" id = "t1" >

    < af:forEach elements = "#{bindings." Var DynamicVOIterator.attributeDefs}' = 'def' varStatus = 'vs' >

    "< af:column headerText =" #{def.propertyMap.label} "sortable ="true"sortProperty =" #{def.name} ".

    ID = "clmn$ {vs.index}" >

    < af:outputText value = "#{row [def.name]}" id = "ot1" / > "

    < / af:column >

    < / af:forEach >

    < / af:table >




    Thanks guys, I created a custom class that contains a model that can be sorted in a pod of support and I have to the adf work table it and it is very good about sorting.

    JSF:

    Rows = "#{pageFlowScope.crudBean.dynamicTable.collectionModel.RowCount} '"

    contentDelivery = 'immediate' var = 'row' rendered = 'true '.

    Binding = "#{backingBeanScope.crudBackingBean.tasksTable} '"

    selectionListener = "#{backingBeanScope.crudBackingBean.customListener} '"

    "rowSelection ="single"id ="t1"partialTriggers =": pt_gr2 "columnStretching =" column: clmn0 ">

    inlineStyle = "width: 100px;"  ID = "clmn$ {vs.index}" > "

  • Tables created in a stored procedure cannot be used with dynamic SQL? The impact?

    There is a thread on the forum which explains how to create tables within a stored procedure (How to create a table in a stored procedure , however, it does create a table as such, but not how to use it (insert, select, update, etc.) the table in the stored procedure.) Looking around and in the light of the tests, it seems that you need to use dynamic SQL statements to execute ddl in a stored procedure in Oracle DB. In addition, it also seems that you cannot use dynamic SQL statements for reuse (insert, select, update, etc.) the table that was created in the stored procedure? Is this really the case?

    If this is the case, I am afraid that if tables cannot be 'created and used"in a stored procedure using the dynamic SQL, as is the case with most of the servers of DB dynamic SQL is not a part of the implementation plan and, therefore, is quite expensive (slow). This is the case with Oracle, and if yes what is the performance impact? (Apparently, with Informix, yield loss is about 3 - 4 times, MS SQL - 4 - 5 times and so on).

    In summary, tables created within a stored procedure cannot be 'used' with dynamic SQL, and if so, what is the impact of performance as such?

    Thank you and best regards,
    Amedeo.

    Published by: AGF on March 17, 2009 10:51

    AGF says:
    Hi, Frank.

    Thank you for your response. I understand that the dynamic SQL is required in this context.

    Unfortunately, I am yet to discover "that seeks to" using temporary tables inside stored procedures. I'm helping a migration from MySQL to Oracle DB, and this was one of the dilemmas encountered. I'll post what is the attempt, when more.

    In Oracle, we use [global temporary Tables | http://www.psoug.org/reference/OLD/gtt.html?PHPSESSID=67b3adaeaf970906c5e037b23ed380c2] aka TWG these tables need only be created once everything like a normal table, but they act differently when they are used. The data inserted in TWG will be visible at the session that inserted data, allowing you to use the table for their own temporary needs while not collide with them of all sessions. The data of the TWG will be automatically deleted (if not deleted programmatically) when a) a commit is issued or b) the session ends according to the parameter that is used during the creation of the TWG. There is no real need in Oracle to create tables dynamically in code.

    I noticed that many people say that the "Creation of the tables within a stored procedure" is not a good idea, but nobody seems necessarily explain why? Think you could elaborate a little bit? Would be appreciated.

    The main reason is that when you come to compile PL/SQL code on the database, all explicit references to tables in the code must correspond to an existing table, otherwise a djab error will occur. This is necessary so that Oracle can validate the columns that are referenced, the data types of those columns etc.. These compilation controls are an important element to ensure that the compiled code is as error free as possible (there is no accounting for the logic of programmers though ;)).

    If you start to create tables dynamically in your PL/SQL code, so any time you want to reference this table you must ensure that you write your SQL queries dynamically too. Once you start doing this, then Oracle will not be able to validate your SQL syntax, check the types of data or SQL logic. This makes your code more difficult to write and harder to debug, because inevitably it contains errors. It also means that for example if you want to write a simple query to get that one out in a variable value (which would take a single line of SQL with static tables), you end up writing a dynamic slider all for her. Very heavy and very messy. You also get the situation in which, if you create tables dynamically in the code, you are also likely to drop tables dynamically in code. If it is a fixed table name, then in an environment multi-user, you get in a mess well when different user sessions are trying to determine if the table exists already or is the last one to use so they can drop etc. What headache! If you create tables with table names, then variable Dynamics not only make you a lot end up creating (and falling) of objects on the database, which can cause an overload on the update of the data dictionary, but how can ensure you that you clean the tables, if your code has an exception any. Indeed, you'll find yourself with redundant tables lying around on your database, may contain sensitive data that should be removed.

    With the TWG, you have none of these issues.

    Also, what is the impact on the performance of the dynamic SQL statements in Oracle? I read some contrasting opinions, some indicating that it is not a lot of difference between static SQL and SQL dynamic in more recent versions of Oracle DB (Re: why dynamic sql is slower than static sql is this true?)

    When the query runs on the database, there will be no difference in performance because it is just a request for enforcement in the SQL engine. Performance problems may occur if your dynamic query is not binding variable in the query correctly (because this would cause difficult analysis of the query rather than sweet), and also the extra time, to dynamically write the query running.

    Another risk of dynamic query is SQL injection which may result in a security risk on the database.

    Good programming will have little need for the tables of dynamically created dynamically or SQL.

  • I can get the data of a hygrometer using the RS232 port with the following T75.2F:H17.0% using a RS232 data logger format. I was wondering if I can collect this data for later analysis using Dasylab. Any help is appreciated.

    I can collect data from a hygrometer in a text file using the RS232 port with the following T75.2F:H17.0% format, these data are collected using a data logger software. I was wondering if I can collect this data for later analysis using Dasylab. Any help is appreciated.

    The setting below causes the error. Change for the second selection, output values of all channels.

  • I ve been using Adobe photoshop Album 3.2 Starter edition of collection of photos with my digital camera for many years. During this time I ve got a new

    I ve been using Adobe photoshop Album 3.2 Starter edition of collection of photos with my digital camera for many years. During this time I ve got aof n new PC with Windows 7.0 and you want to pick up my photos of the past years, which were placed in separate folders of Adobe album back. I ve made my backup system from the old PC via the real picture Acronics, edition 11 program. How can I extract my Scrapbook easily back and surround him with the newly downloaded version of starter edition Adobe photo shop, easily keep the old file system?

    This product has been discontinued Photoshop elements should now be used, your Photos, you have had in Photoshop Album are normal image and always on your machine files in your backup. You must restore the albums on your disc.

  • Fill a table with two columns using a custom bean

    Hello

    Can you provide me or give me a link to an example of populating a table (with two columns) with a custom bean?

    Thank you

    TSPS

    Hello..
    I'm Jules Destrooper is what you want

    http://download.Oracle.com/docs/CD/E18941_01/tutorials/jdtut_11r2_36/jdtut_11r2_36.html

    Hopes, will help you

  • Using the name of dynamic column in datagrid selectedItems

    Hello

    I have a datagrid that is loaded with 2 columns. AllowMultiSelect is enabled.

    Based on the values selected at runtime, I get the correspondent selected the name of the column and its values and displays it on the screen of the HTML.

    GRP is datagrid

    dgrcl is a data grid column

    selflds is a table that has values 0,1,2,3

    selflds [0] = name, selflds [1] = age

    for (var l:int = 0; < grp.columnCount; l ++)

    {

    dgrcl = grp.columns [l];

    selflds [l] = dgrcl.dataField;

    }

    srhVals will have a single value selected in one point any

    get the corresponding name of the selected column and its value

    var srhVals:String;

    srhVals = String(grp.selectedItem[selflds[1]]);

    I'm trying to make the selection above instead in .selectedItems something like below. By doing that, I'll get all selected items, but not a single. If I try under syntax, I get error. Anyone have any ideas on how to make.

    srhVals = String(grp.selectedItems.selflds[1]);

    Hello

    I got my mistake, there should be no point after selectedItems operator;

    I found a solution - it goes like this:

    for (var g:int = 0; g<>

    {

    srhVals = srhVals + String(grp.selectedItems[g][selflds[1]]);

    }

    If the whole scenario is like this:

    DataGrid:

    Name age

    a               20

    b               30

    c               40

    d               50

    I select b, d in the user interface. At runtime, I get the selecteditem as 'Name' column name programmatically, loops through the selecteditems and store the value in srhVals b, d.

    b, d will finally be shown in the user interface.

  • Sort on dynamic query problem!

    Hello

    I have a dynamic query written in pl/sql, when I check "Sort" for each field in the report attribute, error message resurrected as "ORA-01785: ORDER BY item must include the number of an expression in the SELECT list.
    If I do not check sort, it works very well. In my applications, I need all the fields sorted by user, how do I solve this problem?

    My query as below:

    declare
    Ask varchar2 (2000): = "select";
    s_class varchar2 (1000);
    cursor c1 is select * from demo_preference;
    Start
    for c1_val looping c1
    If c1_val.login is not null then
    query: query = | » ' || 'login ' | ',';
    end if;
    If c1_val.id is not null then
    query: query = | » ' || 'id ' | ',';
    end if;
    .......
    end loop;
    query: = SUBSTR (query, 1, length (query)-1);

    s_class: = ' (NVL (: P2_class, "%" |)) ''null%'') = ''%'' || "zero percent" OR
    EXISTS (SELECT 1 FROM apex_collections WHERE collection_name = "P2CLASSCOL" AND class = c001))';

    query: query = | » ' || ' from ming.reg_report_view1 where '.
    || ' ' || s_class;
    Return (Query);
    end;

    Maybe the internal column used when you clicked the sort is not indicated in the report. Try to use aliases when you build the query string, it might help apex internally to identify a column even if its order is changed to another user. After all, the order of the columns in the code is dynamic and I assume that even the number of displayed columns can vary that could sort on a column that is identified by a number not valid.

    How about somewhere, displaying the report query so that you know what is the exact query processing, it could give you the best information on the problem.

    If the problem persists, use a collection that is extracted these record using the same query string, then replace the report to view the collection and then set the sort column on. This way Summit could get confused about which columns are being sorted and it would just sort on a c001... C050 column as if it were a string (Yes problems with the number of sort columns when you do this).

  • Dynamic columns based on the user login

    Dear Experts,

    Is it possible to display the columns dynamically according to the connection of the BI Publisher user?

    For example, if the report of RTF model has 10 columns in total and if I connect with a user named "abc", I should be able to see, say 6 columns containing information about the user "abc".

    And if I have connection with "xyz", I should be able to see, say 7 columns containing information about the user "xyz".

    I will be able to assign to which column should be displayed to the user who?

    If there is a way to achieve this scenario, please let me know as soon as possible, since there is an urgent need.

    Your help will be very appreciated.

    Thanks in advance!

    Yes, using: xdo_user_name in the SQL data model, you can get the details for user identification.

    Then use this model column RTF for display of the dynamic columns.

    Example:

    Select: xdo_user_name as USER_ID of the double

    In RTF

    Column header

    Column data

  • Materialized with dynamic input possible view?

    Hello

    We have some end users have a very complex query of SQL reports (~ 2500 lines) they came with.  We are trying to tune and to create additional indexes as needed.  He has made more than one aggregation of xml and the chain in select statements.  in any case while I'm looking for other methods deal with the problem regardless of a potentially inefficient SQL query.

    In my opinion, they said that the query taking ~ 6000 sec to finish and basically http sessions expire of their web application after 4000 seconds of inactivity.  They have a few dynamic user input from the web page which is fed in the request for multiple WHERE clauses.  So I think we want to have this query that is run in offline mode (after the user input is collected) as well as the results stored in a table, then the wep app can do a simple select query to retrieve data from the table of results later.

    Is there a way to create a materialized view and replace user with some variables bind input and update the values of the variables bind with the participation of the user whenever they want the data, and then refresh the materialized view?  Or if there is a better mechanism for Oracle to run asynchronously this query offline with dynamic input and then store the results in a table?  My problem is that I don't know if they can call a sp and feed the bind values as parameters, but maybe I need to force them to.  I really don't want to process SQL statements dynamic that their request is so great andt hey asked me on GTT, but I was under the impression that the data is lost after each session and probably wouldn't really solve anything.  Thoughts?


    Oracle Database 11 g Enterprise Edition Release 11.2.0.4.0 - 64 bit Production

    Web pages should return something in<5s or="" the="" end-user="" will="" hit="" the="" refresh="" button="" again="" and="" again="" and="" again="" and="">

    Do something like this:

    • store the query to run the sql in a table with the values for the variables bind (parent table)
    • run the SQL in the background via DBMS_SCHEDULER
    • store the results in a partitioned table. (child table) (I assume a large amount of data)
      • for example, use a partition of range interval by sequence ID 1. of the parent
    • update the parent with the status table "Hey, I'm made.
    • Maybe the applicant send an email.
    • Web page queries only the parent table.
    • a scheduled task removes the no-more-required data through DROP PARTITION.

    MK

Maybe you are looking for