Ability to use this logic in report builder ((A AND B) AND (C AND D))

Related products: None

Customer has the following use case. They fire off three CTA's when someone becomes a new customer





-Discovery


-Pre-Deployment


-Deployment





They are wanting to pull in customers which meet the following criteria:





Has a Discovery CTA with a Status !=New   AND Has a pre-deployment CTA with a status = new





This would let them know which customers have started talking about their deployment with a discovery call, but haven't actually started deploying anything within the organization. 





I have broken the report down to this logic   ((A [Name] AND B [Status])  AND (C [Name] AND D [Status]). When I use the "or logic" I get results and I can see there are customers that have both of these CTA's in the statuses that they want to flag.... but if I switch it to AND (what they want) I get no data found.
Isn't this the same as  (A AND B AND C AND D) ?
Karl,





I tried it both ways and either way I get no data found



So is this something that can be done with Karl's example?
Hi Steve,





The filter will never yield any result immaterial of ((A and 😎 and (C and D)) or if you write(A and B and C and D) because you are using CTA Status Name = New and != New simultaneously which will lead to 0 results.





What you want is to first identify customers who are having a Discovery CTA with a Status !=New and then from the results which you get, use inline report filters to apply C and D conditions because essentially what you are doing is apply two levels of filters-





Show me all customers who have discovery cta and status not equal to new and then amongst the customers who meet the first condition (A and 😎, show me customers who meet pre-deployment CTA with a status = new (C and D). 





This cant be done as a single query as you have done in report builder.





Thanks


Abhishek S
Abishek, this isn't what the customer wants. The use case...while illustrated by using a report... is really to fire off a CTA to the CSM when accounts have had discovery calls but haven't started deployment in X number of days. I can't use inline filters in a rule and I also can't find a logical way to bring in BOTH of those CTA's (They have different names, playbooks, etc.) 





(A AND B AND C AND D) doesn't fit the use case and is not the logic we want. The true logic of what the customer would like is in fact ((A AND 😎 AND (C AND D)).  Having this name and this status, but also having another cta with a different name and a different status. 





The fix here may not be to adjust the logic in the query, but I'm hopeful you understand the use case that I have laid out.  The customer would like to fire off a CTA's based on the statuses of other CTA's progress. You could do this today if it were just one CTA that we want to look at. However, they are trying to look across the progress of several "related" CTA's to determine when a project is getting stalled. 





This is very important to the business. I have changed this over to an idea, but wanted to make sure we are all on the same page about the ask from the customer is. My apologies if it wasn't clear. 





Steve 
I am sorry Steve but there is no logical difference between (A AND B AND C AND D) and ((A AND 😎 AND (C AND D)).  In either situation, the expression is false unless every one of the four individual expressions is TRUE.  As Abhishek said, you seem to want not a single query with four conditions but two separate queries with a join on the results.  Report Builder and Rules Engine issue one query.  So the way you need to solve this problem is to use two Rules and write out intermediate results.  One of the fundamental points of Bionic Rules is to support multiple queries with in-memory joins so that will be helpful for this scenario.  
Karl,





I understand... the only reason I am pointing out that logic is to clarify what the query would have to look like. I totally get that right now, it would have to be two queries. I also understand this is a feature request. I am just simply trying to point out the use case for the customer... does the use case at least make sense? Id be happy to chat offline if not. 





Thanks,


Steve Davis
Hi All,





Hope I'm not muddying things up more but my use case is not to fire off a CTA but to generate a count of accounts that have CTAs that meet the all of the conditions. 





The end goal is to produce a single graph that displays the "status" of a particular Success Plan based on the statuses of the CTAs within a given plan. 





The conditions outlined above would be for one status, for example "Blocked" which could mean that any CTA in the Success Plan has a status of "On Hold". We have 6 other reports that chop up based on different variations of CTA name, CTA status and Success Plan status. 





For some additional context - we have a success plan template for a major product migration initiative. The success plan has 3 objectives as outlined above. We have good visibility into progress at the CTA level but we want an overall status of the plan so we can get a single view of the customers in the migration. - I've provided some of this context on a separate thread regarding success plan scoring.





d
Hi all,





Looks like this still might be an open question. With the arrival of bionic rules, this is now a solvable issue.





Create two fetch tasks, first fetch task has the filter of "Has a Discovery CTA with a Status !=New", second fetch task has the filter of "Has a pre-deployment CTA with a status = new"





Merge the results of those two fetch tasks. 





You could then use the merged results to create CTAs or write data to an MDA table that could be used for reporting. 

As Dan mentioned above, Data Designer / Rules is the ideal place to solve this problem and this cannot be solved from Reporting directly.