Operador projectproject operator

Seleccione las columnas que se incluirán, cambie el nombre o quite e inserte nuevas columnas calculadas.Select the columns to include, rename or drop, and insert new computed columns.

El orden de las columnas en el resultado se especifica con el orden de los argumentos.The order of the columns in the result is specified by the order of the arguments. En el resultado solo se incluyen las columnas especificadas en los argumentos.Only the columns specified in the arguments are included in the result. Las demás columnas de la entrada se quitan.Any other columns in the input are dropped. (Consulte también extend).(See also extend.)

T | project cost=price*quantity, price

SintaxisSyntax

T | project columnName [ = expresión] [ , ...]T | project ColumnName [= Expression] [, ...]

oror

T | project [columnName | ( columnName[ , ] ) = ] expresión [ , ...]T | project [ColumnName | (ColumnName[,]) =] Expression [, ...]

ArgumentosArguments

  • T: la tabla de entrada.T: The input table.

  • ColumnName: Nombre opcional de una columna que aparece en la salida.ColumnName: Optional name of a column to appear in the output. Si no hay ninguna expresión, columnName es obligatorio y debe aparecer una columna con ese nombre en la entrada.If there is no Expression, then ColumnName is mandatory and a column of that name must appear in the input. Si se omite, el nombre se generará automáticamente.If omitted, the name will be automatically generated. Si Expression devuelve más de una columna, se puede especificar una lista de nombres de columna entre paréntesis.If Expression returns more than one column, a list of column names can be specified in parentheses. En este caso, se proporcionarán los nombres especificados a las columnas de salida de la expresión, quitando el resto de las columnas de salida, si hay alguna.In this case Expression's output columns will be given the specified names, dropping all rest of the output columns, if there are any. Si no se especifica la lista de nombres de columna, se agregarán a la salida todas las columnas de salida de la expresión con nombres generados.If list of the column names is not specified, all Expression's output columns with generated names will be added to the output.

  • Expression: expresión escalar opcional que hace referencia a las columnas de entrada.Expression: Optional scalar expression referencing the input columns. Si columnName no se omite, Expression es obligatorio.If ColumnName is not omitted then Expression is mandatory.

    Es posible devolver una nueva columna calculada con el mismo nombre que una columna existente en la entrada.It is legal to return a new calculated column with the same name as an existing column in the input.

DevolucionesReturns

Una tabla que tiene las columnas con nombres de argumentos y tantas filas como la tabla de entrada.A table that has the columns named as arguments, and as many rows as the input table.

EjemploExample

El ejemplo siguiente muestra variantes de manipulaciones que se pueden hacer con el operador project .The following example shows several kinds of manipulations that can be done using the project operator. La tabla de entrada T tiene tres columnas de tipo int: A, B y C.The input table T has three columns of type int: A, B, and C.

T
| project
    X=C,                       // Rename column C to X
    A=2*B,                     // Calculate a new column A from the old B
    C=strcat("-",tostring(C)), // Calculate a new column C from the old C
    B=2*B                      // Calculate a new column B from the old B

series_stats es un ejemplo de una función que devuelve varias columnas.series_stats is an example of a function that returns multiple columns.