Sparx Systems Forum
Pro Cloud Server / Prolaborate / WebEA => PCS General Board => Topic started by: mgourde on December 10, 2019, 08:12:17 am
-
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
-
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 [email protected]