Hello,
I tried something like this:
FOR Each vFile in FileList('$(vFileDir)*.csv')
A:
LOAD
filename() AS AAA
FROM
[$(vFile)]
(txt, utf8, embedded labels, delimiter is ',', msq);
NEXT vFile;
Unfortunate it doesn't work. What I want is to have 1 row for every file name in the folder. But I get as many rows as the file have and every row has file name. This seems to be also quite slow. Tried to use FirstValue, but it is also slow.
Do you have some advices please?
Thanks
Way simpler. vFile already contains the file name, so why do you want to open each file again?
FOR Each vFile in FileList('$(vFileDir)*.csv')
A:
LOAD '$(vFile)' AS FileName
AUTOGENERATE 1;
NEXT vFile;
You can add RowNo() AS ID to get a sequential number for each filename.
Hi!
Try this:
FOR Each vFile in FileList('$(vFileDir)*.csv')
A:
LOAD
filename() AS AAA
FROM
[$(vFile)]
(txt, utf8, embedded labels, delimiter is ',', msq)
ORDER BY
AAA;
NEXT vFile;
Regards!
might be distinct keyword help you..
FOR Each vFile in FileList('$(vFileDir)*.csv')
A:
LOAD
filename() AS AAA
FROM
[$(vFile)]
(txt, utf8, embedded labels, delimiter is ',', msq);
NEXT vFile;
or use FIRST keyword
FOR Each vFile in FileList('$(vFileDir)*.csv')
A:
First
LOAD
filename() AS AAA
FROM
[$(vFile)]
(txt, utf8, embedded labels, delimiter is ',', msq);
NEXT vFile;
Regards,
Way simpler. vFile already contains the file name, so why do you want to open each file again?
FOR Each vFile in FileList('$(vFileDir)*.csv')
A:
LOAD '$(vFile)' AS FileName
AUTOGENERATE 1;
NEXT vFile;
You can add RowNo() AS ID to get a sequential number for each filename.
Hi,
if you want ONLY the name without the extension, use FileBaseName() function
Exactly what I wanted
Thank you.