Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: michagast on October 14, 2021, 08:09:50 pm

Title: Filtering elements based on the amount of relationships they have
Post by: michagast on October 14, 2021, 08:09:50 pm
Hi everyone,

For a university assignment I am currently using Enterprise architect to perform architecture recovery on open source products. I am trying to isolate the most important modules in the products and to do this I want to filter out all classes that either have no relationships or less relationships than a certain amount. I have not found a filter to do this however. Does this functionality even exist within Enterprise architect and if so how can it be done? Thanks in advance for the answers!

Micha
Title: Re: Filtering elements based on the amount of relationships they have
Post by: qwerty on October 14, 2021, 08:45:20 pm
You can join t_object.object_id with t_connector.start_object_id and return the counts. Running that query will return you the number of connectors per element.

q.
Title: Re: Filtering elements based on the amount of relationships they have
Post by: michagast on October 14, 2021, 09:07:49 pm
Thanks for the quick answer! I cannot find the place to input custom sql queries however. According to the documentation the place should be design-->editors-->Properties dialog. But its not there. Also, will this then allow me to filter out all elements that have less than this connector amount? Maybe relevant information is that i am using a trial version, is this functionality not present in the trial version?

Thanks,
Micha
Title: Re: Filtering elements based on the amount of relationships they have
Post by: qwerty on October 14, 2021, 10:06:16 pm
You can create custom SQLs and in the SQL scratch you can test arbitrary ones. Ctrl-F/Icon left of the red X/SQL Scratch Pad (a bid har to find, but that's EA).

Enter something like
Code: [Select]
SELECT t_object.name, count(*) from t_object inner join t_connector on t_connector.Start_Object_ID = t_object.Object_ID where t_object.Object_Type = "Object" group by t_object.Object_ID, t_object.Name
That will give you all elements with their connector count > 0. You need another one for the orphans. I leave that for you.

q.
Title: Re: Filtering elements based on the amount of relationships they have
Post by: michagast on October 14, 2021, 11:02:05 pm
I managed to get the query working, thanks! Is there now any way to apply this query as a filter on the diagram? E.g. display only those elements that >0 connections?
Title: Re: Filtering elements based on the amount of relationships they have
Post by: qwerty on October 14, 2021, 11:28:36 pm
Can't help with that. I'm just not using most of EA's gimmicks since they tend to simply not work in more cases than I would like.

q.
Title: Re: Filtering elements based on the amount of relationships they have
Post by: michagast on October 15, 2021, 01:21:55 am
Thanks for your help though. Does anyone else know how to achieve this?