Available since indyco 4.3.0.0


The filters aim to filter attributes and measures through custom properties, in order to reduce visible elements and make it easier to focus on some of them.

The button to open the filter modal is located at the bottom left and is only activated when we are at the Fact zoom level.



Clicking the button opens a modal with two sections: one dedicated to attribute filters and one dedicated to measure filters, each showing the number of active filters next to section name.

Opening a section allows you to view active filters, add them with the plus button at the top right, and remove them with the respective X button.

As soon as a filter is added, the Apply button will be disabled and a warning symbol will appear on the section indicating that the filter has unfilled fields.




Logic


For each section, you can add N filters. The custom properties of each node (or measure) will be compared with all defined filters, checking whether each of these is respected or not. The user can decide if each node must respect all filters or at least one, by moving the switch to ‘and’ or ‘or’


Filter composition


A filter consists of three fields: custom property name, logical operator, value. 

Essentially, a filter specifies constraints that the value of a custom property must respect; nodes/measures that do not respect these values are filtered out.


Clicking on the first field opens a dropdown that proposes all the custom properties present in the attributes or measures (depending on the section you are in).


These can be of two types: text or list, which directly affects the other filter fields:

  • depending on the type of custom property the selectable logical operators in the second field are different
  • in the third field, for list-type custom properties, the possible values can be selected via dropdown; for text-type custom properties the user must manually enter a string in the value field.

Formula-type custom properties are mapped to text-type custom properties and the value of a formula-type custom property will be in the following format: "Element name (in belonging factSchema)", 

e.g., “Location Type (in Shop Ticket)”.


NOTE that if the text field of a filter for a text-type custom property is populated with one or more spaces, without characters, an error symbol appears at the top right and the Apply button is disabled.


Logical operators


for list-type custom properties , the possible operators are:

  • includes: requires the custom property to contain at least one of the specified values, thus filtering out all attributes that do not include any of these values.
  • not includes: requires the custom property not to contain any of the specified values, thus filtering out all attributes that include at least one of these values.

for text-type custom properties, the operators are:

  • equal: filters out all attributes that do not have the custom properties populated with the specified value.
  • not equal: filters out all attributes that have the custom properties populated with the specified value.
  • contains: requires the custom property to have a value containing the specified string, thus filtering out all attributes whose custom property  does not contain the specified value.
  • not contains: requires the opposite, that is to say that the custom property value does not contain the specified value, thus filtering out all attributes that contain the string in question.


NOTE that if an attribute does not have the custom properties in question populated:

  • if the logical operator in question is includes, equal, or contains, then that filter will be considered not respected.
  • if the specified logical operator is not equal, not includes, or not contains, then that filter will be automatically considered respected.


Effects of filters


Pressing close will close the modal and revert the modal state to what it was before the changes. 

Pressing apply will apply the filters, and the graph and TableView will be modified accordingly.


When filters are applied, nodes and measures that do not respect the filters will no longer be displayed. If an intermediate node to which an incoming and an outgoing arc are connected is filtered out, as in the example, the filtered node will be removed and the nodes that were previously connected through it will be reconnected with a dashed arc.


Original graph:


Filtering node1:



The number of dashed arcs generated between two nodes will be equal to the number of originally traversable paths between the two.