Bug 130686 Request for an Aggregate builder in BIRT report designer
It is somewhat difficult for a new BIRT user to figure out how to build an aggregate without reading the help or looking at examples. It's even more difficult to build an advanced aggregate (those that take advantage of filtering and non-default groupin. The issues are: (1) Aggregates are buried under BIRT functions/Total object in Expression builder. A novice may not be able to immediately locate this when he needs an aggregate. (2) The filter and group parameters are difficult to figure out without help. We should consider adding an aggregate builder to the Expression Builder. Some usability study is needed to figure out the exact UI, but I suggest the following guidelines: * Expression builder should list Aggregates as a top level construct (alongside operators/functions/data sets etc) rather than listing them under functions. * When an aggregate is selected, the builder should have a dialog to help the user construct the various arguments to the aggregate function, including (1) picking a column (or build an expression) to aggregate on; (2) Pick a group from a list of available groups; (3) build a filter expression
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/ui/IReportGraphicConstants.java
public final static String ICON_ELEMENT_SCRIPT_DATA_SOURCE_LINK = ReportDesignConstants.SCRIPT_DATA_SOURCE
			+ "_"
			+ LINK;
	public final static String ICON_ELEMENT_JOINT_DATA_SET_LINK = ReportDesignConstants.JOINT_DATA_SET
			+ "_"
			+ LINK;
	
	public final static String ICON_NODE_BODY = "Body"; 
	public final static String ICON_NODE_MASTERPAGES = "Master Pages"; 
	public final static String ICON_NODE_STYLES = "Styles"; 
	public final static String ICON_NODE_HEADER = "Header"; 
	public final static String ICON_NODE_DETAILS = "Details"; 
	public final static String ICON_NODE_FOOTER = "Footer"; 
	public final static String ICON_NODE_GROUPS = "Groups"; 
	public final static String ICON_NODE_GROUP_HEADER = "Group Header"; 
	public final static String ICON_NODE_GROUP_FOOTER = "Group Footer"; 
	public final static String ICON_NODE_LIBRARIES = "Libraries"; 
	public final static String ICON_NODE_THEMES = "Themes"; 
	
	public final static String ICON_LAYOUT_NORMAL = "Layout Normal"; 
	public final static String ICON_LAYOUT_MASTERPAGE = "Layout Master Page"; 
	public final static String ICON_LAYOUT_RULER = "Layout Ruler"; 
	
	public final static String ICON_BORDER_ALL = "All borders"; 
	public final static String ICON_BORDER_BOTTOM = "Bottom border"; 
	public final static String ICON_BORDER_LEFT = "Left border"; 
	public final static String ICON_BORDER_NOBORDER = "No border"; 
	public final static String ICON_BORDER_RIGHT = "Right border"; 
	public final static String ICON_BORDER_TOP = "Top border";