Home Forums eaDocX queries Excel tagged values

Home Forums eaDocX queries Excel tagged values

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
  • #7102

    I can not find a way to get inherited tagged values into Excel. Any ideas?

    Here is my scenario:

    1) Create a model that has parts classified to classes. (i.e. blueCar:Car)
    2) Add a tagged value to the class Car called “Weight”. Set its value to 10000 lb.
    3) Export all parts from the package into Excel. Ask for the a tagged value “Weight”.

    The value for Weight will be blank. This is because there is no way to ask for the inherited value of the tagged value.

    Does anybody know of a work around?

    Adrian Support


    I’ve looked at your example and you are correct that when you inherit tagged values into objects, until the objects create their own values for the tagged value items, they remain blank. Of course if you set a value in the instance it will be displayed.

    At present we don’t have a “switch” to check for and output inherited values. If we did I am assume the requirement would be to

    IF present then output the local tagged value i.e. element has a tagged value of that name set
    IFNOT and there is an inherited tagged value with the relevant name output its value.
    Is this what you would like to see?

    Of course I’m assuming that there aren’t some use cases in which there could be multiple inherited tagged values (!!!)

    If so I can add to the wish list – however at present I can’t see a quick workaround.

    eaDocX Support


    One work around is to let me run a SQL statement from Excel without filtering the data I get back. With a SQL I can ask for the Tagged values of the classifiers. The problem I have is if I have multiple parts pointing to the same class, the CLASSGUID filters out the duplicates (the two parts that point to the same value).

    For example, the SQL

    SELECT t_objectproperties.ea_guid AS CLASSGUID, aPart.Name, aPart.Object_Type, aCls.Name, t_objectproperties.Property, t_objectproperties.Value
    FROM (t_object AS aCls INNER JOIN (t_package AS aPack INNER JOIN t_object AS aPart ON aPack.Package_ID = aPart.Package_ID) ON aCls.ea_guid = aPart.PDATA1) INNER JOIN t_objectproperties ON aCls.Object_ID = t_objectproperties.Object_ID
    WHERE ((aPack.ea_guid)=’‘) AND (
    (t_objectproperties.Property=’Power’) OR
    (t_objectproperties.Property=’Weight’) OR

    Will return the tagged value property and result(value). The Excel filter will not let me do this. It expects an

    • This reply was modified 10 years, 7 months ago by David.
    Adrian Support


    Thanks for this info – using SQL provides the flexibility but as we have seen on this forum there are some issues.

    I had a look at supporting inherited tagged values and looks like it shouldn’t be too much of an issue, a simple flag could be set (checkbox) and we could output inherited if no local tagged value.

    however – how do we, or do we need to, indicate that the tagged value is local or inherited. Not sure if this is an issue or not.

    In any case would need to check with the other guys here on their views.

    Let me know your “ideal” requirement and I can see what we can do.



    If the rule is use the local if it is set and the inherited if the local is not set, I do not require a local/inherited flag. It would be nice to have this to debug/understand the model, but it would not be required.

    Adrian Support

    Thanks – the reason to have a checkbox is to enable/disable the capability as it may not be required/wanted by all users.

    We will discuss here and hopefully have something soon.



    Having a solution to this is very important. We are in the middle of a job and need to generate a nightly report that adds up the inherited values in the tagged values. The only way to do this right now is very manual. I found one query that gets us close to an answer. It gives the correct answer in EA. DocX seems to run a DISTINCT on the result which strips off the information we need. Here is the query that gives me a list of all of the parts and returns the CLASSGUID for the class that does have all of the correct tagged values:

    SELECT aCls.ea_guid AS CLASSGUID, aPart.Name, aPart.Object_Type, aCls.Name
    FROM t_object AS aCls INNER JOIN (t_package AS aPack INNER JOIN t_object AS aPart ON aPack.Package_ID = aPart.Package_ID) ON aCls.ea_guid = aPart.PDATA1
    WHERE (((aPack.ea_guid)=’‘));

    In “Find in Project” in EA I get the following results:

    aPart.Name Object_Type aCls.Name
    part1Lt Part class1
    part2Lt Part class2
    part3Rt Part class2

    Notice that the last two entries will return the same CLASSGUID for class2. For some reason, DOCX will not show the tagged values for both of the class2 entries. In DocX I get the following:

    ElementType Name TV1 TV2
    Class class1 25 30
    Class class2 80 70

    Notice that I only received 1 class 2 result. This means that the duplicate CLASSGUID that DocX receives from the query is deleted from the results. Is it possible to allow the duplicate CLASSGUID to remain in the search result?

    Adrian Support


    We’ve added support for inherited tagged values into a new release (v 3.3.14) which has just been uploaded on our site.

    On the Columns tab there is an “Enable Inherited Tagged Values” checkbox. If set and the relevant tagged values are selected from the columns list you will see the inherited tagged values. Disabled they will not be shown.

    This feature will work for the export from a package or diagram. It is not supported for single element outputs.


    If you import from the spreadsheet that is produced eaXL will import to LOCAL tagged values – and will create them if not present so please be aware. eaXL is a powerful tool.

    We hope that what we have added meets your requirements – please check with some test data and advise us.


    eaDocX support

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

Compare licence prices

Choose the licence that’s right for you and your team


Download a free trial

Download eaTeamWorks today for several free for life features, plus no obligation, 30-day trials of all the products: eaDocX, ea Revision Manager, eaSheets, Model Expert and PortfolioManager. Discover for yourself why we sell the world’s best-selling Enterprise Architect extension.