advanced microsoft project filters
DESCRIPTION
Advanced Microsoft Project FiltersTRANSCRIPT
![Page 1: Advanced Microsoft Project Filters](https://reader035.vdocuments.site/reader035/viewer/2022071709/55cf922f550346f57b946072/html5/thumbnails/1.jpg)
Advanced Microsoft Project FiltersMarch 8, 2010
The help manual for MS Project is less then useful for deciphering how to do complex filters. It would be nice if they just addressed it like any other language syntax. Wildcards? Reserved words? Special Functions? Anyhow, below is a list fo some standard filters you may want to use in Project. If you look closely you’ll notice a few tricks to get around the inflexible nature of Project’s filter syntax. One trick is to use the IIF operator to evaluate a statement within a custom field formula. The formula sets the field’s value then the filter evaluates that value. Another trick is used for getting around Project’s oddball treatment of “Null” or “N/A” dates. To check for these dayes you use a built-in project function e.g. Projdatevalue(“NA”).
Cheers,
Trevor Lowing Office Tech Support
Filter Name DescriptionFlag Field
Flag Field Formula Filter Text
Next Two Weeks
All work scheduled during the nexttwo weeks.
Flag5
IIf(([Start]<([Status Date]+14)And ([% Complete]<100)) And ([Finish]>[StatusDate]),”Yes”,”No”)
Flag5 equals Yes
Late Start
Activities that should have startedbut have not or have started but have not completed.
Flag6IIf(([Start]<([Status Date]) And([% Complete]=0)),”Yes”,”No”)
Flag6 equals Yes
Late Finish
Activities that should have finishedbut have not.
Flag7IIf(([Finish]<([Status Date]) And([% Complete]<100)),”Yes”,”No”)
Flag7 equals Yes
Future Actual Or Deadline
Activities where the actual completedate is in the future or a Deadline has been set.
Flag8 IIf((([Actual Start]>[Status Date]) And ([ActualStart]<>projdatevalue(“NA”)))Or
(([Actual Finish]>[Status Date]) And ([ActualStart]<>projdatevalue(“NA”)))
Or ([Deadline]<>projdatevalue(“NA”))
Flag8 equals Yes
![Page 2: Advanced Microsoft Project Filters](https://reader035.vdocuments.site/reader035/viewer/2022071709/55cf922f550346f57b946072/html5/thumbnails/2.jpg)
,”Yes”,”No”)
Logical Finish
Activities with nosuccessors.
Summary equals No And Successorsequals
Logical StartActivities with nopredecessors.
Summary equals No And Predecessorsequals
Long-Duration
Activities with a duration greaterthan 40 days.
Summary equals No And Duration isgreater than 40d
Negative Float
Activities with Total Slack less thanzero.
Summary equals No And Total Slack isless than 0d
Summary-with-Pred-Links
Activities with predecessorlinks.
Summary equals Yes And Predecessorsdoes not equal
Summary-with-Succ-Links
Activities with successorlinks.
Summary equals Yes And Sucessors doesnot equal
Constraint Not ASAP
Activities not constrained “assoon as possible”
Constraint Type does not equal Assoon As Possible
Creating Complex MS Project FiltersApril 25, 2010
Filters are simple expressions used to select a subset of the total tasks. Filter expressions have four parts: And/Or statement, Field Name, Test and Value. For instance, to select all the tasks without a predecessor you would enter
And/Or Field Name Test ValueSuccessors equals
![Page 3: Advanced Microsoft Project Filters](https://reader035.vdocuments.site/reader035/viewer/2022071709/55cf922f550346f57b946072/html5/thumbnails/3.jpg)
And/Or: Used to connect expressions. Choosing And means the current line and the proceeding line must both be true for a record to match. Choosing Or means one expression or the other must be true for the record to be selected. Importantly, if a And/Or resides ona line by itself, it is used to join multiple expressions to create complex filters. For Instance, all the records with both a predecessor and a successor and a Start Date or Finish date before today.
And/Or Field Name Test ValueSuccessors does not equal
and Predecessors does not equaland
Start is less than [Status Date]and Finish Is less that [Status Date]
Field Name: The name of any of the 300+ MS Project fields. Some fields are at the task or rosoure record level and others are at the project level. The most commonly used record fields are UniqueId, ID, Name, Duration, Start, Finish, Predecessors, Successors,[% Complete], Type, Summary and Rollup. Common project level fields are [Status Date],[Current Date] and [Project Calendar].
Test : A simple evaluative expression. The choices are: equals, does not equal, is greater than, is greater than or equal to, is less than, is less than or equal to, is within, is not within, contains, does not contain, contains exactly. The only tricky thing about the test is for “ is within” and “isnot within”. For those, the value is a comma separated list of low and high values. e.g.
And/Or Field Name Test ValueStart is within 1/1/2000,12/31/2010
Value: The value being evaluated by the test, be it a number, number range,date, date range, string of characters or another field ([ActualCost] equals [Baseline Cost]). For text fields a wildcard can beused to specify a portion of the text string. An asterix (*) can matchany group of characters proceeding or succeeding a string (“*plepie or “apple pi*” ) and a question mark (?) can
![Page 4: Advanced Microsoft Project Filters](https://reader035.vdocuments.site/reader035/viewer/2022071709/55cf922f550346f57b946072/html5/thumbnails/4.jpg)
match a character within a string (“applep?e” or “a??le pie”).
And/Or Field Name Test ValueName contains *Project Sta?rt*
You can prompt a user to enter a valueby putting a question mark after a quoted expression. (“Enterdate:”?).
And/Or Field Name Test Value[Start] Is less than “Enter date:”?
If you are testing for an empty fieldvalue then use “NA” for dates, “0” for numbers andcurrency and leave the test blank for text fields.
And/Or Field Name Test Value[Actual Start] equals NA
And [Actual Duration] equals 0And [Name] does not equal
For more complex filters, you can combine calculated field values to filter the correct items. If you wanted all the tasks where the [Baseline Start]-[Start] <>0 you would accomplish this in two steps.
1. Create a customized numberfield, say Number1, with a formula:
IIf([Baseline Start]projdatevalue(“NA”),Fix([Start]-[BaselineStart]),0)
1. Create a filter to selectwhere Number1 <>0
![Page 5: Advanced Microsoft Project Filters](https://reader035.vdocuments.site/reader035/viewer/2022071709/55cf922f550346f57b946072/html5/thumbnails/5.jpg)
And/Or Field Name Test ValueNumber1 does not equal 0