Class SummaryField

    • Field Detail

      • AVERAGE

        public static final int AVERAGE
        SummaryField calculates average.
        Since:
        6.0
        See Also:
        Constant Field Values
      • SAMPLE_VARIANCE

        public static final int SAMPLE_VARIANCE
        SummaryField calculates sample varianz.
        Since:
        6.0
        See Also:
        Constant Field Values
      • SAMPLE_STANDARD_DEVIATION

        public static final int SAMPLE_STANDARD_DEVIATION
        SummaryField calculates sample standard deviation.
        Since:
        6.0
        See Also:
        Constant Field Values
      • MAXIMUM

        public static final int MAXIMUM
        SummaryField calculates maximum.
        Since:
        6.0
        See Also:
        Constant Field Values
      • MINIMUM

        public static final int MINIMUM
        SummaryField calculates minimum.
        Since:
        6.0
        See Also:
        Constant Field Values
      • COUNT

        public static final int COUNT
        SummaryField calculates count.
        Since:
        6.0
        See Also:
        Constant Field Values
      • POP_VARIANCE

        public static final int POP_VARIANCE
        SummaryField calculates population variance.
        Since:
        6.0
        See Also:
        Constant Field Values
      • POP_STANDARD_DEVIATION

        public static final int POP_STANDARD_DEVIATION
        SummaryField calculates population standard deviation.
        Since:
        6.0
        See Also:
        Constant Field Values
      • DISTINCT_COUNT

        public static final int DISTINCT_COUNT
        SummaryField calculates distinct count.
        Since:
        6.0
        See Also:
        Constant Field Values
      • CORRELATION

        public static final int CORRELATION
        SummaryField calculates correlation.
        Since:
        6.0
        See Also:
        Constant Field Values
      • COVARIANCE

        public static final int COVARIANCE
        SummaryField calculates covariance.
        Since:
        6.0
        See Also:
        Constant Field Values
      • WEIGHTED_AVERAGE

        public static final int WEIGHTED_AVERAGE
        SummaryField calculates weigted average.
        Since:
        6.0
        See Also:
        Constant Field Values
      • MEDIAN

        public static final int MEDIAN
        SummaryField calculates median.
        Since:
        6.0
        See Also:
        Constant Field Values
      • PERCENTILE

        public static final int PERCENTILE
        SummaryField calculates percentile.
        Since:
        6.0
        See Also:
        Constant Field Values
      • NTH_LARGEST

        public static final int NTH_LARGEST
        SummaryField calculates Nth lagest.
        Since:
        6.0
        See Also:
        Constant Field Values
      • NTH_SMALLEST

        public static final int NTH_SMALLEST
        SummaryField calculates Nth smallest.
        Since:
        6.0
        See Also:
        Constant Field Values
      • MODE

        public static final int MODE
        SummaryField calculates mode.
        Since:
        6.0
        See Also:
        Constant Field Values
      • NTH_MOST_FREQUENT

        public static final int NTH_MOST_FREQUENT
        SummaryField calculates Nth most frequent.
        Since:
        6.0
        See Also:
        Constant Field Values
      • PERCENTAGE

        public static final int PERCENTAGE
        SummaryField calculates percentage.
        Since:
        6.0
        See Also:
        Constant Field Values
      • NO_SUMMARY_OPERATION

        public static final int NO_SUMMARY_OPERATION
        SummaryField calculates no operation, data will returned originally.
        Since:
        6.0
        See Also:
        Constant Field Values
      • SUMMARY_REPORT

        public static final int SUMMARY_REPORT
        Indicates that this summary field belongs to the report object
        See Also:
        Constant Field Values
      • SUMMARY_CROSSTAB

        public static final int SUMMARY_CROSSTAB
        Indicates that this summary field belongs to the crosstab column object
        See Also:
        Constant Field Values
      • SUMMARY_CHART

        public static final int SUMMARY_CHART
        Indicates that this summary field belongs to the chart object
        See Also:
        Constant Field Values
      • defaultHolder

        protected com.inet.report.DefaultReferenceHolder defaultHolder
        contains referenced objects
    • Constructor Detail

      • SummaryField

        protected SummaryField​(com.inet.report.RendererBase ren)
        FOR INTERNAL USE ONLY
    • Method Detail

      • setName

        public void setName​(java.lang.String name)
        Sets the name of the summary field. The name is a unique identifier of this field.
        Specified by:
        setName in class Field
        Parameters:
        name - the name for this summary field.
        Throws:
        java.lang.IllegalArgumentException - will thrown if the name already exists or if the name is null or empty.
        Since:
        6.0
      • getOperationName

        public static final java.lang.String getOperationName​(int operation)
        Returns the name of the operation by id.
        Parameters:
        operation - the value of the summary operation property.
        Returns:
        String The name of the summary operation
        Since:
        6.0
        See Also:
        getSummaryOperation()
      • setSummaryFieldType

        public void setSummaryFieldType​(int type)
        Sets to which object this summary field belongs.
        Parameters:
        type - the type of parent element.
        Since:
        6.0
        See Also:
        SUMMARY_REPORT, SUMMARY_CROSSTAB, SUMMARY_CHART
      • getResetField

        public Field getResetField()
        Running total is reset if this field value was changed.
        Returns:
        • null
        • a FormulaField
        • a DatabaseField
        • a GroupField
        Throws:
        java.lang.IllegalStateException - will thrown if changeType is unknown.
        Since:
        6.0
      • setResetField

        public void setResetField​(Field rstField)
        Running total Field reset if this field value was changed.
        Parameters:
        rstField -
        • no field is needed, summary will reset on each record
        • resetField have to be an instance of FormulaField
        • resetField have to be an instance of DatabaseField
        • resetField have to be an instance of GroupField
        Throws:
        java.lang.IllegalArgumentException - will thrown if rstField is a GroupField and does not match a group.
        Since:
        6.0
      • getChangeField

        public Field getChangeField()
        Running total changes if this field value was changed.
        Returns:
        • null
        • a FormulaField
        • a DatabaseField
        • a GroupField
        Throws:
        java.lang.IllegalStateException - will be thrown if changeType has unknown value;
        Since:
        6.0
        See Also:
        setChangeField(com.inet.report.Field)
      • setChangeField

        public void setChangeField​(Field changeField)
        Running total changes if this field value was changed.
        Parameters:
        changeField -
        • no field is needed, summary will be changed on each record
        • changeField have to be an instance of FormulaField
        • changeField have to be an instance of DatabaseField
        • changeField have to be an instance of GroupField
        Throws:
        java.lang.IllegalArgumentException - will be thrown if changeField is a GroupField and does not match a group.
        Since:
        6.0
        See Also:
        setResetField(com.inet.report.Field)
      • getSummaryNth

        public int getSummaryNth()
        Returns the Nth value in Nth-functions.
        Returns:
        value of nth property.
        Since:
        6.0
      • setShowPercentVal

        public void setShowPercentVal​(boolean newValue)
        Sets how the result of summary operation is shown.
        Parameters:
        newValue - true when the value of this summary field is shown as percent value.
        Since:
        6.0
      • getShowPercentVal

        public boolean getShowPercentVal()
        How result of summary operation is shown.
        Returns:
        true when the value of this summary field is shown as percent value.
        Since:
        6.0
      • getRunningTotal

        public boolean getRunningTotal()
        Returns the running total property of this SummaryField. If it not the running total then it can have a group field, only. A running total SummaryField can change its value for each row. If it is not a running total Field then the value is identical for all rows in one group.
        Returns:
        true if this is a running total.
        Since:
        6.0
        See Also:
        setRunningTotal(boolean)
      • setRunningTotal

        public void setRunningTotal​(boolean isRunningTotal)
        Sets the running total property of this SummaryField.
        Parameters:
        isRunningTotal - the value of the running total property.
        Since:
        6.0
        See Also:
        getRunningTotal()
      • getValueType

        public int getValueType()
        Returns the value type (or return type) of the field.
        NOTE:If DefaultAttribute is used within the formula it has to be set before calling this method. A null-value will cause an exception here. If you don't know the exact value of the DefaultAttribute you may use a dummy-value for getValueType. The reason is that getValueType only regards the type of object not their value.
        Overrides:
        getValueType in class Field
        Returns:
        The value of the property 'value type'.
        See Also:
        Field.NUMBER, Field.CURRENCY, Field.BOOLEAN, Field.DATE, Field.TIME, Field.STRING, Field.DATETIME
      • paramString

        public java.lang.String paramString()
        Returns a prettified output of this field's name and type.
        Overrides:
        paramString in class Field
        Returns:
        Prettified output of this field's name and type.
      • generateName

        public static java.lang.String generateName​(java.lang.String field,
                                                    java.lang.String group,
                                                    int sumType)
        Generates the name of a summary field, i.e. "Count of OrderID".
        For summary functions like "Weighted Average" you can use the method generateName with 4 parameters.
        Parameters:
        field - - name of the field with values to summarizes
        group - - name of the field the values are grouped by
        sumType - - the type of summary function
        Returns:
        String - the generated name
        Since:
        6.0
        See Also:
        generateName(String, String, int, String)
      • generateName

        public static java.lang.String generateName​(java.lang.String field,
                                                    java.lang.String group,
                                                    int sumType,
                                                    java.lang.String field2)
        Generates the name of a summary field, i.e. "Count of OrderID, CustomerID".
        Use this method for summary functions like "Weighted Average" or "Correlation" etc.
        Parameters:
        field - - name of the field with numeric values to summarizes
        field2 - - name of the second field, e.g. for Weighted Average
        group - - name of the field that contains the values are grouped by
        sumType - - the type of summary function
        Returns:
        String - the generated name
        Since:
        6.0
        See Also:
        generateName(String, String, int)
      • getField2nd

        public Field getField2nd()
        Some Summaries need two fields for calculation, i.e. weighted average, correlation etc. Returns the 2nd field used for weights in weighted average, correlation between the field returned by getField() and the field returned by this function.
        Returns:
        Field
        Since:
        6.0
      • changeAliasName

        public void changeAliasName​(java.lang.String oldAlias,
                                    java.lang.String newAlias)
        FOR INTERNAL USE ONLY
      • addReferencedObject

        public final void addReferencedObject​(com.inet.report.ReferencedObject reference)
        FOR INTERNAL USE ONLY
        Specified by:
        addReferencedObject in interface com.inet.report.ReferenceHolder
        Since:
        6.0
      • getReferencedObjects

        public final com.inet.report.ReferencedObject[] getReferencedObjects()
        FOR INTERNAL USE ONLY
        Specified by:
        getReferencedObjects in interface com.inet.report.ReferenceHolder
      • getRealReferencedObjectCount

        public final int getRealReferencedObjectCount()
        FOR INTERNAL USE ONLY
        Specified by:
        getRealReferencedObjectCount in interface com.inet.report.ReferenceHolder
        Since:
        6.0
      • getReferencedObjectCount

        public final int getReferencedObjectCount()
        FOR INTERNAL USE ONLY
        Specified by:
        getReferencedObjectCount in interface com.inet.report.ReferenceHolder
      • removeReferencedObject

        public final void removeReferencedObject​(com.inet.report.ReferencedObject reference)
        FOR INTERNAL USE ONLY
        Specified by:
        removeReferencedObject in interface com.inet.report.ReferenceHolder
        Since:
        6.0
      • setReferences

        public void setReferences()
        FOR INTERNAL USE ONLY
        Specified by:
        setReferences in interface com.inet.report.ReferenceHolder
      • resetReferences

        public void resetReferences()
        FOR INTERNAL USE ONLY
        Specified by:
        resetReferences in interface com.inet.report.ReferenceHolder
      • setGroup

        public void setGroup​(Group group)
        Sets the group this field should associated with. Use this method for setting the group in summary field. GroupFields are generated and initialised automatically at group creation time. You do not need to change the group reference of this fields.
        Overrides:
        setGroup in class Field
        Parameters:
        group - The reference to the group of this field.
        See Also:
        SummaryField, GroupField, Group
      • equals

        public boolean equals​(java.lang.Object obj)
        Indicates whether some other SummaryField is "equal to" this one.
        Overrides:
        equals in class Field
        Parameters:
        obj - Object to compare
        Returns:
        true if this SummaryField is the same as the SummaryField argument; false otherwise.
        Since:
        6.0
      • parseElement

        public NodeParser parseElement​(com.inet.report.parser.XMLTag group,
                                       java.lang.String tag,
                                       org.xml.sax.Attributes atts,
                                       java.util.Map<java.lang.String,​java.lang.Object> parserMap)
                                throws FatalParserException
        FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY Internal method for reading report XML

        Parses an XML node with the given information, and returns either a sub-element which was created as a result, or null if no sub-element was created, i.e. the information was applied to the ReportComponent itself. Note that the parsing is highly tolerant, i.e. exceptions are intercepted and suppressed if at all possible.

        Specified by:
        parseElement in interface NodeParser
        Overrides:
        parseElement in class Field
        Parameters:
        group - XMLTag of the current node to be parsed, or null if there is no such current group. An XMLTag is a group of nodes bundled together, usually it is a Properties node such as CommonProperties, BorderProperties, etc.
        tag - The XMLTag to be parsed
        atts - The set of attributes in the current XMLTag
        parserMap - The map of current Parser.
        Returns:
        The NodeParser sub-element if one needed to be created, or null if none was created.
        Throws:
        FatalParserException - if an exception occurs which causes the report to not be able to be read: causes the abortion of the reading of the report.
      • saveFieldXML2

        protected void saveFieldXML2​(java.io.PrintWriter pw,
                                     int depth)
        Saves SummaryField attributes
        Specified by:
        saveFieldXML2 in class Field
        Parameters:
        pw - the printwriter.
        depth - the current depth.
        Since:
        8.1
      • duplicate

        public Field duplicate​(java.lang.String name)
        Duplicates this field with all its settings and returns the created Field with the given name. Note that the new formula field will not initially be referenced by any other report objects. If you duplicate a property formula, you will have to set the new formula as a separate property formula.
        Overrides:
        duplicate in class Field
        Parameters:
        name - the name the created field should have.
        Returns:
        the duplicated field.
      • validate

        public Validity validate()
        Check if the object is valid and returns the state and details of possible errors.
        Specified by:
        validate in interface Validatable
        Returns:
        the current state, never null.
      • isInternalField

        public boolean isInternalField()
        FOR INTERNAL USE ONLY Returns whether this is an internal (not editable) summary field
        Returns:
        whether this is an internal (not editable) summary field