on 04-28-2007 11:18 AM
Hi All,
I am developing a VC application. I have prepared few bar charts which involves display of huge data (around 75 bars). The presentation looks a bit cluttered and not easy to read. But requirement is to use chart only.
So the client want me to figure out a way, where only bare essential data is displayed in the chart and on a click on the Bar, a window is poped up with more detailed view related to that Bar. he also wants tabs in this window for more drilling down. I am not aware if this is possible in VC. I know a bit about popup iview but they doesn't seems to serve the pupose. Can somebody help ?
Ya you are right. The link is not working for some resons unknown to me. But luckily I have the content saved with me. Following is the wiki content :
" I had faced a scenario where a drill down was required from a chart to a more detail view. Detail view wasn't on the same layer. And the navigation based on the select event wasn't possible either. I was showing a very minimal detail view(like basic summary) of various functions on the first page(like a dashboard). The user had the choice to drill down on a specific function to a more detail view.
It was easy to do over the same layer with the select event ...... but how about the navigation to another layer ? Initially to resolve the problem I created custom event for inter layer navigation and triggered it using a button. But clicking on chart and then on button wasn't a most appealing user interaction. It had to reduce to a single click over chart...but how ?
I tried to look for solution, like asking on sdn forums, but got no clue. So I decided to have a fresh look on the problem and applied a bit of logic with expressions and visibilty property(instead of navigation) and gosh ! it worked !!!. Now I have become true fan of Visual Composer. Its really a fun like solving puzzles.
Instead of using layer( Layers doesn't have visibilty property.), I used nested Iviews. This also made the model more manageable .
So here are the steps I followed to achieve that...................Lets do a basic one, demonstrating the idea.
1) So create a nested iview (say view1)and put a bar chart in it connected to some Query or RFC. Drag out of out port and create a signal out. Give it a name (signal1). Give event type as select.
2) Create another nested iview( view2). Create table or chart which takes input from the chart created in step 1. From the Query or RFC, drag out of in port and create a Signal In and name it same as in step1 (signal1).
3) Drill out of the iview to Design mode.
Create a Datastore. Create two fields of boolean type in it. name them (say v1, and v2). Set default value true for v1. Set false for v2.
4) Select view1. In the configure element task panel, For Visibilty Property,In the formula expression dialog box, Expand Datastore field. Drag v1 from it to the left expression area.
Repeat for the view2 with v2.
5) From view1, drag out of port signal1 and connect with the same port of view2.
Drag another line and connect it with the datastore. Click on the line. In the configure task panel, assign the v1 as false and v2 as true.
6) Switch to layout mode and strech the iview to superimpose on each other.
7) Compile and deploy the model.
Now when you click on a bar, the other iview should be displayed with the more detailed information and thus simulates the single click drilldown experience.
But this is not happening in this model........The first visible view is view2 instead of view1 !
This happened, Because the first select event is fired at the time model is rendered itself. Much before u can actually click a bar and raise the event.
So obviously, we need to avoid the first select event.
To achieve this, we use gaurd condition of the link as follows :
1) Create a field, say counter, in the Datastore of type number. Set default value as "0".
2) Select the link connecting the view1 and view2. In the configure task panel, select field counter and set its value to counter +1 through expression editor.
3) Select the link connectind Datastore. In the Gaurd Condition, enter the expression !bool(counter==0), to disable the link for the first select event
Kindly let me know in case of any doubts
Regards,
Vidit
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
As the others already said: you'd need to use a BI report that you use in VC through an HTML View. The BI reports allow drilldown by clicking on each bar separately.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Guys,
I finally has resolved my problem. I have added a wiki entry on how i achieved it. You can have a look.
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/community/drillingdownonchartwithoutusingbuttonsfornavigation&
Thanks
vidit
Hi,
I don't know which data service do you use for your charts, but if you use BI queries it's possible that you filter the values. You have to add filters to your query. Then add dropdownfields for with the filter values, e.g. year, product, customer whatever with the filter you get fewer values and then your chart is clearly to your users.
Best Regards,
Marcel
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Marcel for quick reply !
Yes I am using BI queries. Your suggestion is correct but the client want the same thing as i have explained. He is top management guy and only want to click and drill. He don't want to scroll also. Thats why I asked if it is possible in VC to open new window when a Bar in the Bar chart is clicked, to display more detailed output.
For example, I am displaying a bar chart displaying output of each power stations in a region. Now user clicks on a bar representing one of those power stations. A new window should open now, displaying more detailed parameters for that station. is it possible ? and how ?
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.