Funciones de matriz, lista y conjunto
Profile Query Language (PQL) ofrece funciones para facilitar la interacción con matrices, listas y cadenas. Puede encontrar más información sobre otras funciones PQL en la Profile Query Language descripción general.
En
El in
se utiliza para determinar si un elemento es miembro de una matriz o lista.
Formato
{VALUE} in {ARRAY}
Ejemplo
La siguiente consulta PQL define a las personas con cumpleaños en marzo, junio o septiembre.
person.birthMonth in [3, 6, 9]
No en
El notIn
se utiliza para determinar si un elemento no es miembro de una matriz o lista.
notIn
función también garantiza que ninguno de los valores sea igual a nulo. Por lo tanto, los resultados no son una negación exacta de la in
función.Formato
{VALUE} notIn {ARRAY}
Ejemplo
La siguiente consulta PQL define a las personas con cumpleaños que no son en marzo, junio o septiembre.
person.birthMonth notIn [3, 6, 9]
Intersecciones
El intersects
se utiliza para determinar si dos matrices o listas tienen al menos un miembro común.
Formato
{ARRAY}.intersects({ARRAY})
Ejemplo
La siguiente consulta PQL define a las personas cuyos colores favoritos incluyen al menos uno de rojo, azul o verde.
person.favoriteColors.intersects(["red", "blue", "green"])
Intersección
El intersection
se utiliza para determinar los miembros comunes de dos matrices o listas.
Formato
{ARRAY}.intersection({ARRAY})
Ejemplo
La siguiente consulta PQL define si la persona 1 y la persona 2 tienen ambos colores favoritos de rojo, azul y verde.
person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]
Subconjunto de
El subsetOf
se utiliza para determinar si una matriz específica (matriz A) es un subconjunto de otra matriz (matriz B). En otras palabras, que todos los elementos de la matriz A son elementos de la matriz B.
Formato
{ARRAY}.subsetOf({ARRAY})
Ejemplo
La siguiente consulta PQL define a las personas que han visitado todas sus ciudades favoritas.
person.favoriteCities.subsetOf(person.visitedCities)
Superconjunto de
El supersetOf
se utiliza para determinar si una matriz específica (matriz A) es un superconjunto de otra matriz (matriz B). En otras palabras, esa matriz A contiene todos los elementos de la matriz B.
Formato
{ARRAY}.supersetOf({ARRAY})
Ejemplo
La siguiente consulta PQL define a las personas que han comido sushi y pizza al menos una vez.
person.eatenFoods.supersetOf(["sushi", "pizza"])
Incluye
El includes
se utiliza para determinar si una matriz o lista contiene un elemento determinado.
Formato
{ARRAY}.includes({ITEM})
Ejemplo
La siguiente consulta PQL define a las personas cuyo color favorito incluye el rojo.
person.favoriteColors.includes("red")
Distinto
El distinct
se utiliza para eliminar valores duplicados de una matriz o lista.
Formato
{ARRAY}.distinct()
Ejemplo
La siguiente consulta PQL especifica las personas que han realizado pedidos en más de un almacén.
person.orders.storeId.distinct().count() > 1
Agrupar por
El groupBy
se utiliza para dividir los valores de una matriz o lista en un grupo en función del valor de la expresión.
Formato
{ARRAY}.groupBy({EXPRESSION)
{ARRAY}
{EXPRESSION}
Ejemplo
La siguiente consulta PQL agrupa todos los pedidos en los que se almacena el pedido.
orders.groupBy(storeId)
Filtro
El filter
se utiliza para filtrar una matriz o lista en función de una expresión.
Formato
{ARRAY}.filter({EXPRESSION})
{ARRAY}
{EXPRESSION}
Ejemplo
La siguiente consulta PQL define todas las personas de 21 años o más.
person.filter(age >= 21)
Mapa
El map
se utiliza para crear una nueva matriz aplicando una expresión a cada elemento de una matriz determinada.
Formato
array.map(expression)
Ejemplo
La siguiente consulta PQL crea una nueva matriz de números y ajusta al cuadrado el valor de los números originales.
numbers.map(square)
Primero n
en matriz first-n
El topN
se utiliza para devolver la primera función N
elementos de una matriz, cuando se ordenan en orden ascendente según la expresión numérica dada.
Formato
{ARRAY}.topN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Ejemplo
La siguiente consulta PQL devuelve los cinco pedidos principales con el precio más alto.
orders.topN(price, 5)
Último n
en matriz
El bottomN
se utiliza para devolver el último N
elementos de una matriz, cuando se ordenan en orden ascendente según la expresión numérica dada.
Formato
{ARRAY}.bottomN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Ejemplo
La siguiente consulta PQL devuelve los cinco pedidos principales con el precio más bajo.
orders.bottomN(price, 5)
Primer elemento
El head
se utiliza para devolver el primer elemento de la matriz o lista.
Formato
{ARRAY}.head()
Ejemplo
La siguiente consulta PQL devuelve el primero de los cinco pedidos principales con el precio más alto. Más información sobre la topN
se puede encontrar en la primero n
en matriz sección.
orders.topN(price, 5).head()
Pasos siguientes
Ahora que ha aprendido acerca de las funciones de matriz, lista y conjunto, puede utilizarlas en sus consultas PQL. Para obtener más información sobre otras funciones PQL, lea la Introducción al lenguaje de consulta de perfil.