Creating Filters

Hello. I am new to programming. I have created a form (shown below) that I want sent to applicants. I have three drop-down lists: Status, LMI, and Structure Type. I want to design the form so that these lists will automatically filter a set of applicants according to their Status, LMI, and Structure Type. What are the steps I need to take to have my drop-down menus filter applicants by these three types? Thank you.

  Discussion posts and replies are publicly visible

Parents
  • LOTS of questions still to be answered, but let's make a start:

    I presume there is a list of "Applicants" somewhere that you want to use the filters to return a subset of that list based upon what you've selected? If so: where is that list? (database?)

    The Applicants will need to have correlating attributes that can be used to select them based upon the values you pick in your drop-downs.

    When you say you want to "send a form" to the Applicants, what is meant by that? The form you're displaying looks like its the basis for capturing some info by someone who wants to use that to get the list of Applicants to send something to them, but it wouldn't be THIS form (would it?)

  • Hello, Stewart. I created a list of applicants, added them to the test environment, and placed them in a group (shown below). I don't know where to go from there, however; I'm not sure how to "connect" these applicants to the attributes relevant to the drop-downs. 

    Currently, I can click "submit" and have this form sent to a designated email address. The result is shown below the first image. This is the form I want sent. The issue is getting it to automatically filter the test applicants. 

    Thank you.

  • Ok, that's a start. But you need to be able to correlate a value you pick in your drop-down with a value associated with the Applicants so that you can filter them, along the lines of:

    Applicant's Status is <status>

    AND

    Applicant's  LMI is <lmi>

    AND

    Applicant's Structure Type is <structureType>

    ...and you can only do this if you have a means of tagging each Applicant with the relevant values. At this point you have to decide where these values are going to be set and, as important, HOW they will have those values set (and WHO by, and WHEN). So, you need to have a workable design down, preferably BEFORE you embark on building your solution.

    Are you able to answer the above ?

  • Hmm. Well, I found some Appian videos and they suggest using a Record Type to filter the data. I created a new user filter titled "Status." I have a lot of options for status, however. See below. Does this look correct? Is this what you were referring to? Thank you

  • Hi, Stewart. Some people at my workplace suggest I use something called Query Rules. Do you know how I can use Query Rules to filter the data in question? Thanks

  • Hi Benjamin - Query Rules are being deprecated (you can no longer create new ones in Designer, although support is retained for existing objects). If you want to retrieve data from a database then you'll need to create a Query Entity. This documentation should help you get started.

  • Thanks, Stewart. As you can see, I've finished my query entity. Do you know how I can add my test applicants to correlate them with the data?

  • Is not the table that BS_MS_STATUS_DSE is pointing to the source of your Test Applicants? If so, then when you run this expression rule it should return the subset of Applicants that correlate wit the values you've set for 'status', 'lmi' and 'struictureType'

  • I don't believe it is. Below is the BS_MS_STATUS_DSE constant, as well as the list of test users I have made. How can I have the constant point to these test users? Thanks.

  • Ah! Ok, so there's a definite disconnect here. the Constant is acting as a "pointer" to a Data Store Entity: that is, a TABLE (or a VIEW) is a DATABASE. So your Query Entity is essentially assembling (behind the scenes) a SQL statement to select data from that tbale. SO: you need your Applicants to have entries in that table. 

    It looks like you're thinking you can query the User objects in Appian (this sort of is possible but I strongly recommend you DON'T do it that way). SO: for every Applicant in the list in your second screenshot you'll need a row in the database table, with the UserId as they correlating value (the value that is the same in the DB as it is in Appian). In effect the UserId in the database is acting as a virtual "foreign key" to the User Object in Appian. Each row in your table - an individual Applicant - should have values for 'status', 'lmi' and 'struictureType'. Your query entity will then return all qualifying rows, you can then extract the UserId and use THAT value to get the User's email address or assign a Task or however you decide to communicate with the User as an Applicant.

Reply
  • Ah! Ok, so there's a definite disconnect here. the Constant is acting as a "pointer" to a Data Store Entity: that is, a TABLE (or a VIEW) is a DATABASE. So your Query Entity is essentially assembling (behind the scenes) a SQL statement to select data from that tbale. SO: you need your Applicants to have entries in that table. 

    It looks like you're thinking you can query the User objects in Appian (this sort of is possible but I strongly recommend you DON'T do it that way). SO: for every Applicant in the list in your second screenshot you'll need a row in the database table, with the UserId as they correlating value (the value that is the same in the DB as it is in Appian). In effect the UserId in the database is acting as a virtual "foreign key" to the User Object in Appian. Each row in your table - an individual Applicant - should have values for 'status', 'lmi' and 'struictureType'. Your query entity will then return all qualifying rows, you can then extract the UserId and use THAT value to get the User's email address or assign a Task or however you decide to communicate with the User as an Applicant.

Children