Accessing Values in Dictionary

Certified Associate Developer

 

Hi team

I want to access values in a dictionary without using a loop, because in real-time we have 440 rows, and each row has 150 columns. Running a loop over each row to get values is causing performance issues.

I checked the Appian Community and found that we can use the a!keys() function to extract all keys

Id (PK), PartNumber, Status, Country_1, Country_2, Country_3, ..., Country_150

We are using CDT to get data from DB so output of CDT in dictionary format.

Expected output:
countries: {
{country_1, country_2, country_3, ..., country_150}----for 1 st row
{country_1, country_2, country_3, ..., country_150}-----for 2nd row
}
*** One way i found is writing index on all 150 columns  but it will increase code length  is ther other alternative way other than this

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    Trying to manage 440 rows with 150 columns in memory does not feel like a good design decision.

    What do you try to achieve?

  • 0
    Certified Associate Developer
    in reply to Stefan Helzle

     The table has a maximum of 150 entries for each ID. For example, for request ID 1, we have 120 eligible countries, so there are 120 rows in the child table. For request ID 2, there are 50 eligible countries, so we have 50 rows in the child table.

    In the main table, if I have 440 rows, then in the child table I will have up to 440 × 150 rows. To avoid this many loops, I created a view with the format mentioned above — where each request ID has all countries as columns. This way, I only need to run 440 loops to get the request ID and all country values into one variable.

    From that variable, I want to extract only the country values, not other values like the request ID.

Reply
  • 0
    Certified Associate Developer
    in reply to Stefan Helzle

     The table has a maximum of 150 entries for each ID. For example, for request ID 1, we have 120 eligible countries, so there are 120 rows in the child table. For request ID 2, there are 50 eligible countries, so we have 50 rows in the child table.

    In the main table, if I have 440 rows, then in the child table I will have up to 440 × 150 rows. To avoid this many loops, I created a view with the format mentioned above — where each request ID has all countries as columns. This way, I only need to run 440 loops to get the request ID and all country values into one variable.

    From that variable, I want to extract only the country values, not other values like the request ID.

Children