Having a "double bar" graph

Hi,
I want to know how to make a double bar graph. I want to compare for an assignment males and females who cheat for an exam. i want the male and females for each category to be compared side by side.
just ask if I can explain it better.
this is kinda what I want:
http://www.xfy.com/manual/dev/developer/1.4/spec/image/chart/type_bar.gif
Thanks

Are you aware thet there is an Help in Numbers ?
Are you aware that there is a menu item entitled "Numbers User Guide?
Are you aware that both of them are also for you ?
After a search with the keyword "column chart" we quickly reach Page 130 of the Guide (English version) where everybody may read:
Yvan KOENIG (from FRANCE dimanche 22 février 2009 19:17:03)

Similar Messages

  • Double bar graph in Labwindow/CVI?

    double bar graph in Labwindow/CVI? like showed in attachment .
    Attachments:
    index.jpg ‏4 KB

    Hello ashwinich9, please do not open more and more threads, follow the discussion in the original thread where I have posted a reply.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Having two axes in a horizontal/vertical Bar Graph

    Hi All,
    I am trying to pull two metrics in the same Bar Graph, but these metrics scales are very different. One is between 0 and 1, and the another metric is between 0 and 500. I have a need to show these two scales in the same graph. I am not sure how to do this in OBIEE 11g.
    It would be great if anybody can point me to the right direction.
    Thanks, Neelesh

    I agree with Sandeep.
    Use a line/bar graph. The line will have one axis and the bar will have the axis on the other side. you can sync these values or in your case you probably wouldnt want to sync them since the scales are so different.
    On a pure bar graph or pure line graph you can't get this functionality that I am aware of.
    -Derek

  • Using stored parameter from data control class with stacked bar-graph

    Hi folks,
    I'm relatively new to ADF & EJB so I want to apologise in advance if this question seems rudimentary to many of you.
    Edit:  I should have mentioned that I'm using JDeveloper 11.1.1.5
    I'm having a hard time determining how to retrieve the value from a variable to be assigned to a property of the bar graph I'm trying to display on my JSF page.
    I have tried to briefly summarise the logic below for reference.
    I have a data control class (ActivityChart) that includes a method "getActivityDetail" returns a List of custom Objects (ActivityDTO) that are the underlying data for my bar graph.
    public class ActivityChart {
        private Double axisScale;
        public ActivityChart() {
            super();
            axisScale = 0.0;
        public List<ActivityDTO> getActivityDetail(List<String> businessUnits) {
            List<ActivityDTO> returnNewList = new ArrayList<ActivityDTO>();
            List<TransactionDTO> dataList = new ArrayList<TransactionDTO>();
            TransactionSessionBean transBean = lookupTransactionSessionBean();
            if (businessUnits != null && !businessUnits.isEmpty()){
                dataList = transBean.getActivityData(SystemUtil.getCurrentUser(), businessUnits);           
                returnNewList = processTransactions(dataList);
                axisScale = calcAxisScale(returnNewList);
            return returnNewList;
    ...The TransactionDTO object is basically a mirror of the entity object to store the fields from the queried db transactions.
    The ActivityDTO object contains a String value (x-axis label) and 3 Double values for the values required for the bar graph.
    What I'm trying to do is dynamically set the scale for the 2 y-axes (I'm using a dual-axis stacked bar graph) because the auto calculated values are not aligned.
    Right now I've got the two relevant elements of the bar graph hard-coded with a specific axis value:
    <dvt:y1Axis axisMaxAutoScaled="false" axisMaxValue="100.0"/>
    <dvt:y2Axis axisMaxAutoScaled="false" axisMaxValue="100.0"/>.
    The value I want to use for the Y-axis is calculated and stored in the "axisScale" variable in the above class.
    Really at a loss of how to move forward from here.
    Would very much appreciate any guidance/direction offered.
    Thanks,
    Karim
    Edited by: 973742 on Nov 28, 2012 8:12 AM

    Looks like I may have found the answer!
    I had to set up the variable in the bindings for the page and then reference the variable from the binding and add the property inputValue.
    ie. value="#{bindings.axisScale.inputValue}"

  • ADF DVT: Stack Bar Graph unable to display all Bar.

    Hi Experts,
    I'm currently having a problem displaying bar graphs in my Use Case.
    There are unavoidable instance that at some point of the information provided, there may be part that contain a very huge data.
    Below is my sample code.
    In the example code below only the detail with huge data is rendered in the graph. and the rest are not rendered. is this  a known issue?
    screenshot: http://sdrv.ms/13DXeyn.
    I'm using ADF PS6 in windows7(64bit), Chome browser.
    ManagedBean. This bean contains static data for testing only. Notice how big the data in the 2nd to the last detail.
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import javax.faces.event.AbortProcessingException;
    import oracle.adf.view.faces.bi.component.graph.UIGraph;
    import oracle.adf.view.faces.bi.event.TimeSelectorEvent;
    public class GraphTimeAxisManagedBean {
        SimpleDateFormat stdFormat = new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss");
        public List getTabularData() {
            ArrayList list = new ArrayList();
            try {
              list.add(new Object[] { new Date(stdFormat.parse("2010-06-18-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-06-18-00.00.00").getTime()),"description 1", new Double(20) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-06-18-00.00.00").getTime()),"description 2", new Double(50) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-06-18-00.00.00").getTime()),"description 3", new Double(30) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-07-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-07-01-00.00.00").getTime()),"description 1", new Double(150) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-07-01-00.00.00").getTime()),"description 2", new Double(240) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-07-01-00.00.00").getTime()),"description 3", new Double(10) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-08-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-08-01-00.00.00").getTime()),"description 1", new Double(60) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-08-01-00.00.00").getTime()),"description 2", new Double(80) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-08-01-00.00.00").getTime()),"description 3", new Double(10) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-09-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-09-01-00.00.00").getTime()),"description 1", new Double(90) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-09-01-00.00.00").getTime()),"description 2", new Double(50) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-09-01-00.00.00").getTime()),"description 3", new Double(80) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-10-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-10-01-00.00.00").getTime()),"description 1", new Double(10) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-10-01-00.00.00").getTime()),"description 2", new Double(90) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-10-01-00.00.00").getTime()),"description 3", new Double(80) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-11-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-11-01-00.00.00").getTime()),"description 1", new Double(200) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-11-01-00.00.00").getTime()),"description 2", new Double(20) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-11-01-00.00.00").getTime()),"description 3", new Double(70) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-12-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-12-01-00.00.00").getTime()),"description 1", new Double(60) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-12-01-00.00.00").getTime()),"description 2", new Double(80) });
              list.add(new Object[] { new Date(stdFormat.parse("2010-12-01-00.00.00").getTime()),"description 3", new Double(10) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-01-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-01-01-00.00.00").getTime()),"description 1", new Double(90) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-01-01-00.00.00").getTime()),"description 2", new Double(80) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-01-01-00.00.00").getTime()),"description 3", new Double(70) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-02-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-02-01-00.00.00").getTime()),"description 1", new Double(60) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-02-01-00.00.00").getTime()),"description 2", new Double(80) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-02-01-00.00.00").getTime()),"description 3", new Double(30) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-03-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-03-01-00.00.00").getTime()),"description 1", new Double(203)});
              list.add(new Object[] { new Date(stdFormat.parse("2011-03-01-00.00.00").getTime()),"description 2", new Double(90)});
              list.add(new Object[] { new Date(stdFormat.parse("2011-03-01-00.00.00").getTime()),"description 3", new Double(70)});
              list.add(new Object[] { new Date(stdFormat.parse("2011-04-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-04-01-00.00.00").getTime()),"description 1", new Double(75) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-04-01-00.00.00").getTime()),"description 2", new Double(86) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-04-01-00.00.00").getTime()),"description 3", new Double(99) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-05-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-05-01-00.00.00").getTime()),"description 1", new Double(60105) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-05-01-00.00.00").getTime()),"description 2", new Double(50309) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-05-01-00.00.00").getTime()),"description 3", new Double(50210) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-06-01-00.00.00").getTime()),"", new Double(0) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-06-01-00.00.00").getTime()),"description 1", new Double(80) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-06-01-00.00.00").getTime()),"description 2", new Double(77) });
              list.add(new Object[] { new Date(stdFormat.parse("2011-06-01-00.00.00").getTime()),"description 3", new Double(99) });
            } catch (ParseException e) {
            return list;
    JSFF (UI Page).
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:dvt="http://xmlns.oracle.com/dss/adf/faces"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
      <af:panelGroupLayout id="pgl1">
        <dvt:graph id="barGraph1" graphType="BAR_VERT_STACK" shortDesc="testing"
                   inlineStyle="width:800px; height:300px;"
                   tabularData="#{pageFlowScope.GraphTimeAxisManagedBean.tabularData}">
          <dvt:background>
            <dvt:specialEffects/>
          </dvt:background>
          <dvt:graphPlotArea/>
          <dvt:seriesSet>
            <dvt:series/>
          </dvt:seriesSet>
          <dvt:o1Axis/>
          <dvt:y1Axis/>
          <dvt:legendArea automaticPlacement="AP_NEVER"/>
        </dvt:graph>
      </af:panelGroupLayout>
    </jsp:root>
    Thanks,
    achie

    Achie,
    This is not an issue with the graph as such, but the data issue. Since the value of the data that is being displayed is huge and other datas are relatively very small to occupy the graph area (Ex : 60105 Vs 10).
    You may want to try implementing zoomListener and/or zoomScrollListener for the graph to zoom and see the small datas.
    &amp;lt;dvt:graph&amp;gt;
    -Arun

  • 3D bar graph: issues using 2D Y-Z plane and timestamp

    Hi,
    I'm having issues trying to plot a multiplot 3D bar graph using view towards Y-Z plane property (3D plot properties/View direction). This makes the 3D graph basically look like 2D. Bar graph looks quite ok when it is drawn without y vector (timestamp) but as soon as the timestamp is connected it doesn't make any sense. The bars are basically thin lines plotted to a very small area. Autoscaling or manual scaling doesn't help. Attached is a small example VI with some data which gives an idea what I'm trying to accomplish and what the issue is.
    What I would like to achieve is to keep the bar width as in the case before y vector is connected to and have timestamps.
    I'll be glad if you had any suggestions that could help.
    Thanks,
    Matti
    Attachments:
    3D Bar Plot_mod.vi ‏13 KB

    Oooh. This is a bug for 3D Bar. The width and internal are not relative to the actual range. I filed CAR 344934.
    If you could use 3D projection, you can use value pair (also from Properties or VI Server) as a temporary workaround. Value pair can override scale with any text. Here is an example.
    Attachments:
    3D Bar Plot_mod3.vi ‏16 KB

  • Stacked Bar graph with multiple bars

    Hi,
    I want to have a graph where I will have multiple stacked BARs. Having single stacked bar is OK.
    Is there a way to achieve this ? I am using 11.1.1.2 ADF and ADFBC
    For Ex:
    You have
    -TV sales per month for different regions
    -DVD sales per month for different regions
    I want to have 2 stacked BARs one for TV and one for DVD. X axis will have the date ..
    Thanks

    From what i understand, i think you are looking Dual Y Bar graph.
    For more information, look into this documentation - http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e12418/tagdoc/dvt_barGraph.html
    Thanks,
    Navaneeth

  • Pagination on ADF DVT Bar graph

    Hi
    I am using ADF 11.1.1.5. I am trying to do pagination on dvt bar graph component. The pagination is like << 1 2 3 >>. The default range size in page definition is suppose 5.The things are working fine on all links except 2. I get 1-5 record on first link. On 3 its 11-15 and so on. But n 2 i get 1-5 only. I am using setRangeStart() and setRangeSize methd to get next record. If range size is 6 then on firsti get 1-6, on 3 its 13-18 but 2 doesn't works. The range is setting only from one place. So nothing seems wrong in code. Please suggest.
    Thanks

    Hi,
    the easiest way to build pagination in is
    1. Drag the bar graph onto a page
    2. On the PageDef file, change the RangeSize property to 5 (in your case)
    3. From the DataControl panel, drag and drop the NextSet and PreviousSet operations of the View Object
    4.Configure the af:graph PartialTriggers property to point to the two buttons
    5. Ensure the buttons have their PartialSubmit property set to "true"
    Its not identical to having index icons, but its declarative and works out of the box
    Frank

  • A bar graph problem

    hi all,
    sorry if my question is not clear, try my best to describe.
    i currently creating a bar graph applet, where this applet take different "group" of data / value, e.g. (68, 268,2680, 28 and 8). and here the maximum value is 2680, other group may NOT so. so for being the bar graph display, i have an applet that has a "fixed" maximum width of 700, i need my bar graph to have only 10 columns and also i need to minus out 10 from each column for other purposes, so i take (700 / 10) - 10 = 60, but here come the real problem, if i take 268 * 60 = 16080, that is incorrect! That is i know that i had to divide the 700 with 1000, because (700 / 1000) - (10 / 1000) = 0.69, then 268 * 0.69 = 184.92, that seem OK! but, but it still ran out of the expected result, the bar width will be much more shorter than expected (only those higher data value), why? my code will be as follow:
       if (highestWidth >= 1001)
          maxDetector = 10000;
       else if (highestWidth >= 101)
           maxDetector = 1000;
       else if (highestWidth >= 11)
           maxDetector = 100;
       else
           maxDetector = 10;
       maxSingleWidth = (axisPanel.getWidth() / maxDetector) - (10 / (maxDetector / 10));so, at for loop:
    for (i=0; i <= 9; i++){
       barPanel.setBounds(x, y, (dataValue * maxSingleWidth), height);
    any help will be very very much appreciated!!!

    import java.awt.*;
    import java.awt.event.*;
    import java.awt.font.*;
    import java.awt.geom.*;
    import java.text.NumberFormat;
    import javax.swing.*;
    public class BarGraph
        public BarGraph()
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(new BarGraphPanel());
            f.setSize(400,400);
            f.setLocation(200,200);
            f.setVisible(true);
        public static void main(String[] args)
            new BarGraph();
    class BarGraphPanel extends JPanel
        int[] data;
        int maxValue;
        Font font;
        NumberFormat nf;
        final int PAD = 40;
        public BarGraphPanel()
            data = new int[] { 75, 12, 23, 44, 98, 32, 53, 6 };
            font = new Font("lucida sans demibold", Font.PLAIN, 15);  // j2se 1.3+
            nf = NumberFormat.getNumberInstance();
            nf.setMaximumFractionDigits(1);
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            double w = getWidth();
            double h = getHeight();
            // ordinate
            g2.draw(new Line2D.Double(PAD, PAD, PAD, h - PAD));
            // ordinate labels
            String[] labels = getLabels();
            float labelScale = (float)(h - 2*PAD)/(labels.length - 1);
            g2.setFont(font);
            FontRenderContext frc = g2.getFontRenderContext();
            for(int j = 0; j < labels.length; j++)
                float width = (float)font.getStringBounds(labels[j], frc).getWidth();
                float height = font.getLineMetrics(labels[j], frc).getAscent();
                float x = (PAD - width)/2;
                float y = (float)(PAD + j*labelScale + height/2);
                g2.drawString(labels[j], x, y);
            // abcissa
            g2.draw(new Line2D.Double(PAD, h - PAD, w - PAD, h - PAD));
            // plot data
            g2.setPaint(Color.red);
            double xInc = (w - 2*PAD) / data.length;
            double yScale = getValueScale(h);
            double x1, y1, x2, y2;
            for(int j = 0; j < data.length; j++)
                x1 = PAD + j * xInc;
                y1 = h - PAD;
                x2 = x1 + xInc;
                y2 = y1 - data[j] * yScale;
                g2.draw(new Line2D.Double(x1, y1, x1, y2));    // left vertical
                g2.draw(new Line2D.Double(x1, y2, x2, y2));    // top of bar
                g2.draw(new Line2D.Double(x2, y2, x2, y1));    // right vertical
        private double getValueScale(double h)
            int max = getMaxValue();
            return (h - 2*PAD) / max;
        private int getMaxValue()
            int max = Integer.MIN_VALUE;
            for(int j = 0; j < data.length; j++)
                if(data[j] > max)
                    max = data[j];
            return max;
        private String[] getLabels()
            int max = getMaxValue();
            double inc = max/3d;
            double next = max;
            String[] s = new String[4];
            for(int j = 0; j < 4; j++)
                s[j] = nf.format(next - j * inc);
            return s;
    }

  • TabularData for DVT Stack bar Graph

    Dear All,
    I used tabulardata to supply value fro my stack bar graph component and I used the code below
    public class Stackbar
      public List getTabularData()
        ArrayList list = new ArrayList();
        String[] rowLabels = new String[]
          { "Dry Goods", "Wet Goods", "Misc Goods" };
        String[] colLabels = new String[]
          { "May 2009", "June 2009", "July 2009" };
        Double[][] values = new Double[][]
            { 50000d, 122000d, 175000d },
            { 90000d, 110000d, 150000d },
            { 65000d, 50000d, 95000d }};
        for (int c = 0; c < colLabels.length; c++)
          for (int r = 0; r < rowLabels.length; r++)
            list.add(new Object[]
                { colLabels[c], rowLabels[r], new Double(values[r][c]) });
        return list;
    }JSF is simple
    <dvt:barGraph id="barGraph1" subType="BAR_VERT_STACK2Y" shortDesc="Sample bar"
                              tabularData="#{viewScope.stackBarBean.tabularData}">
                  <dvt:background>
                    <dvt:specialEffects/>
                  </dvt:background>
                  <dvt:graphPlotArea/>
                  <dvt:seriesSet>
                    <dvt:series/>
                  </dvt:seriesSet>
                  <dvt:o1Axis/>
                  <dvt:y1Axis/>
                  <dvt:y2Axis/>
                  <dvt:legendArea automaticPlacement="AP_NEVER"/>
                </dvt:barGraph>But I am not able to have a stack bar graph and the data isnt stacking..
    Kindly see the image here http://imageshack.us/photo/my-images/831/stackbar.jpg/
    My playground code can be downloaded here...
    http://code.google.com/p/my-dev-projects/downloads/detail?name=PlayGround.zip&can=2&q=
    How do I formulate the tabular data values correctly so that I could achive the correct stack bar graph component
    Thanks.
    JDEV 11.1.1.6

    Well...found the solution myself...
    Kindly disregard please..thanks

  • How to create drilldown bar graph using clicklistener

    Hi,
    I have a view object that sums some data and tags each sum accordingly - eg sum salary grouped by department name.
    I display this using a horizontal bar graph.
    I want to now be able to click on a bar and then have the details displayed in a table. I am led to believe from chapter 24 of the manual it is possible to do using no java coding (ie not having to create a bean etc).
    You can use the row selection listener of a graph (which serves as a master view) to enable clicks on a bar, slice, or other graph data element to update the data in another ADF component (which serves as a detail view). For example, a click on a bar that represents sales for a given product in a graph might cause the display of the detailed sales data related to the product in a pivot table.
    The following requirements must be met to achieve this master-detail processing declaratively:
    1. You must use the same tree data control to provide data for both views as follows:
    1. Bind the graph as a row set to one level in the data control.
    HOW ?
    2. Bind the other ADF view (such as a table or pivot table) to a lower level in the tree data control.
    I don't have a nested iterator - is it saying to use a master-detail scenario like dept/emp ?
    2.
    Set a value for the clickListener attribute of the graph tag in the Behavior page of the Property Inspector and use the processClick method that is already part of the graph binding.
    For example, if the value attribute of the graph tag is value="#{bindings.myGraph.graphModel}", then the clickListener attribute should be clickListener="#{bindings.myGraph.graphModel.processClick}".
    3. Ensure that the partialTriggers attribute on the parent tag for the detail component is set correctly. It should be set to the ID of the graph component.
    You do not have to write Java code for handling clicks on data elements in the graph. The processClick event on the graph binding recognizes click events on data component in a graph and performs the necessary processing.
    Are they suggesting all you need to do is ensure you have proper master-detail tables set up and it will automatically work ?
    cheers
    Edited by: Dom Klein on May 27, 2009 8:06 PM

    Hi Frank,
    thanks for replying. I opened a TAR about this as I cannot produce a drilldown table. I created a VO with my summary - eg
    select decode(manager_id, 100, 'fred',
    123, 'bill', 120, 'kate', 121, 'julia', 147, 'ken', 108, 'james', 148, 'liz',
    149, 'phil', 205, 'jack', 102, 'eric', 'dominic') manager_name, sum(salary) as salaries
    from employees
    GROUP BY
    decode(manager_id, 100, 'fred',
    123, 'bill', 120, 'kate', 121, 'julia', 147, 'ken', 108, 'james', 148, 'liz',
    149, 'phil', 205, 'jack', 102, 'eric', 'dominic')
    Then I created a detail view object (from HR.employees) and added a calculated column :
    SELECT Employees.EMPLOYEE_ID,
    Employees.FIRST_NAME,
    Employees.LAST_NAME,
    Employees.EMAIL,
    Employees.PHONE_NUMBER,
    Employees.HIRE_DATE,
    Employees.JOB_ID,
    Employees.SALARY,
    Employees.COMMISSION_PCT,
    Employees.MANAGER_ID,
    Employees.DEPARTMENT_ID,
    decode(manager_id, 100, 'fred',
    123, 'bill', 120, 'kate', 121, 'julia', 147, 'ken', 108, 'james', 148, 'liz',
    149, 'phil', 205, 'jack', 102, 'eric', 'dominic') AS manager_name
    FROM EMPLOYEES Employees
    I create a new viewlink which links on manager_name. When I run the bc4j appmodule I can see the correct master-detail relationship. IF I drag a master-detail table onto the page it works fine.
    Now if I create a graph using the master and then create a table using the detail I can't get it to use this relationship even after setting the processClick() and the id for the graph set on the partial trigger of the table. Any ideas ?
    cheers

  • Inserting a subreport in bar graph

    Hi,
    I had a bar graph on my main report, which shows data for each country date wise.
    I need to create/show a subreport  onclick  of any of the bar(Country)  on the bar graph
    so that in the subreport,I should be showing the details of that country in the subreport.
    Could anyone help how to embed a subreport in a bra graph.
    Thanks.

    If you have a report with bar chart for each country you have the sales summary in the chart. Now place this in the report header and in the report insert a group on the country and place the fields in detail section. Now in the preview mode if you double click on the particular country bar it goes to the details of that country by default.
    Hope this helps!
    Raghavendra

  • How do I plot bar graph using MStudio.NE​T for VB

    I can not find the FillToBase property in waveformplot object using MStudio 7.0 for VB.NET. How can I plot the bar graph like that in Mstudio 6.0.

    The Measurement Studio .NET WaveformPlot does not currently have an equivalent for CWPlot's FillToBase property. In the meantime, though, you can use the WaveformPlot's custom drawing services to emulate this functionality. For example, if you dropped a new WaveformGraph on a form, you could copy and paste the following code to draw bar graphs on the WaveformPlot:
    Private Sub OnBeforeDrawPlot(ByVal sender As Object, ByVal e As BeforeDrawXYPlotEventArgs) Handles WaveformPlot1.BeforeDraw
    DrawBarGraph(e, 0, Color.BurlyWood, Color.Firebrick)
    End Sub
    Shared Sub DrawBarGraph(ByVal e As BeforeDrawXYPlotEventArgs, ByVal baseYValue As Double, ByVal outlineColor As Color, ByVal fillColor As Color)
    Dim plot As XYPlot = e.Plot
    Dim g As Graphics = e.Graphics
    If plot.HistoryCount > 0 Then
    ' Clip the data to just what will be drawn with the current axis ranges.
    Dim xData() As Double, yData() As Double
    plot.ClipData(xData, yData)
    ' Calculate the screen coordinates of a base y value and the clipped data.
    Dim baseY As Double = CType(plot.MapPoint(e.Bounds, 0, baseYValue).Y, Double)
    Dim points As PointF() = plot.MapData(e.Bounds, xData, yData, False)
    Dim outlinePen As Pen = Nothing
    Dim fillBrush As Brush = Nothing
    Try
    outlinePen = New Pen(outlineColor)
    fillBrush = New SolidBrush(fillColor)
    ' Iterate through the mapped points and calculate the bar, fill it, and outline it
    For i As Integer = 0 To points.Length - 2
    Dim currentPoint As PointF = points(i)
    Dim nextPoint As PointF = points(i + 1)
    Dim barX As Single = currentPoint.X
    Dim barY As Single = currentPoint.Y
    Dim barWidth As Single = nextPoint.X - currentPoint.X
    Dim barHeight As Single = baseY - currentPoint.Y
    g.FillRectangle(fillBrush, barX, barY, barWidth, barHeight)
    g.DrawRectangle(outlinePen, barX, barY, barWidth, barHeight)
    Next
    Finally
    If Not outlinePen Is Nothing Then
    outlinePen.Dispose()
    outlinePen = Nothing
    End If
    If Not fillBrush Is Nothing Then
    fillBrush.Dispose()
    fillBrush = Nothing
    End If
    End Try
    ' Cancel any further drawing since we completely handled the drawing of the plot.
    e.Cancel = True
    End If
    End Sub
    Hope this helps.
    - Elton

  • Using the report generation toolkit, how do I make a bar graph verticle instead of horizontle?

    The attached vi is similar to what I am using, and it produces an Excel bar chart. I would really like to create the same chart, only vertically instead of horizontly. I have tried all kinds of things that don't work. Is there a way to do this that does work. I want a result similar to rotating the produced chart 90 degrees CCW.
    Thank you!
    Attachments:
    Chart Test.vi ‏20 KB

    you want to use a xy-graph.
    you can right click the plot legend to make a bar graph vertical.
    Harold Timmis
    [email protected]
    Orlando,Fl
    *Kudos always welcome
    Attachments:
    bargraph2.jpg ‏91 KB

  • BO 4.0 webi: Conditional formatting on a bar graph

    Hi,
    Is it possible to fiormat a Bar graph conditionally in BO 4.0(SAP BO BI: web intelligence)..
    I want to create a bar graph that displays bar in Green color if the value of bar is greater than target set and Red if it is less than target, which is not doable with BO xi3.1 version.
    Please let me know if this can be doable with latest version of BO 4.0 webi.
    Thanks in advance..

    Hi Bharath,
    One workaround in 3.1 I have found is to use a stacked bar chart and then create two variables out of the measure you want to be green if over a certain amount and make the formula:
    =[Measure Object] Where([Measure Object] >= 10,000)
    and the 2nd variable formula for red:
    =[Measure Object] Where ([Measure Object] <10,000)
    Then place these two measure variables on top of each other where the measure values go. Then go into the color palette and make a custom palette with the first two colors green and red see if that gives you what you are looking for.
    Thanks

Maybe you are looking for

  • Is there a way to capture video of what you do in preview window

    i find it fascinating to toggle rapidly forth on a scene in the preview window. is there any way that i could capture this rapid backwards and forwards movement on video?

  • Creating XML transformation using multiple internal tables

    <b>Hi everyone,</b><br /> <br /> <b>I'm trying to transforme 3 internal tables (from customer master data) into a single XML document.</b><br /> <p /> DATA:   BEGIN OF wtab OCCURS 0 ,<br />         kunnr LIKE kna1-kunnr, "Customer ID<br />         kt

  • Check spelling of concatenated words

    Hello, I'm doing a puzzle construction spreadsheet where I've concatenated individual letters to make words. I don't have all the letters for each word in the correct order, so I figured I could correct them through the Spell-checking program. It won

  • Audio levels when recording iPad video

    how do i contro audio input levelsl when i record video on my iPad?

  • DMG fails when i want to test a connection

    I load a file that have been working before in Power BI office 365 and I get this error We can't perform this operation because this workbook uses unsupported features. Correlation ID: a266db82-9835-4cb9-b891-364417fec1a2 I am just trying to schedule