FileMaker Position Function Calculator
Find Text Position
This calculator simulates the FileMaker `Position()` function to find the starting position of a specific character or text within a larger text field.
Results
Text to Search Length: 0 characters
Search String Length: 0 characters
Effective Start: 1
Occurrence Searched: 1
Status: Awaiting input…
Position Function Examples Table
| Text to Search | Search String | Start | Occurrence | Result Position |
|---|---|---|---|---|
| “Hello World” | “l” | 1 | 1 | 3 |
| “Hello World” | “l” | 4 | 1 | 4 |
| “Hello World” | “l” | 1 | 3 | 10 |
| “Hello World” | “o” | 1 | 2 | 8 |
| “ababab” | “ab” | 1 | 2 | 3 |
| “ababab” | “ab” | 2 | 1 | 3 |
| “ababab” | “c” | 1 | 1 | 0 |
Table showing output of the Position function for various inputs.
Position Found vs. Occurrence Chart
Chart illustrating the found position for different occurrences of the search string (up to 5 occurrences shown).
What is the FileMaker Position Function?
The FileMaker Position Function is a powerful text function within the FileMaker Pro platform used to locate the starting character position of a specific string (the “search string”) within a larger body of text (the “text”). You can also specify where in the “text” to begin searching (“start”) and which instance (“occurrence”) of the “search string” you want to find.
It’s an essential tool for parsing text, extracting data, and performing conditional logic based on the content of text fields. If the FileMaker Position Function finds the specified occurrence of the search string, it returns a number representing the starting character position; if it doesn’t find it, it returns 0.
Who should use it?
FileMaker developers, database administrators, and anyone building solutions in FileMaker who needs to:
- Find if a specific word or character exists within a text field.
- Extract parts of a string based on delimiters (like finding the position of a comma or space).
- Validate data format within a field.
- Perform conditional scripting based on text content.
- Locate multiple instances of the same text within a field using the FileMaker Position Function with different occurrence numbers.
Common Misconceptions
A common point of confusion is case sensitivity. In FileMaker, the behavior of the FileMaker Position Function regarding case sensitivity depends on the indexing and storage settings of the field being searched or the locale settings of the file. By default, text comparisons in FileMaker are often NOT case-sensitive for indexing and find requests, but they CAN be case-sensitive in calculations depending on the context and locale. When using `Position` directly in a calculation, it often performs a case-sensitive search unless the text is indexed with non-case-sensitive settings that influence calculations. Always test in your specific FileMaker environment.
FileMaker Position Function Formula and Mathematical Explanation
The syntax for the FileMaker Position Function is:
Position ( text ; search string ; start ; occurrence )
Where:
text: The field or text expression you want to search within.search string: The specific text or character(s) you are looking for.start: An integer indicating the character position intextwhere the search should begin. Astartof 1 means from the beginning.occurrence: A positive integer indicating which instance ofsearch stringto find (1 for the first, 2 for the second, and so on).
The function works by scanning the text starting from the start position. It looks for the occurrence-th instance of the search string. If found, it returns the character position (1-based index) of the beginning of that instance within the original text. If the specified occurrence is not found, or if start or occurrence are invalid, it returns 0.
Variables Table
| Variable | Meaning | Unit | Typical Range |
|---|---|---|---|
| text | The main string to search within | Text/String | Any valid text |
| search string | The substring to find | Text/String | Any valid text |
| start | The character position to begin searching from | Integer | 1 to length of ‘text’ |
| occurrence | Which instance of ‘search string’ to find | Integer | 1 or greater |
Practical Examples (Real-World Use Cases)
Example 1: Finding the First Space
Imagine you have a field “FullName” containing “John David Smith” and you want to extract the first name.
- Text to Search (text): “John David Smith”
- Text to Find (search string): ” ” (a space)
- Start Position (start): 1
- Occurrence (occurrence): 1
The FileMaker Position Function Position("John David Smith"; " "; 1; 1) would return 5. You can then use this to extract “John” using the `Left` function: `Left(“John David Smith”; 5 – 1)`. See our FileMaker Left Function guide.
Example 2: Finding the Second Occurrence of “a”
Suppose you have a field “Description” containing “A sample of a great product”.
- Text to Search (text): “A sample of a great product”
- Text to Find (search string): “a”
- Start Position (start): 1
- Occurrence (occurrence): 2
Position("A sample of a great product"; "a"; 1; 2) would return 10 (the ‘a’ in “sample”). If you were looking for the 3rd ‘a’, it would be Position("A sample of a great product"; "a"; 1; 3) returning 16 (the ‘a’ in “great”). This demonstrates the power of the FileMaker Position Function.
How to Use This FileMaker Position Function Calculator
Using this calculator is straightforward:
- Enter Text to Search Within: Type or paste the main text into the first text area.
- Enter Text to Find: Type the specific character or string you’re looking for into the second input field.
- Set Start Position: Enter the character position from which you want the search to begin (usually 1 for the start of the text).
- Set Occurrence: Specify which instance of the “Text to Find” you are interested in (1 for the first, 2 for the second, etc.).
- View Results: The calculator automatically updates the “Primary Result” showing the found position (or 0 if not found), along with intermediate values like string lengths and the effective start position.
- Reset: Use the “Reset” button to clear the inputs and go back to default values.
- Copy Results: Use the “Copy Results” button to copy the main result and key parameters to your clipboard.
The results will tell you the starting character position of your desired text within the main text, based on your inputs. If the result is 0, it means the specified occurrence wasn’t found from the start position. Explore more with our FileMaker Calculation resources.
Key Factors That Affect FileMaker Position Function Results
- Case Sensitivity: As mentioned, the FileMaker Position Function‘s case sensitivity in live FileMaker can depend on field indexing and file locale settings. Our calculator performs a case-sensitive search as is common in many direct calculation contexts.
- Start Position: If the
startposition is set beyond the length of the text, or if the desired occurrence is after thestartposition but before the actual start of the text, the result will be 0. - Occurrence Number: Requesting an occurrence that doesn’t exist (e.g., the 5th “a” when there are only 4) will result in 0.
- Empty Search String: If the “Text to Find” (search string) is empty, the FileMaker Position Function‘s behavior can be inconsistent or return 0 or 1 depending on the FileMaker version and context. It’s best to avoid searching for empty strings or handle this case explicitly. Our calculator treats an empty search string as not found after start 1.
- Whitespace: Spaces and other whitespace characters are treated just like any other character by the FileMaker Position Function.
- Text Encoding: While usually seamless, differences in text encoding (like UTF-8 vs. other encodings) could theoretically affect position if characters are multi-byte and not handled uniformly, though FileMaker generally manages this well. Learn about FileMaker Development best practices.
Frequently Asked Questions (FAQ)
A: It means the specified `occurrence` of the `search string` was not found within the `text` at or after the `start` position.
A: In a FileMaker calculation engine, it is often case-sensitive. However, behavior can be influenced by the field’s indexing (if the `text` is a field) and the file’s locale settings. This calculator performs a case-sensitive search.
A: The FileMaker Position Function doesn’t directly find the last occurrence. You might need to loop or use a custom function, or combine it with `PatternCount` to first find the total number of occurrences and then search for that specific occurrence number. Check our FileMaker PatternCount guide.
A: The function will return 0 because the search cannot begin.
A: Not directly. You would need to reverse the string or use a more complex calculation, perhaps counting occurrences first.
A: `Position` finds the starting location of one specific occurrence of a string. `PatternCount` tells you how many times a string appears within another string, without giving their locations. See FileMaker PatternCount.
A: Yes, but the result will always be 0 as it cannot be found.
A: The FileMaker Position Function treats line breaks (ΒΆ or Char(13)) like any other character. You can search for `Char(13)` to find them. More on FileMaker Scripting Basics.