Selecting a column in Answers report based on user prompt/ apply filter

I need to do the following in OBIEE Answers report (version 10.1.3.4.1):
1) Think of a simple table with dim TX_type and some measures like month_jan, month_feb, month_mar
so the fact table looks like (column names) tx_type, month_jan, month_feb, month_mar
2) I need to select the measure column based on a user dashboard prompt, prompt populates a presentation variable var_month = jan or feb or mar
3) I need to select the correct measure (one of these month_jan, month_feb, month_mar) and then apply column filter based on the dim TX_type to split the values of these into multiple columns for report. So the report may look like (in Answers)
Sales , Tax, overheads
where Sales may be defined as sum(month_jan) where rows have TX_type = 'sales'
where Tax may be defined as sum(month_feb) where rows have TX_type = 'tax'
where overheads may be defined as sum(month_mar) where rows have TX_type = 'overheads'
IF the user selects jan
IF user selects Feb then the 3 report columns are based on month_feb and likewise for month_mar
I cannot use column selector option as the report column further apply filter in column filter definitions in Answers...
4) When I try to build the column filter using a presentation variable (var_month), the presentation variable is not getting populated in the column filter.
For e.g. IF var_month = 'jan'
THEN month_jan (let us assume the logical column name is month_jan too)
ELSE month_feb and so on...
However, the var_month always shows 0 in the IF clause. If we used a repository variable instead, it works fine. But since repostory variable cannot be changed on the fly (by user prompt) it is not usable.
We cannot change fact table defintion....and we have 12 measures column and about 8-10 different colum filter based report columns using this measure.

Hi shyamvaran,
have you thought about a SQL statement in the prompt, something like:
SELECT
case when 1=0 then Table."Column" else 'Jan' end
FROM "Subject Area"
union
SELECT
case when 1=0 then Table."Column" else 'Feb' end
FROM "Subject Area"
union
SELECT
case when 1=0 then Table."Column" else 'Mar' end
FROM "Subject Area"
union
SELECT
case when 1=0 then Table."Column" else 'Apr' end
FROM "Subject Area"
etc...
Use this to give you the 12 values for your months then give the prompt column a presentation variable name and set a default value in the 'Default To'. Also set the same default value for the filter.
A couple of points:
1. If you're transforming the presentation variable from 'Jan' to 'month_jan' you may need to edit the syntax for the filter column (not using the dialog box).
2. If you're transforming the behaviour of a dimension / measure column in the report, have you specified the syntax correctly, e.g. sum('@{pres_var}')?
Hope this helps,
Justin

Similar Messages

  • How to Generate a Report Based on User's Parameters from Web Site

    Hi, all,
    I am trying to use Oracle Developer 6.0 Report Builder to generate report based on what user types in from the web site. Since I am a novice, I am wondering if anybody would help me with the following questions:
    1. How can I create a report based on user's parameters?
    Assuming that I have 2 text fields EMPNO and DEPT on the web site, after user types in some value, how can I pass these parameters into my query, can I do something like:
    select ENAME, JOB, EADDRESS from EMP
    where EMPNO =
    some_reference_of_parameters_from_user
    or is there any other way to achieve this functionality?
    2. How can I pass a PDF format report back to user after the report is generated?
    Any help is greately appreciated!!
    Best regards.
    Judy

    Hello,
    In the Report Builder, create two user parameters, and set the parameter name, datatype, width, and default values to what you want. Modify the query and put in a where clause (e.g., where deptno = :p_deptno). When you request the report with PARAMFORM=YES on the URL, it'll generate a default parameter form in HTML and allow the user to enter in the selected parameter values. Also set DESTYPE=CACHE&DESFORMAT=PDF on the URL to get the output back as PDF.
    If you upgrade to Reports 6i, you can customize the default HTML parameter form.
    Regards,
    The Oracle Reports Team --skw                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Show / Hide DOWMLOAD link in classical report based on user rights

    Hi,
    using apex 4.1.
    How i can display or hide download link in classical report based on user rights .
    The User who has download rights ,can download the data from classical report Otherwise it should hide.
    I have passed the code in authorization scheme in shared component as named "VIEW"
    DECLARE
    VNAME VARCHAR2(1000);
    BEGIN
    SELECT PAGE_NAME INTO VNAME FROM APEX_APPLICATION_PAGES WHERE PAGE_ID = :APP_PAGE_ID AND APPLICATION_ID = :APP_ID;
    return GET_ADMIN_STATUS_VIEW_NEW(:APP_USER,VNAME);
    END;How i can call "VIEW'' name in download link.

    Right click on the export link, select copy url. Create a button with redirect to URL. Use that URL (or at least everything with and after f?p). Bind rights to the button.
    Or create a second identical report with different rights, give one export enabled and one disabled. The first is better, the second is easier :)
    Edited by: Joni Vandenberghe on 8-feb-2013 5:08

  • Grouping of data based on user prompt having a list of dimensions

    Hi All,
    I have a requirement to be able to group data in OBIEE request or Dashboard based on user prompt selection.
    The prompt should list the Dimensions Available
    e.g.
    Dimensions: Product, Region, Employee
    Fact: Sales
    The report is to display sales total for the quarters of the current year.
    The user prompt should list the available dimensions (In this case - Location, Employee and Product).
    If I choose Product, the data is to be grouped by Products - Layout having a simple tabular grouping with Product names as Group headings.
    Similarly any other choice of Dimension from the prompt should group the data by that dimension and have the dimension values used in the group headings.
    How could we implement this? I understand this type of requirement (ability to choose dimension) is met in some OLAP reporting tools.
    I have used multiple views and the View Selector for similar requirements previously, but looking for a dynamic solution here.
    Any pointers or solution will be great.
    Thanks,
    Kiran
    Edited by: Kiran Kudumbur on Sep 8, 2009 5:43 PM
    Edited by: Kiran Kudumbur on Sep 9, 2009 12:42 PM
    Edited by: Kiran Kudumbur on Sep 10, 2009 2:26 PM

    Hi All,
    I used column view to address this requirement.
    Thanks,
    Kiran

  • Data Selection for report based upon a 'Prompt Value'

    I want to report information in my report based upon a 'user input prompt value'
    for example:
    'Enter Shareholder Selection - A-Active, I-Inactive, B-Both Active and Inactive'
    if the user enters 'A', the report selects only active shareholders
    if the user enters 'I', the report selects only inactive shareholders
    if the user enters 'B' the report selects all shareholders, active and inactive
    the field in the database that this based upon is their total share value.
    if this field is greater than zero (>0) they are considerd 'active'
    if this field is equal to zero (=0) they are considered 'inactive'.
    I have tried creating some type of filter,  but am not having any luck. 
    I saw a few examples within the forums that I have tried without any luck....unfortunately most of the examples I've seen are base one only two choices.
    I'm sure I need to create some type of 'independant varible' but am not sure how to do that either.
    Any suggestions would be appreciated.
    Thanks.

    Hi Daryl,
    I Tried this unsuccessfully in DESKI . We can't Eliminate Rows having Empty Measure Values or Measure with 0 as values using Table Level Filter as FIlter can't FIlter rows based on Prompt value selection dynamically. Filters filter rows at a time and not based on 3 condition as Active, Inactive and Both. thus filters are of no use.
    I Tried this in WEBI, and it is working perfectly you donu2019t have to create any Object in Universe, you can do it using function UserResponse() at report level.
    Hence if you are comfortable using WEBI for Generating this report then Follow the steps.
    1. Create Report With Name and Shares Object. It will display all Shareholder Names and No.of shares they hold.
    2. Use Status Object in Query filter, use condition as u201CEqual Tou201D and Select prompt. It  contains Active, Inactive and Both as values.
    3. Report will Display all Shareholder names and No. of  shares  like 45, 789, 0, 4562 where 0 is inactive Shareholder and all other are active shareholder.
    4. Create Variable using Formula.
    =If(UserResponse("Enter Status:")="Active" And [Shares]>0;[Shares];If(UserResponse("Enter Status:")="Inactive" And [Shares]<=0;[Shares];If(UserResponse("Enter Status:")="Both";[Shares])))
    5. Remove Shares Object from the report and Put Variable created with Names of Shareholders.
    6. Select Table-> Properties-> Display-> Uncheck the Option u201CShow Rows with Empty Measure Valuesu201D
    7. Report will display Value correctly as per your Prompt value selection.
    I Hope this Helpsu2026
    Thanksu2026
    Pratik

  • Creating report based on user selected Date Range

    Hello.
    I am trying to display an Apex report that selects data for the report based on a user entered date range.
    It's a simple page with two date picker fields (p18_start and p18_end).
    The report region SQL looks like this:
    SELECT *
    FROM prj_items
    WHERE LM_DT BETWEEN :p18_start AND :P18_end
    One table, one field on the table to search and two Apex variables.
    I thought this would be fairly simple, but I am obviously missing something.
    I not even sure what other information is needed to help me figure this out.
    -Jody

    Hi,
    You can set defaults for the datepickers if you need to - this could be done in a computation on the page for each item and conditional on the item being null.
    When I've done something similar to this, I've created two hidden page items - eg, :P19_FIRST_DATE and :P19_LAST_DATE and populated these with the earliest/latest date that the user could reasonably select (perhaps, in your case, the MIN(LM_DT) and MAX(LM_DT) values).
    Then your SQL would be:
    select * from PRJ_ITEMS
    where LM_DT BETWEEN TO_DATE(NVL(:P19_START,:P19_FIRST_DATE), 'DD-MON-YY')
    AND TO_DATE(NVL(:P19_END,:P19_LAST_DATE), 'DD-MON-YY')If you don't want to set default dates, you could do something like:
    SELECT * FROM PRJ_ITEMS
    WHERE (:P19_START IS NULL AND :P19_END IS NULL)
    OR (:P19_START IS NOT NULL AND :P19_END IS NULL AND LM_DT >= TO_DATE(:P19_START,'DD-MON-YY'))
    OR (:P19_START IS NULL AND :P19_END IS NOT NULL AND LM_DT <= TO_DATE(:P19_END,'DD-MON-YY'))
    OR (LM_DT BETWEEN TO_DATE(:P19_START,'DD-MON-YY') AND TO_DATE(:P19_END,'DD-MON-YY'))There are various reasons why your two dates are being cleared when the page is reloaded. Firstly, you should check the branch that returns to the same page - make sure you are not clearing the cache for the page. Then, have a look to see if there is a "reset page" process (usually created for you when you create a form page). Then, check the Source settings for the items. Typically, these would be "Only when current value in session state is null" and a Source Type of "Static Assignment" with the "Source Value or Expression" left empty.
    Andy

  • Dynamic selection of columns in Portal Report

    I have to create a Report, in Oracle Portal, where I select the columns to be displayed according to the value of the language parameter returned by a PL/SQL procedure.
    (So, if "English" I display columns A and B, if "French" I display columns A and C, and so on... )
    How should I do?
    Helps are welcome.
    Thanks

    The strings replaced by expression <%= v_cell %>
    should print the field values contained in col1,col2,col3 columns, but nothing is printed . i think the custom tags (rw...) are not replaced by the jsp expression properly.

  • How to get folder/webi reports based on user rights in BOX3.1

    Hi ,
    We are using java SDK to interface with BOXI3.1.In our project users will login through J2EE Screen after login users  needs to see what are webi reports they are having access.
    It is very greatful for me if you provide sql query/java code to get reports based on access.
    Thanks,
    Subash

    first of all with your user previllages you can test which folders or reports can be seen at http://[SERVERIP]:[PORT]/AdminTools/ web application. After login process you can prepare a query or you can try "SELECT * from CI_INFOOBJECTS WHERE SI_KIND='Folder' " with this query you can see a list of folders for the user who you logged the application.
    For java samples code I can send in a one or two days

  • OBIEE 11g - Formatting a dahboard/report based on users

    Hi All,
    Could someone please tell me if it is possible to format a report based on different users so that when User1 logs in and clicks Report1, then he/she can view the data with Format1 (lets say value is bold, with green colour in background etc) whereas when User2 clicks Report1, then he/she can view the same data but with Format2 ( value not in bold, with blue colour in background etc).
    I am not sure if we can do something with CSS styling based on users.
    Thanks,
    Sneha

    Hi Sneha,
    Try to use Conditional Formatting.
    1> Pull one extra column in your report along with required columns in report.
    2> In that extra column in fx put user();
    3> In the column where you want bold and background color based on user, set conditional format (Add condition extra column = A, then Bold and BG Color).
    4> Hide that extra column.
    Please let me know whether it resolves your issue.
    Thanks
    Anirban

  • Filter standard reports based on user login

    Hi All,
    Is there any way to filter standard form reports (not PLD), based on the user currently logged in. for example, if user 'sales1' has logged in,  he should be able to see the sales report(say sales analysis) for the documents made by him only. there does not seem to have any access on the query being passed to this report. so even customization does not seem to be the solution. kindly help if any one knows a better way or a way at all.
    thnks and regards,
    Binita Joshi

    Hi Petr,
    thanks for replying.
    Before posting, I had already searched in SAP B1 forum and there , for a similar problem, it was advised to use SDK so I posted here.
    I knew, SDK seems to be the way. but, again, As I wrote, I wanted to know, whether there exists a way to filter the standard reports based on the user login. I don't want authorization or setting rights, sort of things.
    but, suppose If user A wants to see the sales documents reports then, he should be able to see the reports of the documents made by him only. so we will have to filter the records based on the Usersign field in marketing documents' tables but, I am clueless on, where should I give this filter.  and I am afraid there is no way to do that. make your own reports and block the access of system reports.Pls right back if U have more to say.
    regards,
    Binita Joshi

  • Create column headers in report based on data entered in Form

    Hi,
    I have a form with following fields being entered into a table: -- a start date for a project and then projected hours required on a monthly basis for X months
    Start Date mnth1_resource mnth2_resource mnth3_resource ...
    2/12/2011 30 20 80 ...
    6/3/2011 80 30 70
    3/12/2011 50 70 60
    4/10/2011 40 120 90
    I would like to create a report (interactive or otherwise) that will provide headers for the actual months of the calendar showing the full range of months to cover the dates included in the data: e.g. if the above data was the only data entered then:
    Feb Mar Apr May Jun Jul Aug Sept
    30 20 80
    50 70 60
    40 120 90
    80 30 70
    Where mnth1 is the month of the start of the project--
    Would appreciate any hints on how to accomplish this.
    Thanks,
    Pat

    Hi,
    Thanks for the response. I see how a crosstab type report works great for data that is static and all in the table, however, in my case the issue is that the columns will vary depending on the start date of the project. So even though the user is only entering 12 months of projection, the total number of columns will depend on the start date of the latest project. For example, if a project does not start till June of 2011 and goes out 12 months, the actual column headers will need to go out to May 2012. Likewise the first column will be dependent on the earliest start date month-- like Feb 2011 in the sample data.
    Pat

  • Dynamic sql query for report based on user input

    Hi everyone,
    I have built custom search fields (name, date born, gender etc.) in the search region and in the results region a report need to be displayed.
    Now I'm not very experienced with Apex or Oracle sql, but could anyone telll me how to first check if a user filled in a field and then build a query based upon what field the user filled in to submit.
    Any help would be appreciated, thanks in advance.
    regards,
    Cleo
    Edited by: Cleopatra on Jan 18, 2011 5:51 AM

    Hi, Cleopatra. Welcome to OTN!
    If you don't have too many fields instead of checking to see if they're filled in you can use OR conditions in yoru WHERE_CLAUSE to check for NULLS to ignore NULLS, something like (you will have to test this carefully!)
    AND some_column = NVL(:P24_1,some_column)the idea being that if the field is NULL then the column will match itself - in this case assuming the column itself does not have a null value

  • Displaying different reports based on user input.

    Hi,
    I have a requirement to display the invoiced amount and Ago amount on a dashboard. The ago amount will be dynamic in that if user selects the prompt 'compare with' as previous day, it should display day ago amount along with todays amount. It he chooses month, then it should display this month's amount and previous month's amount.
    Is there a way I can achieve this on a dashboard?
    Thanks,
    Vivek.

    Use guided navigation. And you need to have 2 reports (one for day level and the other for month level, eac has own AGO part). And some reports for guided navigation conditions.
    Regards
    Goran
    http://108obiee.blogspot.com

  • Report based on user in bipublisher 10g

    Hi All,
    I have 15 departments(DEPT1,DEPT2..DEPT15) and 15 users(USER1, USER2,...USER15) respectively for each department. I am getting those 15 departments in LOV (List of Values) in dropdown in the bi publisher report.
    My requirement is when a USER1 login, in the dropdown he should see only DEPT1.
    How to achive this in bipublisher.

    Take a look at these: http://blogs.oracle.com/roller-ui/bsc/spider.jsp?entry=MT%3aENTRY%3a5029
    The other option is to use the security set up via Answerrs (subject area) and use the OBIEE data source to generate data for the LOVs..
    Thanks,
    Bipuser

  • Displaying columns based on user parameter

    Hello Experts,
    My oracle apps version is R12.1.3
    and database is 11g
    and below is my Question?
    How can we display columns in a report based on user parameter.
    Suppose my report has 15 columns but some user dont need all this 15 columns, so before getting the output user wants to give parameter for that report and then report will give output for only those columns which user had given in parameter window.
    I think i clear my point here. Any help could be very much appreciated.
    Thanks,
    Atul

    What if you have 15 parameters such as
    Display onhand (Yes/no)
    Display item description (yes /no)
    etc.
    And then in the report, have a trigger associated with each column (as well as heading) that returns false if the parameter is No.
    Hope this helps,
    Sandeep Gandhi

Maybe you are looking for