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
Hi,
eazyBI has a new functionality for Xray data. Now, you can import Test fields as separate dimensions to group and filter test runs and executions using Test fields without complex calculations (this improves report performance). The feature is available on Cloud and since eazyBI version 7.2.
-
Go to import options, tab Add-ons, and import the Component of the Test issue.
-
In the report, use the new dimension “Xray Test Component” with predefined measure “Xray test Runs”.
Visit the documentation for more details: Xray Test Management.
Best,
Zane / support@eazyBI.com