Crear capa de consulta de agregación (Administración de datos)

Resumen

Crea una capa de consulta que resume, agrega y filtra dinámicamente las tablas DBMS basadas en consultas de tiempo, rango y atributos de una tabla relacionada, y une el resultado a una capa de entidades.

Más información sobre cómo agregar valores a entidades relacionadas

Uso

  • Las capas de consulta solamente funcionarán con bases de datos corporativas. Las geodatabases de archivos no son un espacio de trabajo de entrada válido para esta herramienta.

  • Los resultados agregados siempre se calculan de forma dinámica en el nivel de base de datos.

  • El valor de Capa de salida constará de campos que contienen el resultado de la operación estadística. La estadística de recuento se incluye en el campo ROW_COUNT de forma predeterminada

  • Las operaciones estadísticas que están disponibles con esta herramienta son recuento, suma, promedio, mínimo, máximo y desviación estándar.

  • Se creará un campo para cada tipo estadístico utilizando el siguiente formato de nombre: COUNT_<field>, SUM_<field>, AVG_<field>, MIN_<field>, MAX_<field> y STDDEV_<field> (donde <field> es el nombre del campo de entrada para el que se calculan las estadísticas).

  • El valor de Campo de unión relacionado se utiliza en la cláusula Agrupar por en la sentencia SQL generada por esta herramienta. Las estadísticas se calcularán por separado para cada valor de atributo único del valor de Campo de unión relacionado.

  • La capa creada por la herramienta es temporal y, una vez finalizada la sesión, no permanece en el sistema a menos que se guarde el proyecto, la capa se guarde en un archivo de capa o los datos se conviertan en persistentes haciendo una copia con Copiar filas o Copiar entidades.

Parámetros

EtiquetaExplicaciónTipo de datos
Clase de entidad de destino

La clase de entidad o tabla espacial de una base de datos corporativa.

Feature Class
Campo de unión de destino

El campo de la clase de entidad de destino en el cual se basará la unión.

Field
Tabla relacionada

La tabla de entrada que contiene los campos que se utilizarán para calcular las estadísticas. Las estadísticas se unen al valor de Capa de salida.

Table; Feature Class
Campo de unión relacionado

El campo de la tabla de resumen que contiene los valores sobre los cuales se basará la unión. Las estadísticas de agregación o resumen también se calculan por separado para cada valor de atributo único de este campo.

Field
Capa de salida

El nombre de salida de la capa de consulta que se creará.

Feature Layer
Campos de resumen
(Opcional)

Especifica el campo o los campos numéricos que contienen los valores de atributo que se utilizarán para calcular la estadística especificada. Se pueden especificar varias estadísticas y combinaciones de campos. Los valores nulos se excluyen de todos los cálculos estadísticos.

La capa de salida incluirá un campo ROW_COUNT que muestra el recuento total (o la frecuencia) de cada valor único del valor de Campo de unión relacionado. La diferencia entre el campo ROW_COUNT y el tipo de estadística Recuento es que ROW_COUNT incluye los valores nulos, mientras que Recuento excluye los valores nulos.

Los tipos de estadísticas disponibles son los siguientes:

  • Recuento: se encontrará la cantidad de valores incluidos en los cálculos estadísticos. Cada valor se contará excepto los valores nulos.
  • Suma: se sumarán los valores del campo especificado.
  • Media: se calculará la media del campo especificado.
  • Mínimo: se encontrará el valor más pequeño de todos los registros del campo especificado.
  • Máximo: se encontrará el valor más grande de todos los registros del campo especificado.
  • Desviación estándar: se calculará la desviación estándar de los valores del campo especificado.
Value Table
Definiciones de parámetros
(Opcional)

Especifica uno o más parámetros de consulta para criterios o condiciones; se utilizan los registros que coinciden con estos criterios al calcular los resultados agregados. Un parámetro de consulta es similar a una variable de sentencia SQL para la que se define el valor al ejecutar la consulta. Esto le permite cambiar dinámicamente los filtros de consulta para la capa de salida. Puede entender un parámetro como un predicado o condición de una cláusula WHERE de SQL. Por ejemplo, Country_Name = 'Nigeria' en una cláusula WHERE de SQL se denomina predicado, donde = es un operador de comparación, Country_Name es un nombre de campo a la izquierda y 'Nigeria' es un valor a la derecha. Cuando define más de un parámetro, debe especificar un operador lógico entre ellos (como AND, OR, etc.).

Más información sobre la definición de parámetros en una capa de consulta

Si no se especifica, se utilizarán todos los registros de la tabla relacionada para calcular los resultados agregados o de resumen.

Los dos tipos de definición de parámetro son los siguientes:

Las siguientes propiedades están disponibles:

  • Tipo de parámetro: el tipo de parámetro puede ser Rango o Discreto.
  • Nombre: el nombre del parámetro, que es similar al nombre de una variable. El nombre no puede contener espacios ni caracteres especiales. Una vez que se crea la capa de consulta de salida y se activa la sentencia SQL de origen de la capa, este nombre en la sentencia SQL que define el origen de la capa de consulta de salida tendrá el prefijo ::r: (para el parámetro Rango) o :: (para el parámetro Discreto).
  • Alias: el alias del nombre del parámetro. El alias puede incluir espacios y caracteres especiales.
  • Campo o expresión: un nombre de campo o una expresión SQL válida que se utilizará en el lado izquierdo de un predicado o condición en una cláusula WHERE.
  • Tipo de datos: el tipo de datos del campo o la expresión especificado en la columna Campo o expresión. Cuando el valor de Tipo de parámetro es Rango, el valor de la columna Tipo de datos no puede ser Cadena de caracteres.
    • Fecha: el tipo de datos del campo o la expresión será Fecha (fecha y hora).
    • Cadena de caracteres: el tipo de datos del campo o la expresión será Cadena de caracteres (texto).
    • Entero: el tipo de datos del campo o la expresión será Entero (números completos).
    • Doble: el tipo de datos del campo o la expresión será Doble (números fraccionarios).
  • Valor inicial: el valor inicial predeterminado para la columna Rango. Este es el valor que se utilizará cuando el control deslizante de tiempo o de rango no esté habilitado. Cuando los valores de las columnas Valor inicial y Valor final se omiten y el control deslizante de tiempo o rango está deshabilitado, se utilizarán todos los registros de la tabla relacionada para calcular los resultados agregados. Este valor se ignora cuando la columna Tipo de parámetro se establece en Discreto.
  • Valor final: el valor final predeterminado del parámetro Rango. Este es el valor que se utilizará cuando el control deslizante de tiempo o de rango no esté habilitado. Cuando los valores de las columnas Valor inicial y Valor final se omiten y el control deslizante de tiempo o rango está deshabilitado, se utilizarán todos los registros de la tabla relacionada para calcular los resultados agregados. Este valor se ignora cuando la columna Tipo de parámetro se establece en Discreto.
  • Operador para parámetros discretos: el operador de comparación que se utilizará entre el valor de la columna Campo o expresión y un valor en un predicado o condición de SQL.
    • Ninguno: elija Ninguno cuando Tipo de parámetro esté definido como Rango.
    • Igual que: compare la igualdad de un campo o expresión con un valor.
    • No es igual que: compruebe si un campo o una expresión no es igual a un valor.
    • Mayor que: compruebe si un campo o una expresión es mayor que un valor.
    • Menor que: compruebe si un campo o una expresión es menor que un valor.
    • Incluir valores: determine si un valor de un campo o una expresión coincide con cualquier valor de una lista.
  • Valores discretos predeterminados: cuando el valor de Tipo de parámetro sea Discreto, debe proporcionar un valor predeterminado. Cuando Operador para parámetros discretos sea Incluir valores, puede proporcionar varios valores separados por comas, por ejemplo, VANDALISMO,HURTO/ROBO.
  • Operador para los siguientes parámetros: el operador lógico entre este operador y el siguiente. Esta columna solo se aplica cuando tiene más de una definición de parámetro.
    • Ninguno: elija Ninguno cuando no haya más parámetros.
    • And: combina dos condiciones y selecciona un registro si las dos condiciones son true.
    • Or: combina dos condiciones y selecciona un registro si al menos una condición es true.
Value Table
Campo(s) de identificador único
(Opcional)

Los campos de identificador único que se utilizarán para identificar de forma única cada fila de la tabla.

String
Tipo de forma
(Opcional)

Especifica el tipo de forma de la capa de consulta. Solamente aquellos registros del conjunto de resultados de la consulta que coinciden con el tipo de forma específico que se usará en la capa de consulta de salida. De forma predeterminada, se utilizará el tipo de forma del primer registro del conjunto de resultados. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

  • PuntoLa capa de consulta de salida utilizará geometría de punto.
  • MultipuntoLa capa de consulta de salida usará geometría de multipunto.
  • PolígonoLa capa de consulta de salida usará geometría de polígono.
  • PolilíneaLa capa de consulta de salida usará geometría de polilínea.
String
Id. de referencia espacial (SRID)
(Opcional)

El valor de identificador de referencia espacial (SRID) para consultas que devuelven geometría. Solamente aquellos registros del conjunto de resultados de la consulta que coinciden con el valor SRID específico que se usará en la capa de consulta de salida. De forma predeterminada, se utilizará el valor de SRID del primer registro del conjunto de resultados. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

String
Sistema de coordenadas
(Opcional)

El sistema de coordenadas que usará la capa de consulta de salida. De forma predeterminada, se utilizará la referencia espacial del primer registro del conjunto de resultados. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

Spatial Reference
Las coordenadas incluyen valores M
(Opcional)

Especifica si la capa de salida incluirá mediciones lineales (valores m).

  • Activado: la capa incluirá valores m.
  • Desactivado: la capa no incluirá valores m. Esta es la opción predeterminada.
Boolean
Las coordenadas incluyen valores z
(Opcional)

Especifica si la capa de salida incluirá valores de elevación (valores z).

  • Activado: la capa incluirá valores z.
  • Desactivado: la capa no incluirá valores z. Esta es la opción predeterminada.
Boolean
Extensión
(Opcional)

Especifica la extensión de la capa. La extensión debe incluir todas las entidades de la tabla.

  • Valor predeterminado: la extensión se basará en la extensión máxima de todas las entradas participantes. Esta es la opción predeterminada.
  • Extensión de visualización actual: la extensión es igual al marco de datos o visualización actual. La opción no está disponible cuando no hay ningún mapa activo.
  • Como se especifica en la parte inferior: la extensión se basará en los valores mínimo y máximo de extensión que se especifiquen.
  • Examinar: la extensión se basará en un dataset existente.
Extent

arcpy.management.MakeAggregationQueryLayer(target_feature_class, target_join_field, related_table, related_join_field, out_layer, {statistics}, {parameter_definitions}, {oid_fields}, {shape_type}, {srid}, {spatial_reference}, {m_values}, {z_values}, {extent})
NombreExplicaciónTipo de datos
target_feature_class

La clase de entidad o tabla espacial de una base de datos corporativa.

Feature Class
target_join_field

El campo de la clase de entidad de destino en el cual se basará la unión.

Field
related_table

La tabla de entrada que contiene los campos que se utilizarán para calcular las estadísticas. Las estadísticas se unen al valor de out_layer.

Table; Feature Class
related_join_field

El campo de la tabla de resumen que contiene los valores sobre los cuales se basará la unión. Las estadísticas de agregación o resumen también se calculan por separado para cada valor de atributo único de este campo.

Field
out_layer

El nombre de salida de la capa de consulta que se creará.

Feature Layer
statistics
[[statistic_type, field],...]
(Opcional)

Especifica el campo o los campos numéricos que contienen los valores de atributo que se utilizarán para calcular la estadística especificada. Se pueden especificar varias estadísticas y combinaciones de campos. Los valores nulos se excluyen de todos los cálculos estadísticos.

La capa de salida incluirá un campo ROW_COUNT que muestra el recuento total (o la frecuencia) de cada valor único del valor de related_join_field. La diferencia entre el campo ROW_COUNT y el tipo de estadística COUNT es que ROW_COUNT incluye los valores nulos, mientras que COUNT excluye los valores nulos.

  • COUNT: se encontrará la cantidad de valores incluidos en los cálculos estadísticos. Cada valor se contará excepto los valores nulos.
  • SUM: se sumarán los valores del campo especificado.
  • AVG: se calculará el valor medio del campo especificado.
  • MIN: se encontrará el valor más pequeño de todos los registros del campo especificado.
  • MAX: se encontrará el valor más grande de todos los registros del campo especificado.
  • STDDEV: se calculará la desviación estándar de los valores del campo especificado.
Value Table
parameter_definitions
[[parameter_def_type, name, alias, field_or_expression, data_type, start_value, end_value, operator, default_value, operator_for_next_parameter],...]
(Opcional)

Especifica uno o más parámetros de consulta para criterios o condiciones; se utilizan los registros que coinciden con estos criterios al calcular los resultados agregados. Un parámetro de consulta es similar a una variable de sentencia SQL para la que se define el valor al ejecutar la consulta. Esto le permite cambiar dinámicamente los filtros de consulta para la capa de salida. Puede entender un parámetro como un predicado o condición de una cláusula WHERE de SQL. Por ejemplo, Country_Name = 'Nigeria' en una cláusula WHERE de SQL se denomina predicado, donde = es un operador de comparación, Country_Name es un nombre de campo a la izquierda y 'Nigeria' es un valor a la derecha. Cuando define más de un parámetro, debe especificar un operador lógico entre ellos (como AND, OR, etc.).

Más información sobre la definición de parámetros en una capa de consulta

Si no se especifica, se utilizarán todos los registros de la tabla relacionada para calcular los resultados agregados o de resumen.

Los dos tipos de definición de parámetro son los siguientes:

Las siguientes propiedades están disponibles:

  • Tipo de parámetro: el tipo de parámetro puede ser RANGE o DISCRETE.
  • Nombre: el nombre del parámetro, que es similar al nombre de una variable. El nombre no puede contener espacios ni caracteres especiales. Una vez que se crea la capa de consulta de salida y se activa la sentencia SQL de origen de la capa, este nombre en la sentencia SQL que define el origen de la capa de consulta de salida tendrá el prefijo ::r: (para el parámetro Rango) o :: (para el parámetro Discreto).
  • Alias: el alias del nombre del parámetro. El alias puede incluir espacios y caracteres especiales.
  • Campo o expresión: un nombre de campo o una expresión SQL válida que se utilizará en el lado izquierdo de un predicado o condición en una cláusula WHERE.
  • Tipo de datos: el tipo de datos del campo o la expresión especificado en la columna Campo o expresión. Cuando el valor de Tipo de parámetro es RANGE, el valor de la columna Tipo de datos no puede ser STRING.
    • DATE: el tipo de datos del campo o la expresión será Fecha (fecha y hora).
    • STRING: el tipo de datos del campo o la expresión será Cadena de caracteres (texto).
    • INTEGER: el tipo de datos del campo o la expresión será Entero (números completos).
    • DOUBLE: el tipo de datos del campo o la expresión será Doble (números fraccionarios).
  • Valor inicial: el valor inicial predeterminado para la columna RANGE. Este es el valor que se utilizará cuando el control deslizante de tiempo o de rango no esté habilitado. Cuando los valores de las columnas Valor inicial y Valor final se omiten y el control deslizante de tiempo o rango está deshabilitado, se utilizarán todos los registros de la tabla relacionada para calcular los resultados agregados. Este valor se ignora cuando la columna Tipo de parámetro se establece en DISCRETE.
  • Valor final: el valor final predeterminado del parámetro RANGE. Este es el valor que se utilizará cuando el control deslizante de tiempo o de rango no esté habilitado. Cuando los valores de las columnas Valor inicial y Valor final se omiten y el control deslizante de tiempo o rango está deshabilitado, se utilizarán todos los registros de la tabla relacionada para calcular los resultados agregados. Este valor se ignora cuando la columna Tipo de parámetro se establece en DISCRETE.
  • Operador para parámetros discretos: el operador de comparación que se utilizará entre el valor de la columna Campo o expresión y un valor en un predicado o condición de SQL.
    • NONE: elija NONE cuando Tipo de parámetro esté definido como RANGE.
    • EQUAL TO: compare la igualdad de un campo o expresión con un valor.
    • NOT EQUAL TO: compruebe si un campo o una expresión no es igual a un valor.
    • GREATER THAN: compruebe si un campo o una expresión es mayor que un valor.
    • LESS THAN: compruebe si un campo o una expresión es menor que un valor.
    • INCLUDE VALUES: determine si un valor de un campo o una expresión coincide con cualquier valor de una lista.
  • Valores discretos predeterminados: cuando el valor de Tipo de parámetro sea DISCRETE, debe proporcionar un valor predeterminado. Cuando Operador para parámetros discretos sea INCLUDE VALUES, puede proporcionar varios valores separados por comas, por ejemplo, VANDALISMO,HURTO/ROBO.
  • Operador para los siguientes parámetros: el operador lógico entre este operador y el siguiente. Esta columna solo se aplica cuando tiene más de una definición de parámetro.
    • NONE: elija NONE cuando no haya más parámetros.
    • AND: combina dos condiciones y selecciona un registro si las dos condiciones son true.
    • OR: combina dos condiciones y selecciona un registro si al menos una condición es true.
Value Table
oid_fields
[oid_fields,...]
(Opcional)

Los campos de identificador único que se utilizarán para identificar de forma única cada fila de la tabla.

String
shape_type
(Opcional)

Especifica el tipo de forma de la capa de consulta. Solamente aquellos registros del conjunto de resultados de la consulta que coinciden con el tipo de forma específico que se usará en la capa de consulta de salida. De forma predeterminada, se utilizará el tipo de forma del primer registro del conjunto de resultados. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

  • POINTLa capa de consulta de salida utilizará geometría de punto.
  • MULTIPOINTLa capa de consulta de salida usará geometría de multipunto.
  • POLYGONLa capa de consulta de salida usará geometría de polígono.
  • POLYLINELa capa de consulta de salida usará geometría de polilínea.
String
srid
(Opcional)

El valor de identificador de referencia espacial (SRID) para consultas que devuelven geometría. Solamente aquellos registros del conjunto de resultados de la consulta que coinciden con el valor SRID específico que se usará en la capa de consulta de salida. De forma predeterminada, se utilizará el valor de SRID del primer registro del conjunto de resultados. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

String
spatial_reference
(Opcional)

El sistema de coordenadas que usará la capa de consulta de salida. De forma predeterminada, se utilizará la referencia espacial del primer registro del conjunto de resultados. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

Spatial Reference
m_values
(Opcional)

Especifica si la capa de salida incluirá mediciones lineales (valores m).

  • INCLUDE_M_VALUESLa capa incluirá valores m.
  • DO_NOT_INCLUDE_M_VALUESLa capa no incluirá valores m. Esta es la opción predeterminada.
Boolean
z_values
(Opcional)

Especifica si la capa de salida incluirá valores de elevación (valores z).

  • INCLUDE_Z_VALUESLa capa incluirá valores z.
  • DO_NOT_INCLUDE_Z_VALUESLa capa no incluirá valores z. Esta es la opción predeterminada.
Boolean
extent
(Opcional)

Especifica la extensión de la capa. La extensión debe incluir todas las entidades de la tabla.

  • MAXOF: se utilizará la extensión máxima de todas las entradas.
  • MINOF: se utilizará el área mínima en común de todas las entradas.
  • DISPLAY: la extensión es igual a la visualización actual.
  • Nombre de capa: se utilizará la extensión de la capa especificada.
  • Objeto de Extent: se utilizará la extensión del objeto especificado.
  • Cadena de coordenadas delimitada por espacios: se utilizará la extensión de la cadena especificada. Las coordenadas se expresan como x-min, y-min, x-max, y-max.
Extent

Muestra de código

Ejemplo 1 de MakeAggregationQueryLayer (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo calcular el total de delitos para cada distrito desde una clase de entidad de puntos y cómo unir el resultado a una clase de entidad de distrito policial.

import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
    "PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes")
Ejemplo 2 de MakeAggregationQueryLayer (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo calcular el total de delitos para cada distrito y para cada tipo de delito desde una clase de entidad de puntos y cómo unir el resultado a una clase de entidad de distrito policial.

import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
    "PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes", 
    None, 
    "DISCRETE crime_type # Category STRING # # 'INCLUDE VALUES' 'VANDALISM, BURGLARY/THEFT' NONE")
Ejemplo 3 de MakeAggregationQueryLayer (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo calcular el total y el promedio de precipitaciones desde una tabla de serie temporal y cómo unir el resultado a una clase de entidad de estaciones de agua.

import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
    "weather_stations", "station_id", "observed_rainfall", "station_id", 
    "Total_Rainfall", [["SUM", "rainfall_inch"], ["MIN", "rainfall_inch"]])
Ejemplo 4 de MakeAggregationQueryLayer (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo calcular el total y el promedio de precipitaciones desde una tabla de serie temporal para cualquier ventana de tiempo y cómo unir el resultado a una clase de entidad de estaciones de agua.

import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
    "weather_stations", "station_id", "observed_rainfall", "station_id", 
    "Total_Rainfall", [["SUM", "rainfall_inch"], ["MIN", "rainfall_inch"]], 
    "RANGE TimeVar # collection_date DATE 1/1/2020 12/1/2020 NONE # NONE")

Información de licenciamiento

  • Basic: No
  • Standard: No
  • Advanced: Sí

Temas relacionados