This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:software:tim:rules_matrix [2015/04/21 09:30] max.neumaier |
en:software:tim:rules_matrix [2021/07/01 09:52] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | FIXME **This page is not fully translated, yet. Please help completing the translation.**\\ //(remove this paragraph once the translation is finished)// | + | ==== Rules Matrix ==== |
- | ====Rules Matrix==== | + | The Rules Matrix is used to evaluate Business Rules. Different matrices with custom columns can be produced. Then, the matrix rows are populated. These rows can be evaluated using the [[:en:software:tim:actionhandler:matrixhandler|MatrixHandler]]. The row with the highest hit rate is used as the result row (it doesn't have to be a complete match). |
- | The Rules Matrix is used für evaluation of Business Rules. It is possible to create different matrixes with custom columns. Afterwards the matrix gets filled with rows. These rows can be evaluated with the help of an actionhandler. The row with the best match will be used as the result row. If not all columns match exactly, the row with the next best result is used. | + | ---- |
- | ----------------- | + | === Creating a Matrix === |
- | ===Creating a Matrix=== | + | |
- | A matrix can be created in the [[en:software:tim:administration_client | administrationsclient ]]. In order to see the corresponding tab, the current user must have the [[en:software:tim:rights | role]] **rulesadministrator**. | + | |
- | {{ matrix_reiter.jpg?1200 }} | + | A matrix can be created in the [[:en:software:tim:administration_client|administrationsclient ]]. In order to see the relevant tab, the current user must have the [[:en:software:tim:roles| role]] as **rulesadministrator**. |
- | With "Add Matrix" it is possible to create a custom number of matrixes. When clicking, a new popup is opened in which the structure of the matrix can be defined. First the matrix needs a name, in this example "decision". Also the owner group of the matrix has to be defined. All users in this group are able to see the matrix und to change it. Only groups in which the current user is member are shown. | + | {{ :en:software:tim:en_matrix_reiter.jpg?1200 |en_matrix_reiter.jpg}} |
- | {{ new_matrix.jpg?400 }} | + | With "Add matrix" a custom number of matrices can be created. When selected, a new pop-up window is opened, in which the matrix structure can be defined. First, the matrix needs a name (in this example "decision"). Also, the owner group of the matrix must be defined. All users in this group are able to see and change the matrix. Only groups to which the current user belongs are shown. |
- | -------------------------------- | + | |
- | ===Define Columns=== | + | |
- | For the next step number of columns has the created. Every column needs a name and a coumn type. A column type defines the type of the content. Normal column types are used for evaluation and "result" column types are used for results and are not considered for the evaluation. There are different column types: | + | |
- | ^Column Type^ Description^ | + | {{ :en:software:tim:en_new_matrix.jpg?400 |en_new_matrix.jpg}} |
- | | **STRING** | A normal characterband where text can be defined. | | + | |
- | | **RESULT_STRING**| **Result column** / A normal characterband where text can be defined. | | + | |
- | |**LONG**| This column is for integers. | | + | |
- | |**RESULT_LONG**| **Result column** / This column is for integers. | | + | |
- | |**FLOAT**| This row is for floating decimals. | | + | |
- | |**RESULT_FLOAT**| **Result column** / This row is for floating decimals. | | + | |
- | |**BOOLEAN**| This column is for true or false values. | | + | |
- | |**RESULT_BOOLEAN**| **Result column** / This column is for true or false values. | | + | |
- | |**IDENTITY**| This column is for users that are created in the system.| | + | |
- | |**RESULT_IDENTITY**| **Result column** / This column is for users that are created in the system.| | + | |
- | In folgendem Beispiel werden 3 Spalten angelegt die durchsucht werden sollen und hierbei von unterschiedlichem Spaltentyp sind. Es wurde ebenfalls eine Ergebnisspalte angelegt in welcher in Benutzer als Ergebnis ausgegeben werden soll. \\ | + | ---- |
+ | |||
+ | === Define Columns === | ||
+ | |||
+ | For the next step, a user-defined number of columns is created. Every column needs a name and a column type. A column type defines the type of content. Normal column types are used for evaluation, and "result" column types are used only for results and are not considered in the evaluation. There are several different column types: | ||
+ | |||
+ | ^Column Type^Description| | ||
+ | |**STRING** |A normal character string where text can be defined.| | ||
+ | |**RESULT_STRING** |**Result column** / A normal character string where text can be defined.| | ||
+ | |**LONG** |This column is for integers.| | ||
+ | |**RESULT_LONG** |**Result column** / This column is for integers.| | ||
+ | |**FLOAT** |This row is for floating decimals.| | ||
+ | |**RESULT_FLOAT** |**Result column** / This row is for floating decimals.| | ||
+ | |**BOOLEAN** |This column is for true/false values.| | ||
+ | |**RESULT_BOOLEAN** |**Result column** / This column is for true/false values.| | ||
+ | |**IDENTITY** |In this column, users that are created in the system can be chosen.| | ||
+ | |**RESULT_IDENTITY** |**Result column** / In this column, users that are created in the system can be chosen.| | ||
+ | |||
+ | The following example shows a matrix with three columns to be searched through. Each column has a different column type. There is also a result column, in which a user will be presented as the result.\\ | ||
\\ | \\ | ||
- | {{ columns_new.jpg }} | + | {{ :en:software:tim:en_columns_new.jpg |en_columns_new.jpg}}Clicking on "save" creates the matrix, which can now be populated. |
- | Nach einem Klick auf Speicher ist die Matrix angelegt und kann nun mit Werten befüllt werden. | + | ---- |
- | ------ | + | |
- | ===Befüllen der Matrix=== | + | === Populating the Matrix === |
- | Das nachfolgenden Bild zeigt eine bereits befüllte Matrix. Hier ist es möglich die komplette Matrix zu entfernen, zu bearbeiten, neue Zeilen hinzuzufügen und Spalten wieder zu löschen. \\ | + | |
+ | The following image shows an already-populated matrix. In this view it is possible to delete the entire matrix, to edit the matrix, to add new lines and to delete lines.\\ | ||
\\ | \\ | ||
- | {{ matrix_overview.jpg }} | + | {{ :en:software:tim:en_matrix_overview.jpg |en_matrix_overview.jpg}} |
- | ^Element ^Beschreibung^ | + | ^Element^Description| |
- | |**1**|Über diesen Button lässt sich die gesamte Matrix wieder entfernen.| | + | |**1** |This button is used to delete the entire matrix.| |
- | | **2** | Hier wird die Matrix mit allen eingegebenen Zeilen angezeigt. | | + | |**2** |This view shows all filled cells of the matrix.| |
- | | **3** | Über diesen Button lässt sich die Matrix bearbeiten. Jedoch ist es nicht möglich den Spaltentyp der bereits bestehenden Spalten zu verändern. Sie können jedoch gelöscht, bzw. neu hinzugefügt werden. | | + | |**3** |This button is used for editing the matrix. It is not possible to change the column type of existing columns; however,they can be deleted an added anew.| |
- | | **4** | Über diesen Button lassen sich ganze Zeilen wieder entfernen. | | + | |**4** |This button is used to delete rows.| |
- | | **5** | Hier lassen sich neue Spalten hinzufügen. | | + | |**5** |Here, new lines can be added.| |
- | Möchte man nun eine neue Zeile hinzufügen, so wird ein Popup angezeigt. In diesem werden je nach Spaltentyp verschiedene Felder angezeigt. Bei String z.B. ein einfaches Eingabefeld. Bei Identity wird eine Liste aller angelegten Benutzer dargestellt. Bei Boolean wird eine Liste mit wahr oder falsch angezeigt. | + | If one wants to add a new row, a pop-up appears. Various fields may be shown depending on the column type. For example, For string, a simple box appears. In identity, a list of all users is displayed. A list populated with either true or false is displayed when using Boolean. |
- | <note important>Wird bei einem Feld ein Sternchen "*" ausgewählt, so gilt dies als Wildcard und ein beliebiger Wert wird bei der Auswertung angenommen. </note> | + | <note important>If an asterisk "*"is selected, this is treated as a wildcard and any value will be used for matching. </note> |
- | {{ fill_matrix_combined.png }} | + | [[:en:software:tim:en_fill_matrix_combined.png?id=en%3Asoftware%3Atim%3Arules_matrix&media=en:software:tim:en_fill_matrix_combined.png|{{ :en:software:tim:en_fill_matrix_combined.png }}]] |
+ | === Using the Matrix per Actionhandler === | ||
- | ===Benutzen der Matrix per Actionhandler=== | + | How to use the matrix per Actionhandler is described here: [[:en:software:tim:actionhandler:matrixhandler|MatrixHandler]] |
- | Die Benutzung der Matrix per Handler wird hier [[software:tim:actionhandler:matrixhandler | MatrixHandler]] beschrieben. | + | === Evaluation Algorithm === |
- | ===Auswertungsbeispiele=== | + | In principle, all of the cells within the matrix will be evaluated individually. |
- | Als Grundlage dieser Auswertungen setzen wir die befüllte Beispielstabelle von oben mit 3 Suchwerten und einer Ergebnisspalte. Die folgende Tabelle zeigt die Ergebnisse für einige fiktive Auswertungen anhand der folgenden Regeln: | + | If a perfect match is found within a column, three points are given. For a partial match in the character chain (i.e. is AR is written in the rule, but AR-01 is found in the formula/variable) 2 points are given and for the Wildcard *, one point is given. |
- | * Es wird die Spalte mit der größten Übereinstimmung als Ergebnis angesehen. | + | |
- | * Treffen mehr als eine Zeile überein, so wird der oberste Treffer verwendet. | + | |
- | ^ Suchwert 1 ^ Suchwert 2 ^ Suchwert 3 ^ Ergebnis ^ | + | The cells with the highest point values deliver the results. If multiple cells with the same point value exist, then the result is delivered by the uppermost cell. |
- | | Freising | true | 20 | **Group_1** | | + | |
- | | Freising |true | 89 | **wiki**| | + | |
- | |Freising | false | 20 |** Group_1**| | + | |
- | |Freising | false | 8267| **Group_1**| | + | |
- | |München | true |213 | **Prozess Manager** | | + | |
- | | Timbuktu | false |89 | **wiki** | | + | |
+ | === Evaluation Examples === | ||
+ | For the basics of this evaluation, we will set up the filled example table from above with three search values and one results column. The following table shows the results of some fictitious evaluations resulting from the previously-described rules: | ||
+ | * The line with the best match is presented as the result. | ||
+ | * If more than one line matches, the first match from the top is presented as the result. | ||
+ | |||
+ | ^Search Value 1^Search Value2^Search Value3^Result| | ||
+ | |Freising|true|20|**Group_1** | | ||
+ | |Freising|true|89|**wiki** | | ||
+ | |Freising|true|*|**wiki, Group_1** | | ||
+ | |Freising|false|20|**Group_1** | | ||
+ | |Freising|false|8267|**Group_1** | | ||
+ | |Freising|false|8|**wiki** | | ||
+ | |München|true|213|**Prozess Manager** | | ||
+ | |Timbuktu|false|89|**Prozess Manager** | | ||
+ | |München|true|8|**wiki** | | ||
+ | |München|true |*|**Prozess Manager, wiki** | | ||
+ | |*|*|89|**wiki, Prozess Manager** | | ||
+ | |||
+ | \\ | ||