cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic Visibility in WebI

Former Member
0 Kudos
1,310

Hi,

  In my Webi report i have a Graph and a table. I want to perform dynamic visibility.

Using input controls i am able to acheive it. I can either show Graph or Table or Both.

Now what my business users want is to give them same sort of functionality with in the document i.e. no need of input controls.

I can create Radio buttons in WebI document Report layout arrea using following HTML codes

=

"<INPUT TYPE='RADIO' name='selection' Value='Graph' Checked> Graph

<INPUT TYPE='RADIO' name='selection' Value='Table'> Table

Now based on which radio button selected i want to capture the value and use it in "Hide when following formula is true".

Is it possible. If yes then how.

Thanks in advance,

Ashish

0 Kudos

Hi I am trying to apply the same functionality in webi report using the input controls but unfortunately i am unable to do the same.

Could you please explain how did you achieve the same by using the input controls

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

HI Ashish,

Yes it is possible with out HTML code.

Steps to follow:

1)Use the input control as usual

2)right click on the table => format table option=>goto =>general=> select/checked-in the option show table when the following formula is true

3) now write the following formula

if([dim1]="Graph") then "1" else if(count([dim1])="2") then "1" else "0"

assuming you have only 2 values for your dim1 as table and graph (in your case)

4) do the same thing for your graph....(change the formula accordingly)

5)in the settings of Input control select "Table" as the default selected value...

It will definitely works for you.

let me know the result....

Regards

Subbarao M

Former Member
0 Kudos

Hi Subba,

  Issue is "All Values" option in Input Control.

Is there a way we can kick it out and have radio button just as :

1 Graph

2 Table

For now i am using following formula's:

For Table

=If ReportFilter([InpCtrl])="Chart"  Then "1" ElseIf (ReportFilter([InpCtrl])="") Then 0 Else "0"

For Chart:

=If ReportFilter([InpCtrl])="Table" Or ReportFilter([InpCtrl])=""  Then "1"

Else "0"

-- Using ReportFilter([InpCtrl])="" when user select "All Values"  so that by default Table appear

@All: Thanks for your feedback.

So conclusion is

1. we can do dynamic visibility only by using Input Controls. There's no solution to get rid of "All Values" in Input control

2. There's no way we can achieve HTML Radio Buttons/Checkbox functionality in the report layout itself.

Regards,

Ashish

Former Member
0 Kudos

HI Ashish,

I think it's not possible to hide All values from input control....

but we have some other options to work arround

1)use Entry field instead of radio button or etc. and follow the same approach which i have posted earlier. ( NOTE: User have to type the values)

2) Best option: create row table by pulling  the dimension variable which you have created  (for graph and table) and right click on the table and go to linking=>Element linking and in the selected block select both table and graph blocks.(NOTE: work around is necessary to do this)attached sample pic for your ref.

let me know anything is required.

Former Member
0 Kudos

Hi Ashish,

I think Element Linking can fulfill your requirement.

By this you can dynamically change the tables or different structures as per your requirement.

Regards,

Subrat

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

If my understanding is correct then you don't want to show "All" option in the input control which comes by default. Because if user selects All then your report is going to mess up in showing multiple charts/measures which you are not intended to.

I am not sure how to take out this "All" option from the list but the workaround which you can suggest to the end user is Give table as input control which contains the list values to be selected (ex: measure name) etc.

Former Member
0 Kudos

Hi Navin/Durga,

  Thanks for your input.

@Naveen: i Already implemented this functionality using Input Control. But what Business users want is  like a Toggle Button/ Radio Button on report layout so to select graph or table ( as we do in Xcelsius).

The problem with Input control is that by default it gives ALL option. So if user clicks on it both get displayed and that is not what they want as of now. Is there a way we can hide All

@Durga: Agree with you. Users will have to use HTML Application mode. It will fail if they use Java Applet mode.

It seems impossible but i am looking for ideas.

Thanks,

Ashish

Former Member
0 Kudos

Hi Ashish,

Apply the same concept below

  1. Create a new Webi Intelligence report, or open an existing one. For the instructions to make sense, you’ll need at least two measures and one dimension.
  2. On your report canvas, create a new block that contains a dimension and all of the measures that you want your users to be able to chose between.
    image
  3. Add a variable called Select A Measure, of type Dimension, with the value of “Revenue ($)”.
    image
  4. Click OK
  5. On the left side of the screen, click the Input Controls icon.
    image
  6. Add a new Input Control, and base it on the dimension called Select a Measure.
    image
  7. Make it a single-select input control, either radio buttons or a drop-down will do.
  8. In the List Of Values section click the ellipsis to the right.
    image
  9. In the box in the top left, type Revenue ($) (or the name of any of your measures).
  10. Click the > button to add it to the list.
    image
  11. Repeat for any other measures that you want your users to select from. Since there's no way to reorder them once added, add them in the order that you want them to appear to your users.
    image
  12. When finished, click OK.
  13. Click Finish. You should now have an input control that looks something like this.
    image
  14. Now you need to add a measure variable that will return the appropriate measure, based on what the user has selected from the input control. So, add a variable measure called Selected Measure, and enter in the formula below.
    image

    =If ReportFilter([Select a Measure]) = "Revenue ($)" Then [Revenue ($)]
    ElseIf ReportFilter([Select a Measure]) = "Margin ($)" Then [Margin ($)]
    ElseIf ReportFilter([Select a Measure]) = "Margin (%)" Then [Margin (%)]
    ElseIf  ReportFilter([Select a Measure]) = "Order Quantity" Then [Order Quantity]
    Else 0

    Note that the names that you present to your user don't need to be the same as the actual measures, but it makes sense to do so. Also, it's bad practice to use if statements like this in a measure variable, but since I know that my dimension can only ever have one value, I'm going to allow it.
  15. Click OK to save the variable.
  16. Now add this measure variable to your report block and test. With Revenue ($) selected, it should return revenue.
    image
  17. With Margin (%) selected it will show margin.
    image
  18. But the format of the selected measure won't always be right. For this we will use Formatting Rules (formally known as Alerters). So, click on the Analysis tab, then the Conditional tab.
  19. Click New Rule…
    image
  20. The logic you will use is this:

    if the dimension "Select a Measure" is "Order Quantity" then format as a whole number, if the dimension is "Margin (%)" then format as a percentage, otherwise format as currency.

    So, in the the Filtered object or cell box, click the ellipsis, select the option Select an object or variable, then select Select a Measure from the list. Lots of selecting.
  21. Set the Operator to Equal.
  22. In the Operands box, type Order Quantity.
  23. Click the Format… button.
  24. In the Display section set the formatting under Format Number…
  25. In the Text section, set the font colour to black.
  26. Add another condition (in 3.1 a 'Sub-alerter') and repeat similar steps for Margin (%).
    The end result will look like this (pity you can't see the number format in the preview):
    image
  27. Click OK.
  28. Now when creating your report, simply use Selected Measure in place of a normal measure, and let your users select what they would like to see. A finished report might look something like this:
    image
    With Revenue ($) Selected

    image
    With Order Quantity Selected

Regards,

NK

Former Member
0 Kudos

Hi Naveen,

  As said this approach already used...

User want controls on the WebI report layout. Input control gives All option. If you click on it - it wwill display both graph and table.

Thanks,

Ashish

Former Member
0 Kudos

Then why you  are not selecting the drill filter ?

Former Member
0 Kudos

Here too Filter Bar will show All option. Correct me if i am wrong.

Former Member
0 Kudos
Former Member
0 Kudos

Hi Naveen,

Nice responce by you.

2 More thing i want to know about WebI on Mobile -

1) Can we can use Input Control on Mobile BI App??. I dont want to use drill down functionality in WebI.

2) Is there any option available in Layout for dynamic visibility for charts??

I am working on BI 4.1 SP04.

Thanks

Pratyaksh Jeet

Former Member
0 Kudos

Hi Ashish,

Please check this

https://scn.sap.com/thread/2039318

Regards,

NK

Former Member
0 Kudos

Unfortunately BO uses HTML code to display purpose only but you can not register a click event from the HTML based form to use it for dynamic visibility...

May be try out the JAVA SDK for this which might be your best bet to do this..

Also I think you must consider Victor Gabriel Saiz Castillo note in http://scn.sap.com/thread/3350796

HTML Formatting is not supported in Web Intelligence's RIA (Java applet) or Rich Client, this will be surfaced only in Web mode:

1521072 - Unable to apply Web Intelligence formatting (such as wrap text) to cells that are set to "Read as HTML"