Aggregation Function Editor
An aggregation function can be associated with any aggregate attribute that has one or more qualitative descendant attributes (“children”) in the tree. Such a function maps values of those children, which act as function arguments, to values of the parent attribute. The mapping is defined in terms of elementary decision rules; each rule defines the function value for one particular combination or arguments’ values. In DEXiWin, all possible combinations are considered and shown in a decision table.
The example below shows the Aggregation Function Editor while editing function PRICE from the Car Evaluation model. It shows the decision table and a pop-up menu, which is activated by right-clicking the mouse.
Decision Table
The central part of the window displays a decision table. Table rows contain all the possible combinations of values of function’s arguments. The columns display:
Rule number. There are as many rules as there are possible combinations of input attribute values. Some rules may be filtered out, as explained below.
Stat: Decision rule status, one of the following:
Entered by the user
[no icon] Not entered by the user
Entered by the user, but inconsistent with one or more other rules
Not entered by the user, inconsistent
Clicking on the Stat row displays a message that explains the status - and the reasons for possible inconsistency - in more detail.
Arguments’ columns: One column per each function argument (BUY.PRICE and MAINT.PRICE above)
Function values: A column showing output function values for the corresponding rules (PRICE). This is the only editable column in the table. Admissible values that can be entered by the user are:
a single value taken from the corresponding scale (for example: “high”), or
an undefined value, denoted
<undefined>
.
The order of columns can be rearranged by dragging and dropping column headings. Column orders and widths are retained for each decision table throughout the current DEXiWin session.
By default, non-entered rule values of preferentially ordered functions are handled by DEXiWin and recalculated each time the table has changed. Thus, while editing the table, DEXiWin may assign values or value intervals to decision rules that have not been defined yet; see the explanation. Consequently, function values are generally intervals, not just single values.
You can enter a function value in one of the following ways:
by pressing or F2, and selecting an item from the list of admissible values;
right-clicking and selecting an item from the pop-up menu; or
pressing one of the keys 1, 2, …, on the keyboard, which represent consecutive scale values.
To delete the currently selected value, press or Delete . Deletion changes rule status to “non-entered”.
Pressing F8 adjusts table columns to the width of displayed text.
Right-clicking on a table heading that corresponds to some function argument opens up the menu Filtering. There, you can select input attribute values that are shown in the table. Notice that DEXiWin still processes the whole table while editing, despite that only a fraction might be displayed due to filtering.
Commands
The toolbar and/or the pop-menu provide the following commands:
Edit function name and description: Open a separate window for editing this function’s name and description.
Edit selected rule value: Show a drop-down list of admissible values.
Delete selected rule value: Deletes the value of the currently selected rule.
Deletion changes rule status to “non-entered”, which means that the calculation of its value
is handed over to DEXiWin according to its settings (below).
Deleting a value is not equal to setting it to <undefined>
.
Choose method(s) for automatic setup of non-entered function values: This drop-down button allows activating and deactivating DEX methods for handling non-entered function values. There are two such methods:
The status of these methods’ activation is reflected in the icon shown in the toolbar:
No method activated
Dominance (scale orders) method activated
Weights method activated
Both methods activated
Undo: Undo the last function-editing operation.
Redo: Redo the last undone function-editing operation.
Show function: Make a report that shows the function and preview it. The default function representation is with complex rules, but this can be changed in the report itself.
Chart: Open Function Chart and display the function using a three-dimensional graphic.
Edit weights: Open Weight Editor to define attribute weights.
Symmetricity: Open the Symmetricity Window for checking and setting the symmetricity of decision rules.
Copy function: Copies the function into the clipboard for further use. The copied data format is the same as used in a function file.
Paste function: Imports previously Copied function into the current one. After the operation, it reports the number of imported rules (rules whose values matched between the clipboard and the current function) and the number of rules whose values actually changed. It is strongly recommended not to change Import/Export settings between copying and pasting a function.
Recommendations
Editing aggregation functions requires quite some skills and experience, particularly when decision tables are large. You may want to try some of the function editing approaches.
For small tables, which consist of about up to 10 or 20 rules, it is probably most effective just to proceed sequentially through the table and enter all the values in one turn. For fast data entry, use the keyboard keys 1, 2, etc., and Delete.
For tables of intermediate size, up to 50 or maybe 100 rules, a useful approach is to combine your data entry with the scale orders strategy. In this case you “jump” across the table and enter values only for some “important” rules, such as rules having extreme values of attributes or extreme function values. [It may take some practice to learn which rules are “important”.] At the same time, you let DEXiWin calculate values of non-entered rules. In this way, you may quickly get a highly determined function. You may follow this stage by several iterations of finding unsatisfactorily defined rules and entering your values there until the function has been completely defined.
For even larger tables, you might want to additionally employ the weights strategy. Start again with entering some “important” values. Then, open Weight Editor and define your required attribute weights. If successful, this will fill all the non-entered cells with single values corresponding as closely as possible to your weights and already entered rules. Afterwards, do not forget to check what DEXiWin has done automatically. Review the assigned values and verify if they make sense. Also check the actual weights achieved in this way: run Weight Editor again and see the “Actual” weights.
Although DEXiWin can work with less-than-completely defined functions, it is recommended to define the functions completely. Incompletely defined functions may cause alternatives to be evaluated by sets or distributions of values rather than single values. Therefore, you should check the status of your functions and ensure that they are “100% determined” and that the corresponding icons in the Model Page are green.
As long as your function is “100% determined”, the proportion of actually entered rules is not that important and can be less than 100%. However, even in this case you should be aware that non-entered rules are more volatile than entered ones. Entered values are never changed by DEXiWin, but non-entered values may be unintentionally changed later, for example, by changing weights in the Weight Editor. To protect your completed function from such changes, you may want to run the Enter rule values… command.
For final verification of your function, you may also want to review its representation in a report (Show function command) or 3D chart (Chart command).
See Also
DEX Method documentation: