Author Topic: Prolaborate: Chart Condition to Link to Previous Level with multiple values  (Read 592 times)

mgourde

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Hello,
I am creating a Nested Chart using SQL statements. My problem is that for the Level 2 I need to link to Level 1 using the Level 1 GroupName value and combine the condition with the value of another table's Object ID (from Level 1 and using an alias). It seems that the 'Condition to Link' does not accept more than one assignment.

Ex.:
level2.GroupName= level1.Series AND level2.dropID = level1.dropObjectID

Complement to my question: In the 'Condition to Link...' can we refer to a Query Variable?
Ex.:

SELECT ....  WHERE object.Object_ID = @ID

In ConditionL
level2.ID = [literal] or [level1.ObjectID]


Thanks for your help.

Prolaborate version 3.2.3.0

Prolaborate Support

  • Prolab Moderator
  • EA User
  • *
  • Posts: 142
  • Karma: +9/-0
    • View Profile
    • Visit us
Here are some sample queries with multiple conditions used in Condition to Link. Please try and let us know if it does not work.

Level1 Query:

select distinct o.Object_ID as objectid1, o.Name as name, o.Author as series1,  '' as connstartid1, '' as connendid
from t_object o
Join t_objectproperties  grouptable on grouptable.Object_ID=o.Object_ID   
left join t_connector conn on conn.End_Object_ID = o.Object_ID  or conn.Start_Object_ID = o.Object_ID 
where   grouptable.Property='Business Unit'   AND  ( LOWER (o.Stereotype) IN('archimate_applicationcomponent')  OR LOWER (o.Object_Type) IN ('archimate_applicationcomponent'))

Level2 Query:
select distinct o.Object_ID as objectid2, o.Name as series2, o.Author as groupname2, conn.Start_Object_ID as connstartid2, conn.End_Object_ID as connendid   
from t_object o 
left join t_connector conn on conn.End_Object_ID = o.Object_ID 
or conn.Start_Object_ID = o.Object_ID 
where ( LOWER (o.Stereotype) IN('archimate_capability')  OR LOWER (o.Object_Type) IN ('archimate_capability'))   AND  ( LOWER(conn.Stereotype) IN('association')  OR  LOWER(conn.Connector_Type) IN ('association'))

Condition to Link to Previous Level::

(level2.groupname2 = level1.series1) and (level2.connstartid2 = level1.objectid1 or level2.connendid = level1.objectid1) and (level2.objectid2 != level1.objectid1)

We can help you better if you can give a little bit of background to the visualization. Please feel free to email us at prolaborate@sparxsystems.com
Happy to help!

SPARX PROLABORATE - SHARING & COLLABORATION SOFTWARE FOR ENTERPRISE ARCHITECT