Book a Demo

Author Topic: Filtering elements based on the amount of relationships they have  (Read 5296 times)

michagast

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
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

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Filtering elements based on the amount of relationships they have
« Reply #1 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.

michagast

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Filtering elements based on the amount of relationships they have
« Reply #2 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

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Filtering elements based on the amount of relationships they have
« Reply #3 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.

michagast

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Filtering elements based on the amount of relationships they have
« Reply #4 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?

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Filtering elements based on the amount of relationships they have
« Reply #5 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.

michagast

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Filtering elements based on the amount of relationships they have
« Reply #6 on: October 15, 2021, 01:21:55 am »
Thanks for your help though. Does anyone else know how to achieve this?