Sign in to follow this  
Followers 0

Filtering a field for text files only

16 posts in this topic

Posted

I'm populating a value list from a field containing all the file names in a directory (hundreds of values). I need to filter it to only show files with a .txt or .TXT extension. I can do it using a loop in a script, but I'm hoping someone can point out a simple calculation technique.

BTW, I've looked at a couple of functions on BrianDunning.com and found them too involved for this simple case. Others may eventually look at my code! Plus, I'd generally like to know how to filter fields for other reasons.

Thanks for any help.

Share this post


Link to post
Share on other sites

Posted

hundreds of values in a field ( 1 record ) or a value for each record ?

Share this post


Link to post
Share on other sites

Posted

Hundreds of file names in a single field ... each one a value ... as returned by a plug-in's list folder function.

Share this post


Link to post
Share on other sites

Posted

Using CustomList ( )* by Agnes Barouh, the calculation will be as simple as:

CustomList ( 1 ; ValueCount ( text ) ;

"If ( Right ( GetValue ( text ; [n] ) ; 4 ) = ".txt" ; GetValue ( text ; [n] ) )"

)

* http://www.briandunning.com/cf/868

You could even try to use recursion with an unstored calculation field ( name it "result" ), looping with itself.

Let([

T = yourTextField ;

$i_InnerRecursion = $i_InnerRecursion + 1

];

Case(

Right ( GetValue ( T ; $i_InnerRecursion ) ; 4 ) = ".txt" and $i_InnerRecursion ≤ ValueCount ( T ) ; List ( GetValue ( T ; $i_InnerRecursion ) ; result ) ;

$i_InnerRecursion ≤ ValueCount ( T ) ; result ;

Let ( $i_InnerRecursion = "" ; "" )

)

)

Share this post


Link to post
Share on other sites

Posted

How about a non-recursive one?

FilterValues (

listOfFiles ;

Substitute ( listOfFiles & ¶ ; [ ".txt" & ¶ ; "§" ] ; [ ".TXT" & ¶ ; "∆" ] ; [ ¶ ; "±¶" ] ; [ "§" ; ".txt" & ¶ ] ; [ "∆" ; ".TXT" & ¶ ] )

)

1 person likes this

Share this post


Link to post
Share on other sites

Posted

Now this rivals your Tower of Hanoi calculation and your laminated calculation as well. Absolute genius, watching the switch work through it.

Is there any reason (other than clarity) that you listed it as ".TXT" & ¶ instead of "TXT¶" ?

Share this post


Link to post
Share on other sites

Posted

Is there any reason (other than clarity) that you listed it as ".TXT" & ¶ instead of "TXT¶" ?

Well, the idea is to generalize it into suffix & ¶

BTW, at least part of the credit goes to Agnes Barouh.

Now this rivals your Tower of Hanoi calculation

I have a Tower of Hanoi calculation?

Share this post


Link to post
Share on other sites

Posted

What are these icons?

"§" "∆" & why are you using them in the calculation? thanks

-i

Share this post


Link to post
Share on other sites

Posted

They are characters assumed not to be used in listOfFiles.

Share this post


Link to post
Share on other sites

Posted

They are characters assumed not to be used in listOfFiles.

thanks

Share this post


Link to post
Share on other sites

Posted

How about a non-recursive one?

Ahh, the power of FilterValues ( ) !

Well done.

Share this post


Link to post
Share on other sites

Posted

I have a Tower of Hanoi calculation?

Well that is what I named your calculation where you first used §§ within Substitute() to play switch-a-roo with the values in this way. Your formula reminded me of Tower of Hanoi http://www.cut-the-k...nce/hanoi.shtml which I had first learned of from a great post here

http://attic.fmforum...earch/1/#187899.

Unfortunately, I could not find that original post where you first presented it and I sure tried. I believe it was around 2007. If you didn't have a billion posts on all the forums it would be easier but please continue making it difficult for us to keep up with your work. You would think I would remember the exact calculation of yours but it was not the formula that mattered in that instance but rather the power of using Substitute() to re-work values in such a pretty, recursive fashion. Tower of Hanoi is pretty cool.

I miss Søren. He always added so much flavor (and sometimes heat, LOL) to a discussion.

Share this post


Link to post
Share on other sites

Posted

I miss Søren. He always added so much flavor (and sometimes heat, LOL) to a discussion.

Yes. It was from reading his posts that I developed an enthusiasm for cyrptology. He certainly had a way with words. :)

Share this post


Link to post
Share on other sites

Posted

Your formula reminded me of Tower of Hanoi

I see - but the Tower of Hanoi is something much more complex. This is just 'cover the furniture while I spray-paint'.

Share this post


Link to post
Share on other sites

Posted

Then I'm mistaken because that wasn't the calc I was thinking of. But thank you for finding it anyway!!

Well, I think many calculations are gorgeous and it's hard to find a favorite! :laugh2:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0