Funciones de matriz, lista y conjunto
Profile Query Language (PQL) ofrece funciones para facilitar la interacción con matrices, listas y cadenas. Encontrará más información sobre otras funciones de PQL en la Profile Query Language descripción general.
En
La función in
se usa para determinar si un elemento es miembro de una matriz o lista como booleano.
Formato
{VALUE} in {ARRAY}
Ejemplo
La siguiente consulta de PQL define a las personas con cumpleaños en marzo, junio o septiembre.
person.birthMonth in [3, 6, 9]
No en
La función notIn
se usa para determinar si un elemento no es miembro de una matriz o lista como booleano.
notIn
garantiza que ninguno de los valores es igual a nulo. Por lo tanto, los resultados no son una negación exacta de la función in
.Formato
{VALUE} notIn {ARRAY}
Ejemplo
La siguiente consulta de PQL define a las personas con cumpleaños que no se celebran en marzo, junio o septiembre.
person.birthMonth notIn [3, 6, 9]
Interseca
La función intersects
se usa para determinar si dos matrices o listas tienen al menos un miembro común como booleano.
Formato
{ARRAY}.intersects({ARRAY})
Ejemplo
La siguiente consulta de 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
La función intersection
se usa para determinar los miembros comunes de dos matrices o listas como una lista.
Formato
{ARRAY}.intersection({ARRAY})
Ejemplo
La siguiente consulta de 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
La función subsetOf
se usa 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 como booleano.
Formato
{ARRAY}.subsetOf({ARRAY})
Ejemplo
La siguiente consulta de PQL define a las personas que han visitado todas sus ciudades favoritas.
person.favoriteCities.subsetOf(person.visitedCities)
Superconjunto de
La función supersetOf
se usa 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 como un booleano.
Formato
{ARRAY}.supersetOf({ARRAY})
Ejemplo
La siguiente consulta de PQL define a las personas que han comido sushi y pizza al menos una vez.
person.eatenFoods.supersetOf(["sushi", "pizza"])
Incluye
La función includes
se usa para determinar si una matriz o lista contiene un elemento determinado como booleano.
Formato
{ARRAY}.includes({ITEM})
Ejemplo
La siguiente consulta de PQL define a las personas cuyo color favorito incluye el rojo.
person.favoriteColors.includes("red")
Distinto
La función distinct
se usa para quitar valores duplicados de una matriz o lista como matriz.
Formato
{ARRAY}.distinct()
Ejemplo
La siguiente consulta de PQL especifica las personas que han realizado pedidos en más de un almacén.
person.orders.storeId.distinct().count() > 1
Agrupar por
La función groupBy
se usa para dividir los valores de una matriz o lista en un grupo basado en el valor de la expresión como un mapa de valores únicos de la expresión de agrupación a matrices que son particiones del valor de la expresión de matriz.
Formato
{ARRAY}.groupBy({EXPRESSION})
{ARRAY}
{EXPRESSION}
Ejemplo
La siguiente consulta de PQL agrupa todos los pedidos en los que se almacena el pedido.
xEvent[type="order"].groupBy(storeId)
Filtro
La función filter
se usa para filtrar una matriz o lista basada en una expresión como matriz o lista, según la entrada.
Formato
{ARRAY}.filter({EXPRESSION})
{ARRAY}
{EXPRESSION}
Ejemplo
La siguiente consulta de PQL define todas las personas de 21 años o más.
person.filter(age >= 21)
Mapa
La función map
se usa para crear una nueva matriz aplicando una expresión a cada elemento de una matriz determinada como matriz.
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)
Primer n
en matriz first-n
La función topN
se usa para devolver los primeros N
elementos de una matriz, cuando se ordenan en orden ascendente en función de la expresión numérica dada como matriz.
Formato
{ARRAY}.topN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Ejemplo
La siguiente consulta de PQL devuelve los cinco pedidos con el precio más alto.
orders.topN(price, 5)
Últimos n
en matriz
La función bottomN
se usa para devolver los últimos N
elementos de una matriz, cuando se ordenan en orden ascendente en función de la expresión numérica dada como matriz.
Formato
{ARRAY}.bottomN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Ejemplo
La siguiente consulta de PQL devuelve los cinco pedidos principales con el precio más bajo.
orders.bottomN(price, 5)
Primer elemento
La función head
se usa para devolver el primer elemento de la matriz o lista como un objeto.
Formato
{ARRAY}.head()
Ejemplo
La siguiente consulta de PQL devuelve el primero de los cinco pedidos con el precio más alto. Encontrará más información sobre la función topN
en la sección primeros n
de la matriz.
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 de PQL. Para obtener más información acerca de otras funciones de PQL, lea la descripción general de Profile Query Language.