It would seem that "complete" means that this field is not empty for every record shown in the portal.
That could be indicated with this calcualtion:
Count ( DataTable::Product_Key ) = Count ( DataTable::StatusField )
I am calling the "field that a user must populate" StatusField in this example.
You have two counts. One should return 4 showing that you have 4 records and one should return 0 showing that none have that field populated.
All complete is indicated when the two counts are equal. In the above example, populating the field in all four portal records will change the second count from 0 to 4 producing matching counts.
This assumes that your portal is not filtered by a filter expression.
That's where the disconnect is, I do have a filter expression. Some records aren't viewable because they are in a "dropped" status. It doesn't really matter if they are viewable but the important thing is if the status is dropped they don't need anything in that Status Field. Is there any way around this without manually inputting something in the Status Field for each of these dropped records? I guess I could do a find and replace field contents with "not needed" or something to that affect but that would have to be done each time I do an import. It would be ideal if this could be calculated based on the content of the status field, but then a calculated field can't be edited, for those records that aren't dropped. I'm talking in circles, trying to work through this. I'm open to any suggestions.
That is a detail that complicates this. One option is to set up a relationship that incorporates your portal filter criteria at the relationship level, but I think we can avoid that.
As a one time fix, you can find all "dropped" records and use Replace Field Contents to put data in this field. To fix this for any future changes, you can define an auto-enter calculation on this field that automatically enters some data into the field if you change the record's status to "dropped".
You didn't really think you would get off that easy did you?
This status changes frequently, people just can't make up their mind, so what if....the status was approved at one time and someone went through and updated the status field in that record appropriately. Now it is dropped. Is there any way to keep the data that is already in the field but if the field is empty it will auto-populate "not needed" or something? In other words, can my auto-enter calculation not only evaluate the status field says dropped but also if the field is empty? I'm hoping it will be something like (not in proper context) if self is empty and status is dropped populated with "not needed."
And to clarify, the difference between a calculation-type field and an auto-enter calculation field is that you can still modify the auto-enter calculation??
Disregard, I answered my own question (pretty proud of myself). Thanks for your help Phil, I've got to learn these number functions so I can use them more often.