Qlik Community

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

We value your feedback – take our 5-minute QlikView modernization survey
Showing results for 
Search instead for 
Did you mean: 
Contributor II
Contributor II

Decoding a Directory structure



I have a real brain teaser

I have table that lists the directory structure in a real bad way and would like some assistance in simplifying  the creation of a table show the folder structure in a tabular way ie; left to right on a single line.


FolderID FolderName
|-1-|1 Folder1
|-1/1-|1 Folder1
|-1/1-|2 Folder2
|-1/1/2-|1 Folder1


The start and end are denoted by "|- and -|" a new folder is given a number after the "-|"

any guidance is appreciated 

Labels (1)
2 Replies
MVP & Luminary
MVP & Luminary

I'm not sure that I really understand what do you you want to do but I think I would try it with something like this:

load *, rowno() as RowNo;
load recno() as RecNo, iterno() as IterNo, String, subfield(String, Delimiter, iterno()) as SubString
from Source while substringcount(String, Delimiter) <= iterno();

Subfield() will split your String into multiple records. RecNo and RowNo enable you to track the source- and target-records and IterNo the respective depth of the SubString.

Before and afterwards you will probably need various string-operations with replace(), keepchar() and also left(), right(), mid() and similar functions to prepare the String and to correct the created SubString appropriate.

The next step could be to create a mapping-table of foldernames in regard to the depth of the SubString - maybe just loading the split-results with an appropriate where-clause - and then loading the result-table again and replacing the depth-information with the foldernames.

Afterwards this result could be string-aggregated with concat() to a complete path.

- Marcus

Contributor II
Contributor II

Hi Marcus,


I'm juggling about a dozen things at the moment so thanks for the input, I did a quick run through using the above but had to stop at 500 million lines ( I think I missed something) I will try and look again later this week