Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!
cancel
Showing results for 
Search instead for 
Did you mean: 
datanibbler
Champion
Champion

Large loop - keywords five tabs apart


HI,

I always split my script into several parts, one part of the script on one tab.

Now I have one large loop that encompasses two subroutines and several more loops

=> To the effect that the keywords "FROM ..." and "NEXT" are five tabs apart

There should actually be no big issue about that - I can easily put "NEXT [Counter]" instead of just "NEXT" and it should be clear for QlikView what is what

<=> It doesn't work: I have tested what is to be my meta_loop on its own - it parses through an inline_table with six sheet_names which  correspond to the names of worksheets in an Excel_workbook.

<=> Still, when I activate this meta_loop around all the other stuff - the first time round, my counter_variable (which is not identical to
           any of the "inner" ones, I have named them all differently) is populated all right and so is the variable for the worksheet I'm
           currently processing, but after the first iteration is completed, the variable has a NULL value ...

Can anyone help me there?

Thanks a lot!

Best regards,

DataNibbler

Labels (1)
13 Replies
datanibbler
Champion
Champion
Author

Hi,

that seems to have been the problem.

Now the script starts the second iteration - but then there's an issue: I am getting a >Field not found< at some point when actually that field should certainly be there - it is in every list.

=> How can I look at the contents of a file in RAM at a specific point in the process of my script without taking the entire loop apart?

Colin-Albert
Partner - Champion
Partner - Champion

You could add a qualified load to a test table to see the contents of a table at a particular point in your script.

e.g.

if vLoop = N

      qualify * ;

     TestTable:

     load * resident TableX ;

      unqualify * ;

endif;  // if Vloop = N

You could add a where clause or first N  if you only want a few records included

marcus_sommer
MVP
MVP

A look into the RAM is more complicated and will need significantly more time as to debug within qv - the suggestions from http://community.qlik.com/people/Colin_Albert about using several trace-statements and using from dummy-tables created per qualify-statement are good - I use the same approach if I can't find my mistakes ...

- Marcus

datanibbler
Champion
Champion
Author

Hi all,

thanks! I made it. Instead of using the variable, which apparently didn't work for some reason, I used the same PEEK() function inside the meta_subroutine that I had used the first time round to feed one of the six entries of my inline_table into a variable.

I guess that is solved now. A good day's work.

Best regards,

DataNibbler