I have a complicated filtering need and I'm not sure how to approach this problem. I've traveled down several paths and nothing seems to allow me to get exactly what I'm looking for.
To start, let me explain the field I will be filtering.
Each Employee records hours to the Hours list against some Record number (lookup field to the Records list). This Record number is a float value, ranging from 1 to about 4000 in our current system. Each Record can have child records, up to 4 children. So, for example, Record 1234 has the following:
- Record 1234 - parent Record (no hours recorded against this level)
- Record 1234.001 - 1234.999 - first child level of parent Record 1234
- Record 1234.001001 - 1234.001999 - second child level of parent Record 1234, first child level of 1234.001
- Record 1234.001001001 - 1234.001001999 - third child level of parent Record 1234, second child level of 1234.001, first level child of 1234.001001
- Record 1234.001001001001 - 1234.001001001999 - fourth child level of parent Record 1234, third level child of 1234.001, second child level of 1234.001001, first level child of 1234.001001001
So each parent Record always has children, and each child Record potentially has children as well. The maximum number of places after the decimal is 12.
I have built a report in Report Builder that will display all hours worked by all employees for a date range and a selected set of Records typed in by the person running the report.
The Record parameter is a multiple value Float, and I named it "RecordsTypeIn"
The filter I originally created is "RecordNumber" IN "RecordsTypeIn". This works only for the projects you type in, and you don't see any child Records unless you type them out separately on a new line.
- that is, if I were only to type in 1234, I would not see any results (because no hours are recorded against parent Record number which is always an integer). I would need to type out 1234.001, 1234.001001, etc.
The filter I want is to include every child-level Record that exists. So, I could type in 1234 and it would return all Records 1234.yyyyyyyyyyyy
- Similarly, I could type in 1234.001001 and it would return that child Record as well as all its child Records 1234.001001xxxxxx
- Basically, I want a 'rollup' style filter instead of an exact-result filter
I have tried several filters to try to accomplish this without success.
- One filter I tried: I was able to do a "RecordNumber" (string) LIKE "RecordsTypeIn" (string) with success, but this method does not allow me to type in multiple project numbers. Additionally, using this method creates a problem when trying to search Record numbers under 1000 (since I'm working with a text filter here).
Does anyone have any ideas how I could create the filter I want? Maybe create a separate Dataset or something?
Any help or suggestions would be appreciated!
Thanks,
Elizabeth