Reduce el número de valores de un conjunto de datos mediante operaciones bloque por bloque o lo divide en una lista de segmentos.
Sintaxis
BlockCompress(DataSet, XInterval, [ Output = BC_OUTPUT_MEAN ] [ , Options = BC_OPTION_RESIDUAL ])
La sintaxis de la función BlockCompress consta de los siguientes elementos:
Parte |
Descripción |
||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DataSet |
El conjunto de datos que se va a comprimir. Las estructuras de datos permitidas son Señal. Se permiten todos los tipos de datos numéricos. Se aplican restricciones adicionales al componente X. Los valores deben ser monótonos crecientes. En los tipos de datos complejos se calcula un valor absoluto. Si el argumento es una lista, la función se ejecuta para cada elemento de la lista y el resultado también es una lista. |
||||||||||||||||||||||
XInterval |
Especifica el tamaño del bloque como intervalo X en la unidad del componente X de DataSet. Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos reales. El valor debe ser mayor que 0. No se permiten valores inválidos en este argumento. Si el argumento es una lista, la función se ejecuta para cada elemento de la lista y el resultado también es una lista. |
||||||||||||||||||||||
Output |
Especifica los resultados que deben emitirse. Si selecciona varios resultados, la salida será una lista. El argumento Output puede tener los siguientes valores:
Se establece el valor predeterminado BC_OUTPUT_MEAN si no se especifica el argumento. |
||||||||||||||||||||||
Options |
Selecciona opciones para el algoritmo. El argumento Options puede tener los siguientes valores:
Se establece el valor predeterminado BC_OPTION_RESIDUAL si no se especifica el argumento. |
Notas
La compresión de bloques reduce los datos de un conjunto de datos creando un valor de resultado por bloque. Solo se procesan los puntos de datos en DataSet cuyos componentes Y y X son válidos. El tamaño del bloque se especifica aquí como un intervalo X en una unidad compatible con la unidad del componente X de DataSet. Un valor X situado exactamente en el límite de un bloque se asigna al bloque siguiente. Los valores en DataSet no tienen que ser muestreados de forma equidistante. Si un bloque no contiene ningún valor, se vuelve a emitir el valor del bloque anterior. El resultado es una señal con un valor por bloque. El primer valor X del bloque se transfiere al componente X del resultado.
Disponibilidad
FlexPro Basic, Professional, Developer Suite
Ejemplos
BlockCompress(DataSet, 5 min) |
Devuelve los valores medios de 5 minutos de DataSet. |
BlockCompress(DataSet, 5 min, BC_OUTPUT_FIRSTVAL) |
Reduce los datos de DataSet a un valor por cada 5 minutos. |
Signal(ListToSeries(Quantile(BlockCompress(DataSet, 5 min, BC_OUTPUT_LIST), 0.5)), BlockCompress(DataSet, 5, BC_OUTPUT_FIRSTVAL).X) |
Reduce los datos de DataSet a una mediana por cada 5 minutos. ListToSeries(Quantile(BlockCompress(DataSet, 5 min, BC_OUTPUT_LIST), 0.5)) divide los datos en una lista de secciones, calcula la mediana de cada sección y convierte la lista de valores individuales en una serie de datos. BlockCompress(DataSet, 5, BC_OUTPUT_FIRSTVAL).X devuelve los primeros valores X de las secciones como serie de datos. La función Signal se utiliza para combinar las series de datos Y y X en una sola señal. |