Beginner Question: XRAY and components

Hi there!

another newbie question regarding EAZYBI and XRAY.
We have assigned components to each of our XRAY tests.
In EAZYBI I added Components as a custom dimension.
If I use this component dimension (as rows) and as a measure “XRAY tests created” I can see properly the number of tests associated to each component.
Now I would like to see all Test Runs associated to the Component. If I add this measure “XRAY Test Runs” I’ll get a total number but not properly displayed for each component. Do I need to create a custom measure and how should be the formula?

I tried the following (without success):

sum(
Filter(
      Descendants([Xray Test].CurrenthierarchyMember, [Xray Test].[Test]),
     [Component].CurrentMember.Name MATCHES [Project].[Component].getMemberNamesByKeys(
                                                          [XRAY Test].CurrentHierarchyMember.get('Component IDs'))
    ),
   [Measures].[Xray Test Runs]
  ) 

Any help is appreciated.

Many thanks in advance,

Stefan

Hi,

If the Tests Created shows correct number by components, the formula can be a bit simpler for filtering the Tests, but it needs one more part when counting the test runs:

sum(
Filter(
      Descendants([Xray Test].CurrenthierarchyMember, [Xray Test].[Test]),
     [Measures].[Xray Tests created]>0
    ),
   ([Measures].[Xray Test Runs],
   [Component].DefaultMember)
  )

The default member of the Component dimension ignores the Component for test runs. The use of Xray Tests created measure filters the tests by component.

Kindly,
Janis, eazyBI support

1 Like

Here is a more universal expression for calculated measure to get Xray Test Runs by the Component of Test and other fields associated with Test Execution issues and test run results.

Sum(
 --filter set of Tests
 Filter(
  Descendants([Xray Test].CurrentMember,[Xray Test].[Test]),
  --Test issue has selected Component
  DefaultContext((
   [Measures].[Xray Tests created],
   [Xray Test].CurrentHierarchyMember,
   [Component].CurrentHierarchyMember
  )) > 0 ),
 --sum up test runs ignoring Component assigned to Test Execution
 ([Measures].[Xray Test Runs],
 [Component].CurrentHierarchy.DefaultMember)
)

@zane.baranovska i am getting timeout issue when using the above measure, instead of using this formula in user defiend measure, can we do it in custom field?
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] [Mondrian::OLAP::Error] org.olap4j.OlapException: mondrian gave exception while executing query / OutOfMemory used=2587729248, max=2863661056 for connection: Jdbc=jdbc:jtds:sqlserver://SAFSBNDCW006.usmbfs.corpintra.net:1433/seazybi; JdbcDrivers=net.sourceforge.jtds.jdbc.Driver; UseContentChecksum=true; *** XML schema dump removed ***
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: mondrian.olap.MemoryLimitExceededException: Mondrian Error:OutOfMemory used=2587729248, max=2863661056 for connection: Jdbc=jdbc:jtds:sqlserver://SAFSBNDCW006.usmbfs.corpintra.net:1433/seazybi; JdbcDrivers=net.sourceforge.jtds.jdbc.Driver; UseContentChecksum=true; *** XML schema dump removed ***
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: mondrian.server.Execution.checkCancelOrTimeout(Execution.java:225)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: mondrian.rolap.RolapResultShepherd.shepherdExecution(RolapResultShepherd.java:171)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: mondrian.rolap.RolapConnection.execute(RolapConnection.java:599)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: mondrian.olap4j.MondrianOlap4jCellSet.execute(MondrianOlap4jCellSet.java:88)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: mondrian.olap4j.MondrianOlap4jStatement.executeOlapQueryInternal(MondrianOlap4jStatement.java:415)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: mondrian.olap4j.MondrianOlap4jPreparedStatement.executeQuery(MondrianOlap4jPreparedStatement.java:72)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: java.lang.reflect.Method.invoke(Method.java:498)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from root cause: org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:442)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from mondrian.olap4j.MondrianOlap4jConnection$Helper.createException(mondrian/olap4j/MondrianOlap4jConnection.java:859)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from mondrian.olap4j.MondrianOlap4jStatement.executeOlapQueryInternal(mondrian/olap4j/MondrianOlap4jStatement.java:423)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from mondrian.olap4j.MondrianOlap4jPreparedStatement.executeQuery(mondrian/olap4j/MondrianOlap4jPreparedStatement.java:72)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)
2024-04-05 08:25:44 -0400 ERROR: [07B748B2:6f956c9f] from org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:442)

Here, I updated the initial formula using properties instead of measures to filter Xray tests faster when the report uses the Component dimension.

SUM(
Filter(
   Descendants([Xray Test].CurrenthierarchyMember, [Xray Test].[Test]),
     iif([Component].CurrentMember.Level.Name = 'Component', 
       [XRAY Test].CurrentHierarchyMember.get('Component') MATCHES '.*' || [Component].CurrentMember.Name || '.*' , 1 
    )),
   ([Measures].[Xray Test Runs], [Component].DefaultMember)
  )

It might work faster and apply fewer calculations using measures that minimize memory use.

However, you would like to use measures iterating through Tests in accounts with a small set of issues. For example, issues for a specific project only.

Daina / support@eazybi.com