Two Questions Concerning the Decision Admin

1. I want to use a query to return output values based on an input.  For example, I have input A that is used in a query to return a filtered result of values.  I have the query rule set up but how to do i introduce the input in the decision?  Its not an RI value so not sure how to set that up.  I was looking at something like this rule!retrieveValuesFromDB(networkId:{<?>})  The <?> is the input in the decision.  Also, this input can be an array of integers. 

 

2.  I have an input that can be multi-value.  In the decision engine it allows you to set that input dropdown as a multi-select.  Yet how do you test that? The rule is set to = when nornally you might have it set to a "contain".  Yet they do not have that option.   When I do the test the input drop down is a single value.  

  Discussion posts and replies are publicly visible

  • Hi Mikec,

    Query rules will be depreciated in the next Appian Release. On the 19.1 is not possible to create new ones.

    1. Instead of checking how to do it in a Query rule, I would suggest to work with expression rules. It is a bit more complicated but it offers you all the flexibility. On the 19.1 there is a component to help you to create this DB calls, but as I guess you have a different version, you should take one example and work on that base.

    You have a full example here: docs.appian.com/.../Query_Recipes.html

    2. In part of that expression rule, you will need to use the function a!query. One of the parameters is filter docs.appian.com/.../fnc_system_a_query.html were you will be able to select an operator as the one you are looking for.

    Good luck!
  • 0
    Certified Lead Developer

    1. Is there any reason why you can't split the query to the database out to it's own thing to make the decision far cleaner? For instance, you could run the query in a script task just before the decision, and then it WOULD be an ri value.

    2. Are you certain, then, that Decision object is the way to go? Nested if() statements may be clunky and time-consuming to construct at times, but they also allow for things like the contains(), length(), or count() functions, looping functions, etc.  Then again, you could also process results in contains() function for the one you were configuring as a multi-dropdown in, say, a script task just before the Decision as well, and then the results of comparison of multiple values could be a rule input of the Decision.

  • I believe we have come to the same conclusion. Its just too large for the decision engine. thanks for the feedback!!