Axis labels in charts

Marco
2006-02-06
2013-04-29
  • Marco
    Marco
    2006-02-06

    I've defined in my Mondrian cube a Time dimension with caption columns, like this:
    <Cube ...>
    <Dimensione name="Time" ...>
    <Hierarchy ...>
    <Level name="Year" column="YEAR" .../>
    <Level name="Month" column="MONTH" captionColumn="MONTH_CAPTION" .../>
    <Level name="Day" column="DAY" captionColumn="DAY_CAPTION" .../>
    </Hierarchy>
    </Dimension>
    ...
    </Cube>

    The MONTH_CAPTION in the db contains MONTH||'/'||YEAR, the DAY_CAPTION contains DAY||'/'||MONTH. This is really usefull in the table to add readability, but it confuse the axis in the charts( a day, for example, is rendered like this: 2005.12/2005.9/12).

    This happens 'cause of ChartComponent builds the axis label concatenating all the levels _caption_ instead of _values_ (see ChartComponent.java:817).
    I suggest this refactor:
    1. Add getName to Displayable interface and implements in all child classes (most of them already have a getName method).
    2. Use getName instead of getLabel in buildName() of ChartComponent.java

    What do you think ?