UPDATE 02/29/08: I solved this problem by creating a folder and then assigning a content type to the folder which has the meta data I need for the KPIs. I described that in a little more detail here.
We have implemented a technical solution where users upload documents to a document library. An event receiver creates a directory and moves the file to that directory (using a technique similar to what I wrote about here). We’ve successfully navigated around the potential issues caused by event receivers that rename uploaded files (mainly because users never start their document by clicking on "New" but instead create the docs locally and then upload them).
The meta data for these documents includes a Yes/No site column called "Urgent" and another site column called "Status". We need to meet a business requirement that shows the percentage of "Urgent" documents whose status is "Pending".
This is usually simple to do and I described something very much like this at the SharePoint Beagle with lots of screen shots if you’re interested.
In a nutshell, I did the following:
- Create a view on the doc library called "Pending".
- Configure the view to ignore folder structure.
- Create a KPI List.
- Create an indicator in the list that points to the doc lib and that "Pending" view.
This simply does not work. The KPI shows my target (e.g. five urgent documents) but always shows the actual number of urgent documents as zero. Paradoxically, if you drill down to the details, it shows the five urgent documents in the list. I created a very simple scenario with two documents, one in a folder and one not. Here is the screen shot:
The above screen shot clearly shows there are two documents in the view but the "value" is one. The "CamlSchema" with blank document Id is in the root folder and the other is in a folder named "84".
It appears to me that even though you specify a view, the KPI doesn’t honor the "show all items without folders" setting and instead, confines itself to the root folder.
If I’m wrong, please drop me a line or leave a comment.