It's all about the answers!

Ask a question

How do you get Report Builder not to return all Module instances of Artifacts


Ben Sharples (812758) | asked Jun 27 '19, 5:11 p.m.
I am trying to use Report Builder to report on all the Artifacts of a particular type in my project area, however as well as the base artifact it also brings in every instance in any modules as well.

I just want a report using the base artifacts not all the instances across multiple modules.

It would seem pointless to create a Module purely for a reporting perspective as it seems that I set a condition to only show those in a particular module.

I am having to use multiple modules already for reporting purposes as the Dashboard Widgets only allow you to point to views in Modules or the Base level (would be much more useful to point to views in collections)

2 answers



permanent link
Chris Hardy (335) | answered May 06 '21, 7:39 p.m.
I'm also having this issue -
 If an artifact is not in a module, it appears once in the report (just the base artifact)
 If an artifact is in a module, it appears twice in the report (base artifact and module artifact)

Anyone find a workaround for this?

Comments
Davyd Norris commented May 06 '21, 9:15 p.m.
Hi Chris,

Sean's approach should work for you - it's working for me

Chris Hardy commented May 07 '21, 12:26 a.m.
Sadly, its not working for me.
As a test I have one artifact that is in a module.
If I don't include "Collection or Module" as a condition I get two results.
If I set "Collection or Module" = Unassigned I get no results (This is not correct)
If I set "Collection or Module" = <<the module name>>  I get one result (This is correct)
If I set "Collection or Module" != <<the module name>>  I get no results

In the real example i have artifacts that are and are not in modules.
I just want all the base artifact reported on not the module artifacts.
I agree that the solution is as Davyd and Sean indicate that
      "Collection or Module" = Unassigned
should provide the required result but it doesn't.

I guess I'm raising a bug report at this point :(

permanent link
Sean F (1.3k241144) | answered Jun 28 '19, 3:50 a.m.
edited Jun 28 '19, 3:56 a.m.
You need to add a condition against the artifact to say if it belongs to a module or collection (and if so which one[s]) or if it is unassigned (within the context of the report you are trying to generate).


In this example 'unassigned' has been chosen so only the base artifacts links going to that artifact will be reported even if the artifact also appears in 1 or more modules and has module context links within those modules.

If you instead selected a module in which that artifact appears then only the module context links going to that artifact as it appears in the selected module will appear in the report.



Comments
Ben Sharples commented Jun 28 '19, 6:05 a.m.
That filter returns only those Base Artifacts that are in no modules at all, which is not the use case I am trying to achieve.

Sean F commented Jun 28 '19, 10:22 a.m. | edited Jun 28 '19, 10:23 a.m.
The query actually returns whether the link itself is base artifact or module context.

It does not refer to whether the artifact appears in a module or not.

So if your artifacts are all in modules but the links between them are base artifact links then all those artifacts and their links will be returned by the query in the screenshot.

Ben Sharples commented Jul 01 '19, 6:43 a.m.
The query in the screenshot only returns those Artifacts where they are not currently assigned to a Module.

Where an Artifact is assigned to a module then no returns occur of the Module instance of the Artifact and the Base Artifact is also not returned from this query.

i.e.
Artifact 1: Assigned to a Module
Artifact 2: Assigned to a Module
Artifact 3: Assigned to a Module
Artifact 4

Original Problem was query would return:
Artifact 1
Artifact 1: Module Instance
Artifact 2
Artifact 2: Module Instance
Artifact 3
Artifact 3: Module Instance
Artifact 4

Query in screenshot returns Artifact 4 only

The use case I am looking for is to return
Artifact 1
Artifact 2
Artifact 3
Artifact 4


Davyd Norris commented May 06 '21, 9:06 p.m.
That's not what I see.

I see exactly what Sean does - all the base artefacts regardless of whether they are used in modules or not

Your answer


Register or to post your answer.