Display / hide column IR dynamically

Hello

ApEx Oracle 10g and 11g 4.1.0.

I need to be able to dynamically hide or display columns in an interactive report, based on a value of element (radio buttons), without reloading the page.

I have two columns 'H' and 'Z' in my interactive report.
I have a question P9_COORD_SYSTEM (radio buttons) which can return 'H' or 'Z '.
And I want to show/hide the right according to the value of the column.

I tried to set conditional display of column "H":

-Condition Type: Point value / Expression 1 column = Expression 2
-1 expression: P9_COORD_SYSTEM
-Expression 2: H

But it is not working, even reloading the report in question of the modified value:
$('#P9_COORD_SYSTEM').change(function() {
     gReport.search('SEARCH');
});
I can show/hide the columns using Javascript, of course, but when I change the pagination in the report I have to hide/show columns every time...
$('#P9_COORD_SYSTEM').change(function() {
     if ($v('P9_COORD_SYSTEM') == 'H') {
          $('#my_report').find('th[id="Z"], td[headers="Z"]').hide();
          $('#my_report').find('th[id="H"], td[headers="H"]').show();
     }
     else {
          $('#my_report').find('th[id="H"], td[headers="H"]').hide();
          $('#my_report').find('th[id="Z"], td[headers="Z"]').show();
     }
});
So it is not a solution...

Is there any solutions for this?

Thank you for your help.

Yann.

Yann39 wrote:
Conditional display of column "H":
-Condition Type: Point value / Expression 1 column = Expression 2
-1 expression: P9_COORD_SYSTEM
-Expression 2: H

Hello

Also remove leading colon to the name of the element in the Expression 1

Kind regards
Jari

http://dbswh.webhop.NET/dbswh/f?p=blog:Home:0

Tags: Database

Similar Questions

  • display / hide column of the table running

    Are there known issues with display / hide a column of the table at run time?

    I have a table that contains a column with a check box and another with a radio button.  If the user is allowed to select more than one row in the table (as indicated by a form variable), then I want to hide the column of radio and checkbox column.  If not, I want to show / hide the contrary.

    I show / hide the column header too.  When I preview the form, however, the data in the table appears "scoot" left and placed in the column that is hidden, so to speak.

    Here is a view of the design of the table:

    tableDesignView.jpg

    And a view of the execution of the table.  You can see the radio is hidden, but the "account number" column wants to crush in the (hidden) radio column,

    tableRunTimeView.jpg

    Here is the script, I'm very confident in this small snippet of code because the lines of account were filling wonderfully until I added the column of radio buttons and the script to show/hide.

    Put the account data in the table

    function

    setAccountData (objAccountRow, objAccountItem) //Pass in the line and data to complete line

    {

    stuff the line

    objAccountRow.accountNumber.rawValue

    = objAccountItem.accountNumber;

    objAccountRow.accountName.rawValue

    = objAccountItem.accountName;

    objAccountRow.accountBalance.rawValue

    = objAccountItem.accountBalance;

    display the check box or radio button, depending on the number of accounts they are allowed to select (as specified by the form variable)

    var searchNumAccounts = objFragment.resolveNode("searchNumAccounts").value; Variable //Form

        if (searchNumAccounts==1)

    { //show the column of radio buttons and hide the checkbox column }

    hideObject (objResultsSubform.accounts.HeaderRow.txtSelect);   <-it's exaggerated here, to hide the table for each row header column,...

    hideObject (objAccountRow.accountSelected);

    showObject (objResultsSubform.accounts.HeaderRow.txtRadioSelect);

    showObject (objAccountRow.radioSubform.radioGroup.selected);

    }

    on the other

    { //show the checkbox column and hide the column of radio }

    hideObject (objResultsSubform.accounts.HeaderRow.txtRadioSelect);

    hideObject (objAccountRow.radioSubform.radioGroup.selected);

    showObject (objResultsSubform.accounts.HeaderRow.txtSelect);

    showObject (objAccountRow.accountSelected);

    }

    }

    OK I got it. The table object implements a container to contain the fields. You hid the ok fields, but you then never reset the row in the table to have only two columns. I copied the parameter of the XML source so that I would have the exact width and then deleted the one I wanted to hide. Now everything works fine.

    See the example updated the.

    Paul

  • Dynamically show/hide columns in the reports of the IR

    Env

    RDBMS: Oracle XE 11.2

    Request Express 4.2.4.00.08


    Hi all

    I am bulding an open source oracle apex app to track aircraft using ADS - B technology.

    I have somes types of units.  for example (kilometers, miles, knots, feet and metres).

    So, in the report of the IR, I want pick capable of showing a unit in time.

    For example

    Radio Group.

    Ground speed: (*) km/h () Mhp (Knt)

    Vertical speed: (*) ft/s (m/s)

    Can anyone help to build a code or point a direction to get above result?

    I tried already a thread, but did not work.

    Apex: Display/hide report column with Radio button. 2 cents to Oracle by Christoph

    Display / hide column IR dynamically


    I have a limited knowledge of Oracle APEX.


    Levi Pereira says:

    I am bulding an open source oracle apex app to track aircraft using ADS - B technology.

    I have somes types of units.  for example (kilometers, miles, knots, feet and metres).

    So, in the report of the IR, I want pick capable of showing a unit in time.

    For example

    Group of radio buttons.

    Ground speed: (*) km/h () Mhp (Knt)

    Vertical speed: (*) ft/s (m/s)

    There are different ways to do this. Probably the easiest would be:

    1. Create lists of values (LOVs) for units.
    2. Add the elements of the Group of radio -based unity LOVs report interactive region (IR), by specifying one of the units as a default value.
    3. Present the radio group via the Items property of the Page to send IR region.
    4. Create multi-column report for each metric combination / unit.
    5. Control the display of the report columns (applies to IR, but also classic report columns) conditionally using value of element in the Expression 1 = Expression 2 conditions Expression 1 is the group element of relevant radio and Expression 2 unit LOV value corresponding to that used in the column of the report.
    6. Add a dynamic action on the evolution of the components of the radio to refresh the IR region.

    A less obvious approach would also use LOVs, group radio elements and dynamic action of change/update as above, but only have one column for each measure in the report. The column value is calculated using an expression based on the value of the radio group, for example:

    .
    .
    .
    /* Assuming base speed unit is km/h */
      ground_speed
    * case :p1_ground_speed_unit
        when 'mph' then 0.621371
        when 'kn' then 0.539957
        else 1
      end ground_speed
    .
    .
    .
    

    The unit could be indicated in the column heading in the report referring to the element of the device by using a substitution of static text string:Ground Speed (&P1_GROUND_SPEED_UNIT.)

  • Hide column of the HFM 11.1.2.3 web form

    Hello

    I'm quite new to HFM and I have what could be a very stupid problem.

    Our requirement is to show on an online form < Parent Curr Total > by entity, a column of eliminations and assets < entity Curr Total >

    Entity 1 Entity 2 Entity n. Eliminations Holding

    As the eliminations are at the basic level and boils down not to the parent company, tried to add each column of elimination of entities to the web form and calculate a column as being the sum of all of the eliminations.

    So much and so much good, but when it comes to hidding columns in entity removal, I simply have not found how. I tried to change the width of the columns of 1px, 1 pt, 0% etc and the column remains with the same width, but IV ' e did the same on the 11.1.1.3 version and it works, kind of weird. I also tried to hide the added display: no and he's hiding the values, the column always shows.

    Summer research everywhere and have not been able to find advice on how to hide the columns, so I would be very happy if somenone could help me.

    Thank you very much for your time,

    See you soon

    Santiago

    Hello. Build the questionnaire to show the children of the parent entity to in the first column, the parent entity to in the third column and the second column as col3 calc less col1.

    Eric

    Eric Erikson, CPA

    Consultant independent HFM

    828-485-8454.

    [email protected]

    www.LinkedIn.com/in/ericerikson

    ericerikson.blogspot.com

  • Hide/show a dynamic field

    Hello

    I'm new to OFA.

    I have a requirement to hide/show a dynamic field based on the operating unit.

    So instead of hard coding UO, I use lookup.

    Now, what I've done, spread the VO and VO query added a new column to validate in relation to research and back 'n' or 'Y '.

    I created a transitional and in VORowImpl attribute. I'm valid against the newly added column VO and assigning the value TRUE or FALSE to the transitional attribute.

    and I'm on SPEL in Customizing the page.

    Now what is happening is when an existing record is asked in the page, the field is hidden/unhinden based on the given condition.

    But when a new record is created, this condition does not work.

    So I guess that the VO don't get initialized when the page is loaded? Is this the reason why the condition is unchecked in VORowImpl?

    My hypothesis is correct?

    How do I get my requirement?

    Pointers would be useful...

    Thank you

    Naren

    Hi AJ,.

    I forgot to update the thread. Reached the requirement.

    Solution,

    Created a transient VO attribute.

    Then in VORowImpl, written the code to set the transient attribute.

    Then using customization, SPELL, set the property to the item.

    It works perfectly.

    Thank you for guiding me to assign to the attribute.

    Kind regards

    Naren

  • Show hide columns generates error on the page if not found data

    Hello

    Has anyone ever encountered a situation where a page error when using the feature show hide column and no data is returned.

    My region to report is based on SQL and when calling at the start page or when restrictions are no match all all the data that appears is the message "No data found" by default. The method used, I pulled Carl Backstrom (RIP) application.

    < script type = "text/javascript" >
    function html_HideBasedOnCheckBox (pThis, pThat) {}
    if(pThis.Checked == true) {}
    html_ShowCellColumn (pThat);
    } else {}
    html_HideCellColumn (pThat);
    }
    }

    function getCellIndex (pRow, pCell) {}
    If (document.all) {}
    for (var i = 0; i < pRow.cells.length; i ++) {}
    If (pRow.cells [i] == pCell) {l_Count = i}
    }
    } else {}
    l_Count = pCell.cellIndex;
    }
    Return l_Count;
    }

    function html_HideCellColumn (pId) {}
    var l_Cell = $x (pId);
    var l_Table = html_CascadeUpTill (l_Cell, 'TABLE');
    var l_Rows = l_Table.rows;
    l_CellI = getCellIndex (l_Cell.parentNode, l_Cell);

    for (var i = 0; i < l_Rows.length - 1; i ++) {}
    html_HideElement (l_Rows.cells [l_CellI]);
    }
    return;
    }

    function html_ShowCellColumn (pId) {}
    var l_Cell = $x (pId);
    var l_Table = html_CascadeUpTill (l_Cell, 'TABLE');
    var l_Rows = l_Table.rows;
    l_CellI = getCellIndex (l_Cell.parentNode, l_Cell);

    for (var i = 0; i < l_Rows.length - 1; i ++) {}
    html_ShowElement (l_Rows [i]. Cells [l_CellI]);
    }
    return;
    }

    < /script >

    The attributes of HTML form elements is: onclick = "html_HideBasedOnCheckBox (this, this.value)" "

    The LoV for this box is static for a column.

    This set works very well if the data is returned. It must have something to do with the topics defined in the SQL code and therefore are not displayed when no data is returned. The code is then try to hide or something that does not exist.

    The part where he falls is during the setting of the variables:

    function html_HideCellColumn (pId) {}
    var l_Cell = $x (pId);
    var l_Table = html_CascadeUpTill (l_Cell, 'TABLE');
    var l_Rows = l_Table.rows;
    l_CellI = getCellIndex (l_Cell.parentNode, l_Cell);

    ... and more specifically the last variable setting: l_CellI = getCellIndex (l_Cell.parentNode, l_Cell);

    Does anyone know how I can get around this by using the method of SQL report i.e. Select col1 col2 "Column 1", "column 2" From myTable etc. or if it is possible to make up for it at the beginning that is

    If NO_DATA
    then
    dont_hide/display_any_columns that_dont_exist
    on the other
    var l_Cell = $x (pId);
    var l_Table = html_CascadeUpTill (l_Cell, 'TABLE');
    var l_Rows = l_Table.rows;
    l_CellI = getCellIndex (l_Cell.parentNode, l_Cell);

    for (var i = 0; i < l_Rows.length - 1; i ++) {}
    html_ShowElement (l_Rows [i]. Cells [l_CellI]);
    }
    return; ........

    ???

    See you soon,.

    Mike

    Hi Mike,.

    In fact, you can check the existence of the cell:

    var l_Cell = $x(pId);
    if (l_Cell)
    {
     rest of the code to hide the column
    }
    

    As long as l_Cell makes reference to a valid page element, then the if test passes and the rest of your code can work.

    Andy

  • I just started using my new iMac 27 "and in Mail, I can't find the setting to display a column that shows the number of emails in each folder.  Mavericks, I had this column.  I have checked all the menus and preferences and search online.

    I just started using my new iMac 27 "and in Mail, I can't find the setting to display a column that shows the number of emails in each folder.  Mavericks, I had this column.  I have checked all the menus and preferences and search online.

    Click the triangle next to the Inbox to view the Inbox for each account. Then select the desired mailbox and the information will be displayed in the upper part.

    You are entitled to 90 days telephone support from Apple. Try to contact them.

    Apple Support contact

    Apple Support by email or chat

    Contact Apple Support - phone

  • Hide columns in Table B, based on values LOV in another row of the table:

    Hello

    Jdev 12.2.1.0

    I have two tables A and B and I hide columns b based on the value of row of table A LOV. For example, I have a line in A table that has a column with the x, y, z values lov. Now, if I select the row in the table has and change the LOV to x, I had to hide some of the columns in the table (B) is there a way to get this feature? Any help would be appreciated.

    Thank you

    Assume:

    1 table a call "DepartmentId" column this column has LOV.

    B 2-table a column "ColumnInB" this column will be visible depending on the value of "DepartmentId".

    Try to do the following:

    1 - from data controls, drag "DepartmentId" attribute and drop it on the page as inputText then together make this inputText to false (you can remove it, but don't forget the corresponding binding in pageDef. not deleted).

    2. copy the value of the inputText which will be as "#{bindings." DepartmentId.inputValue}"and go to the"ColumnInB"column and visible property beyond the copied value.

    3 - the ColumnInB visible will be the condition as:

    4-set DepartmentId autoSubmit = 'true '.

    5-set table partialTriggers table B has id and id of DepartmentId LOV

  • Compare and display several column data according to requirement

    Hello

    I have a requirement where I want to compare the data in two tables and display only the columns if there is a gap using the sql query.

    Tell userid, e-mail and phone number of the same employee is stored in two tables. Now, I want to compare data from e-mail and phone number of the two tables and display the e-mail and phone number as if they are different data.

    Employee table:

    user_id E-mail phone
    emp01[email protected]00200
    emp02[email protected]

    00300

    emp03[email protected]00400

    Table user_details:


    ID user_email user_phone
    emp01[email protected]00201
    emp02(null)00300
    emp03[email protected]00401


    Please note that both tables have completely different column names and the data may contain a null as well. What I want to achieve is to compare the same employee data in both tables and display columns that have a different value of user_details table; as:


    user_id user_email phone
    emp01[email protected]00201
    emp02(null)
    emp03[email protected]00401


    As the table column names are different, I can't use a join and less to know the difference. I tried this with the help of CASES after the WHERE clause for comparison of columns multiple but GOLD or AND the two would defy the condition to display all columns with different data for the same line.


    How to do this without creating a separate view or a table that I don't have write access? Pointers would be useful.


    -Thank you.


    No need for something like

    You just run

    Select k.user_id, k.id,.

    e.email, u.user_email,

    e.Phone, u.user_phone

    of user_key_table k

    left outer join

    e employee

    On k.user_id = e.user_id

    left outer join

    user_details u

    on k.user_id = u.id


    the rest is here just to simulate your tables (I don't want to create tables in my APEX Tablespace as there are far too many people already)

    Concerning

    Etbin

  • How to make a label (javafx) to display the current time dynamically?

    Hi all

    How to make a label (javafx) to display the current time dynamically?

    I have not found a Type of event related to the time in javafx API.

    Please give me some suggestions. Thank you!

    Sage

    There are lots of examples of JavaFX clocks available, for example https://gist.github.com/jewelsea/3388637 or http://blog.crisp.se/2012/08/09/perlundholm/an-analog-clock-in-javafx

    For a simple label displaying the time, the simplest thing is to create a Timeline with duration 1 second and the number of indefinite cycle, which triggers an event handler that updates the label:

    final Label clock = new Label();
    final DateFormat format = DateFormat.getInstance();
    final Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(1), new EventHandler() {
         @Override
         public void handle(ActionEvent event) {
              final Calendar cal = Calendar.getInstance();
              clock.setText(format.format(cal.getTime());
         }
    });
    timeline.setCycleCount(Animation.INDEFINITE);
    timeline.play();
    

    (If you use Java 8, use the new time API, which is much more pleasant than calendar.)

  • How to not display the column heading in the table view?

    I don't want to display the column header in the table display, how I can make?

    If you use JavaFX 8, you can use the following text in an external style sheet:

    .table-view .column-header-background {
      -fx-pref-height : 0 ;
    }
    

    If you use JavaFX 2.2, the - fx-pref-height attribute is not available in css, so I think that you must resort to a search:

    final Region tableHeader = (Region)table.lookup(".column-header-background");
        tableHeader.setPrefHeight(0);
    

    As always, I am obliged to point out that I don't really like the research. Sometimes, they seem to be the only way, however.

  • Display the column in the table, but not in the IR

    Hi guys,.

    [apex Oracle 11 g 4.2]

    Is there a way to display a column in a graph that is generated by the IR and is not in the table-IR?

    I know I can chosse columns in the IR and choose to not display this column. It's going to work.

    But if I put the column 'hidden' in the attributes of IR Section I can't create a chart out of it.

    So I want to create a graph of the same data that the (default) column is hidden.

    THX in advance Thorsten

    There is no way to do it.

    Denes Kubicek
    -------------------------------------------------------------------
    http://deneskubicek.blogspot.com/
    http://www.Apress.com/9781430235125
    http://Apex.Oracle.com/pls/Apex/f?p=31517:1
    http://www.Amazon.de/Oracle-Apex-XE-Praxis/DP/3826655494
    -------------------------------------------------------------------

  • javaFX: cellvalue TableView is not enough to display in columns, I want to...

    javaFX: cellvalue TableView is not enough to display in columns, it will cut end «...» "how show a tip on these cells?
    I need a gimmick because sometimes I can't drag the colunm head. So I can't see the contents of the cell.

    Create a custom cell and replace the updateItem method. Add a balloon:

                       Tooltip tip = new Tooltip(getString());
                       Tooltip.install(this, tip);
                  
    

    Here is an example (a ToolTip for the column email):

    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;
    
    import javafx.application.Application;
    import javafx.beans.property.SimpleStringProperty;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Insets;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.control.TableCell;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableColumn.CellEditEvent;
    import javafx.scene.control.TableView;
    import javafx.scene.control.TextField;
    import javafx.scene.control.Tooltip;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.layout.HBox;
    import javafx.scene.layout.VBox;
    import javafx.scene.text.Font;
    import javafx.stage.Stage;
    import javafx.util.Callback;
    
    public class TableViewToolTipSample extends Application {
    
        private TableView table = new TableView();
        private final ObservableList data =
                FXCollections.observableArrayList(
                new Person("Jacob", "Smith", "[email protected]"),
                new Person("Isabella", "Johnson", "[email protected]"),
                new Person("Ethan", "Williams", "[email protected]"),
                new Person("Emma", "Jones", "[email protected]"),
                new Person("Michael", "Brown", "[email protected]"));
        final HBox hb = new HBox();
    
        public static void main(String[] args) {
            launch(args);
        }
    
        @Override
        public void start(Stage stage) {
            Scene scene = new Scene(new Group());
            stage.setTitle("Table View Sample");
            stage.setWidth(450);
            stage.setHeight(550);
    
            final Label label = new Label("Address Book");
            label.setFont(new Font("Arial", 20));
    
            table.setEditable(true);
            Callback cellFactory =
                    new Callback() {
                        public TableCell call(TableColumn p) {
                            return new CustomCell();
                        }
                    };
    
            TableColumn firstNameCol = new TableColumn("First Name");
            firstNameCol.setMinWidth(100);
            firstNameCol.setCellValueFactory(
                    new PropertyValueFactory("firstName"));
           // firstNameCol.setCellFactory(cellFactory);
    
            TableColumn lastNameCol = new TableColumn("Last Name");
            lastNameCol.setMinWidth(100);
            lastNameCol.setCellValueFactory(
                    new PropertyValueFactory("lastName"));
          //  lastNameCol.setCellFactory(cellFactory);
    
            TableColumn emailCol = new TableColumn("Email");
            emailCol.setMinWidth(200);
            emailCol.setCellValueFactory(
                    new PropertyValueFactory("email"));
            emailCol.setCellFactory(cellFactory);
    
            table.setItems(data);
            table.getColumns().addAll(firstNameCol, lastNameCol, emailCol);
    
            final VBox vbox = new VBox();
            vbox.setSpacing(5);
            vbox.setPadding(new Insets(10, 0, 0, 10));
            vbox.getChildren().addAll(label, table, hb);
    
            ((Group) scene.getRoot()).getChildren().addAll(vbox);
    
            stage.setScene(scene);
            stage.show();
        }
    
        public static class Person {
    
            private final SimpleStringProperty firstName;
            private final SimpleStringProperty lastName;
            private final SimpleStringProperty email;
    
            private Person(String fName, String lName, String email) {
                this.firstName = new SimpleStringProperty(fName);
                this.lastName = new SimpleStringProperty(lName);
                this.email = new SimpleStringProperty(email);
            }
    
            public String getFirstName() {
                return firstName.get();
            }
    
            public void setFirstName(String fName) {
                firstName.set(fName);
            }
    
            public String getLastName() {
                return lastName.get();
            }
    
            public void setLastName(String fName) {
                lastName.set(fName);
            }
    
            public String getEmail() {
                return email.get();
            }
    
            public void setEmail(String fName) {
                email.set(fName);
            }
        }
    
        class CustomCell extends TableCell {
    
            private TextField textField;
    
            public CustomCell() {
            }
    
            @Override
            public void updateItem(String item, boolean empty) {
                super.updateItem(item, empty);
    
                if (empty) {
                    setText(null);
                    setGraphic(null);
                } else {
                    if (isEditing()) {
                        if (textField != null) {
                            textField.setText(getString());
                        }
                        setText(null);
                        setGraphic(textField);
                    } else {
                        setText(getString());
                        setGraphic(null);
                        Tooltip tip = new Tooltip(getString());
                        Tooltip.install(this, tip);
    
                    }
                }
            }
    
            private String getString() {
                return getItem() == null ? "" : getItem().toString();
            }
        }
    }
    

    If you need a ToolTip for a column heading:

            TableColumn emailCol = new TableColumn();
            Label emailHeaderLabel = new Label("Email header label");
            emailCol.setGraphic(emailHeaderLabel);     
    
            Tooltip tip = new Tooltip("Email header label");
            Tooltip.install(emailHeaderLabel, tip);
    

    Edited: Add a ToolTip to a column header

  • give user option to display a column in asc/desc as needed

    Hi all

    I have a report and I want to give the user the flexibility that it can display a column in a way asc/desc fields.
    Is it possible for a user to give an option as a button or some list drop down so that he can make a choice to view the results accordingly.

    If anyone can suggest a way... !

    Thank you

    Jin
    In a table view, we have the option "Enable column sorting in the dashboards.

    View table--> Table View Properties--> check the column enable sorting in dashboards.
    While in dashboard users have the flexibility to sort their reports asc/desc...

    Thank you
    saichand.v

  • OBIEE dynamically hide columns based on dahsboard guest

    Hi all

    I have a requirement where I have different fields the same as table report (Qty 0, Qty1...) Qty 20 and Desc 0, Desc1... 20 / / DESC and a few other fields of the same type). Now the user wants a selection option where it can enter a value to display a set of fields or multiple as in if it between '1', he expects to see only Qty1, desc1 and rest hidden report and this selection option must be multi select. I don't know if it's feasible. If Yes can you please help me.

    Thank you!!

    I don't think you achieve this using the column selecto as you try to replace several columns in one and Yes, you will need to create several reports and place them into different sections, then use conditional statements to show/hide the based on the value of the variables of the presentation. Not an ideal way to do but it could be acheivable.

Maybe you are looking for