Come filtrare una colonna di persone / utente che è stata indicizzata
-
10-12-2019 - |
Domanda
Ho una lista lunga (più di 5.000 articoli) e a causa della soglia di visualizzazione ho indicizzato alcune colonne. Uno di questi è una colonna di persone / utente. Quando voglio creare una vista che filtra sulla colonna utente, non funziona e restituisce il messaggio di errore "Questa vista non può essere visualizzata perché supera la soglia di visualizzazione dell'elenco (5000 articoli) applicata dall'amministratore." .
Ecco cosa ho testato:
- .
- Se uso "uguale a" "[me]" allora funziona
- Se utilizzo "uguale a" "nome", quindi non funziona (la colonna è impostata per visualizzare il nome)
- Se uso "uguale a" "dominio \ nome utente", allora non funziona
- Se utilizzo "uguale a" "indirizzo email @ indirizzo", allora non funziona
- Se uso "uguale a" "nome utente", allora non funziona
- Se uso "uguale a" "userid", allora non funziona
- se uso "uguale a" "userid; #username", allora non funziona
- Se utilizzo "uguale a" "-1; #Username", allora non funziona
- Non posso usare "Contiene" o "Inizia con" perché è un campo di persone
Non ho altre idee .... qualsiasi suggerimento?
Grazie
Soluzione 2
Alla fine ho deciso di creare una versione solo di testo della mia colonna della mia persona / gruppo che è anche indicizzata.Ora posso filtrare su quella colonna del testo e ho un flusso di lavoro sullo sfondo che copia il valore della persona / gruppo in questo campo di testo.
Modifica:
È effettivamente possibile farlo usando l'userid.Il codice CAML includerà LookupId="True"
e, alla fine, la clausola WHERE ha bisogno di assomigliare a <FieldRef Name="My_x0020_Field_x0020_Name" LookupId="True"/><Value Type="Integer">123</Value>
Ho implementato questo metodo nel mio SharePoint JavaScript Library per le query.Ad esempio se l'userid è 123 la mia richiesta sembrerà quella con SharePointPlus:
.$SP().list("List Name").get({
fields:"Manager",
where:"Employee_x0020_Name ~= 123" /* we use the special operator '~=' */
}, function(data) {
if (data.length===1) alert("Manager: "+data[0].getAttribute("Manager"))
})
Altri suggerimenti
[Me] è il modo standard per filtrare l'elenco.Come ricordo, le colonne della persona / del gruppo hanno un sovraccarico aggiuntivo in quanto ci sono ulteriori query che influenzano la soglia, come con le colonne di ricerca.Questo sovraccarico aggiuntivo a turno riduce il valore effettivo della soglia che può essere restituito è inferiore al limite.Sto cercando di trovare un riferimento a quello.
Potrebbe essere necessario disporre della soglia di ricerca della vista elenco aumentata anche nell'amministratore centrale.