Como filtrar uma coluna de pessoas/usuários que foi indexada
-
10-12-2019 - |
Pergunta
Tenho uma lista longa (mais de 5.000 itens) e devido ao limite de visualização indexei algumas colunas.Uma delas é uma coluna de pessoas/usuários.Quando desejo criar uma visualização que filtre na coluna Usuário, ela não funciona e retorna a mensagem de erro "Esta visualização não pode ser exibida porque excede o limite de visualização de lista (5.000 itens) imposto pelo administrador".
Aqui está o que testei:
- se eu usar "igual a" "[Me]" então funciona
- se eu usar "igual a" "nome", então não funciona (a coluna está configurada para exibir o nome)
- se eu usar "igual a" "domínio ome de usuário", então não funciona
- se eu usar "igual a" "email@address" então não funciona
- se eu usar "igual a" "nome de usuário", então não funciona
- se eu usar "igual a" "userID", então não funciona
- se eu usar "igual a" "userID;#username" então não funciona
- se eu usar "equal to" "-1;#username" então não funciona
- Não posso usar "contém" ou "começa com" porque é um campo de pessoas
não tenho mais ideias....Alguma sugestão ?
Obrigado
Solução 2
Finalmente decidi criar uma versão somente texto da minha coluna de pessoa/grupo que também é indexada.Agora posso filtrar nessa coluna TEXT e tenho um fluxo de trabalho em segundo plano que copia o valor da pessoa/grupo para este campo de texto.
EDITAR:
Na verdade, é possível fazer isso usando o UserID.O código CAML incluirá LookupId="True"
e, no final, a cláusula WHERE precisa se parecer com <FieldRef Name="My_x0020_Field_x0020_Name" LookupId="True"/><Value Type="Integer">123</Value>
Eu implementei esse método em meu Biblioteca JavaScript do Sharepoint para as consultas.Por exemplo, se o UserID for 123, minha solicitação será semelhante a esta no 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"))
})
Outras dicas
[eu] é a maneira padrão de filtrar a lista.Como eu lembro, as colunas de pessoa / grupo têm sobrecarga adicional, pois existem consultas adicionais que afetam o limite, como nas colunas de pesquisa.Esta sobrecarga adicional em turnos reduz o valor limite real que pode ser retornado é menor que o limite.Estou tentando encontrar uma referência a isso.
Você pode precisar ter o limite de pesquisa da visualização de lista aumentado no administrador central também.