MXPA05007082A - Diseno de funciones de hoja de calculo para trabajar con tablas de datos. - Google Patents

Diseno de funciones de hoja de calculo para trabajar con tablas de datos.

Info

Publication number
MXPA05007082A
MXPA05007082A MXPA05007082A MXPA05007082A MXPA05007082A MX PA05007082 A MXPA05007082 A MX PA05007082A MX PA05007082 A MXPA05007082 A MX PA05007082A MX PA05007082 A MXPA05007082 A MX PA05007082A MX PA05007082 A MXPA05007082 A MX PA05007082A
Authority
MX
Mexico
Prior art keywords
data
database
arguments
functions
row
Prior art date
Application number
MXPA05007082A
Other languages
English (en)
Inventor
Robert C Collie
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA05007082A publication Critical patent/MXPA05007082A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

La presente invencion proporciona varias formulas de la base de datos que pueden manipular conjuntos de datos grandes. Cada formula de la base de datos se puede personalizar y repetir sin la intervencion del usuario. Por lo tanto, los usuarios pueden ingresar numerosas opciones que pueden cubrir el deseo del usuario para una salida de datos en ciertas formas o formatos, seleccionar un conjunto de entradas de datos y recibir consistentemente un conjunto de salidas de datos. En algunas modalidades, el usuario se puede referir al conjunto de datos semanticamente, en vez de especificar un rango de celdas para utilizarlo en la formula de la base de datos. La referencia a la semantica de datos permite que las formulas de la base de datos se ajusten a cambios en un rango de celdas que pueden ocupar los nuevos datos.

Description

DISEÑO DE FUNCIONES DE HOJA DE CÁLCULO PARA TRABAJAR CON TABLAS DE DATOS Campo de la Invención La presente invención se refiere generalmente al campo de aplicaciones de hojas de cálculo. Más particularmente, la presente invención se refiere a la reorganización de datos en una hoja de cálculo. Antecedentes de la Invención Para sobrevivir en la era de la información, los negocios y organizaciones requieren información útil acerca de sus organizaciones, mercados y operaciones. La información útil para los negocios generalmente se encuentra en una colección condensada de datos que es fácil de entender y fácil de absorber. Para crear información útil, los negocios y las organizaciones generalmente adquieren colecciones grandes de datos que vienen de partes numerosas y dispersas y luego condensan y organizan los datos en formas y formatos más útiles. Los negocios y las organizaciones generalmente dependen de paquetes de software para condensar, manipular o formular los datos en información útil. Los paquetes de software hacen posible y eficiente la manipulación de colecciones grandes de datos. Uno de los paquetes de software más comunes utilizados para calcular más información útil de las colecciones de datos es la aplicación de hoja de cálculo, tal como la aplicación de hoja de cálculo Microsoft® Excel, ofrecida por Microsoft® Corporation. Algunas aplicaciones de hojas de cálculo permiten alguna manipulación de datos utilizando operaciones de base de datos. Las operaciones de base de datos, tales como clasificación o filtración, permiten que el usuario formatee, condense y organice los datos dentro de una hoja de cálculo. Dentro de las aplicaciones de la hoja de cálculo, tales como la aplicación de hoja de cálculo Microsoft® Excel, las operaciones de la base de datos solamente están disponibles para un usuario, como una operación de una sola vez. Generalmente, se tiene acceso a la operación de base de datos a través de un menú que se despliega en la aplicación de hoja de cálculo. La selección del menú abre generalmente una interfase del usuario de la operación para llevar por pasos al usuario a través del proceso de utilización de la operación de base de datos. Desafortunadamente, el usuario puede emplear las operaciones solamente una vez y al usuario solamente se le dan pocas opciones para cambiar el modo en que funcionan las operaciones de la base de datos. Para repetir la operación de la base de datos, el usuario debe de seleccionar nuevamente la operación del menú e ingresar nuevamente las opciones. Por lo tanto, generalmente las operaciones de la base de datos no se pueden repetir automáticamente y no son flexibles. Estos problemas son exacerbados cuando el usuario es una organización grande que desea manipular grandes colecciones de datos que se originan de fuentes diferentes y dispares. Los usuarios que requieren operaciones complejas de base de datos basadas en tablas, en una aplicación de hoja de cálculo, con frecuencia vuelven a la manipulación manual de los datos o a la creación de un código macro para preparar los datos. La primera opción, con frecuencia consume tiempo, es costosa y propensa a los errores debido a que la solución requiere la intervención manual cada vez que cambian los datos. Para automatizar este proceso, un usuario podría emplear un macrocódigo, tal como el creado por Visual Basic para el programa Applications®. Desafortunadamente, la sintaxis y organización del macrocódigo es difícil para la mayor parte de los usuarios de las aplicaciones de hoja de cálculo. El macrocódigo también puede ser difícil de mantener. La mayor parte de los usuarios no pueden descifrar el código real, y por lo tanto, los usuarios no pueden corregir errores y no pueden ajusfar la solución en el futuro. Además, los usuarios con frecuencia introducen datos nuevos a la hoja de cálculo en una base recurrente o periódica. Por ejemplo, los datos mensuales de ventas son incorporados en aplicaciones de hojas de cálculo cada mes.
Los usuarios deben de manipular mensualmente los datos para crear la información útil acerca del funcionamiento de su negocio durante el mes pasado. Para lograr la manipulación de los datos mensuales, el usuario debe, ya sea utilizar numerosas operaciones de base de datos cada mes, lo cual consume demasiado tiempo y lo desperdicia, utilizar las operaciones manuales mencionadas anteriormente, las cuales debe de cambiar con frecuencia el usuario para trabajar con los datos nuevos, o crear un código macro mencionado anteriormente que puede trabajar con un nuevo conjunto de datos, pero que es difícil de crear. Sumario de la Invención La presente invención se refiere a una suite de funciones de base de datos que puede ser utilizada para crear "fórmulas de bases de datos" que pueden manipular los datos en una hoja de cálculo. Cada función de la base de datos tiene un número de parámetros o argumentos que se pueden definir y las funciones de la base de datos pueden ser combinadas con otras funciones de bases de datos, otras funciones de hoja de cálculo y otros operadores para crear una salida que se puede personalizar. Por lo tanto, los usuarios pueden ingresar opciones numerosas que pueden cubrir el deseo del usuario para producir los datos en ciertas formas o formatos. En las modalidades de la presente invención, el ingreso de cada una de las funciones de la base de datos es un conjunto de datos. Un conjunto de datos puede ser una adaptación de celdas que ocupan dos o más filas, dos o más columnas, o dos o más columnas y dos o más filas. En las modalidades de la presente invención, la producción de cada una de las funciones de la base de datos puede ser un conjunto de datos. Por lo tanto, cada función de la base de datos puede crear tablas nuevas de datos que producen datos "al granel", datos que tienen más de un valor de datos. Las funciones de datos permiten que el usuario cree conjuntos de datos que varían en la organización y el tamaño, dependiendo de la forma en que opera la función de la base de datos en el momento del ingreso de los datos. En una modalidad de la presente invención, un método para manipular una tabla de datos en una aplicación de hoja de cálculo, comprende recibir una o más funciones de bases de datos, recibir una selección para el ingreso de datos dentro de la tabla de datos, manipular los datos ingresados de acuerdo con una o más funciones de la base de datos, y presentar los datos de salida en la hoja de cálculo. En algunas modalidades, se reciben dos o más funciones de bases de datos en una fórmula de base de datos incrustada. La presente invención puede incluir entradas en una hoja de cálculo y salidas de la hoja de cálculo. En una modalidad, la una o más funciones de la base de datos tienen uno o más argumentos. En una modalidad adicional, uno de los argumentos tiene una referencia semántica. En algunas modalidades, el usuario proporciona el uno o más argumentos. En modalidades adicionales, el uno o más de los argumentos incluyen una muestra de la columna. En una modalidad, uno o más de los argumentos incluyen una expresión matemática. En algunas modalidades, los datos ingresados son una tabla de datos. En las modalidades de la presente invención, los datos de salida son una tabla de datos. En algunas modalidades, presentar la salida de datos ocasiona que se muevan una o más de las partidas de datos previamente existentes. En algunas modalidades, los datos de salida ocupan dos o más celdas en la hoja de cálculo. La presente invención también incluye modalidades de ejemplo de funciones de la base de datos. En una modalidad, las funciones de la base de datos incluyen una función de filtro, una fórmula de clasificación, una fórmula para eliminar duplicados, una fórmula para adjuntar tablas o una fórmula para agregar columnas. En algunas modalidades, la función de filtro comprende comparar por lo menos una partida de datos con un argumento de filtro y regresar los datos de salida sin partida alguna de los datos de entrada que cumplen con un argumento de filtro. En algunas modalidades, la función de clasificación comprende regresar un conjunto de datos de salida organizado de acuerdo con uno o más argumentos de clasificación. En algunas modalidades, la función de eliminación de duplicados comprende determinar que dos partidas de datos en los datos de entrada, designados como un argumentos, son iguales y regresar la salida de datos, en donde una de las dos partidas de datos similares es eliminada. En algunas modalidades, la función para anexar tablas comprende la recuperación de dos conjuntos de datos de entrada y regresar datos de salida en donde, por lo menos una porción del primer conjunto de datos de entrada está anexo a por lo menos una porción del segundo conjunto de datos de entrada. En algunas modalidades, la función de agregar columna comprende crear una columna de datos de los datos de entrada de acuerdo con uno o más argumentos y regresar una salida de datos, en donde la salida de datos incluye los datos de entrada y la columna de datos. En las modalidades de la presente invención, la manipulación de la entrada de datos comprende recibir uno o más argumentos con una o más funciones de base de datos, analizar el uno o más argumentos, y la una o más funciones de base de datos y determinar si uno o más argumentos o una o más funciones de la base de datos podrían ser aplicados fila por fila, si uno o más argumentos o una o más funciones de la base de datos podrían ser aplicadas fila por fila, aplicar esos argumentos o esas funciones de base de datos a cada una de las filas por separado, aplicando cualesquiera argumentos restantes o funciones de la base de datos. En modalidades adicionales de la presente invención, se crea un primer intermedio del conjunto de datos a partir de la aplicación de las funciones de argumentos y bases de datos en cada fila por separado. En algunas modalidades, se crean uno o más intermedios posteriores del conjunto de datos, debido a cada argumento o función de base de datos aplicada al primer intermedio del conjunto de datos o a uno o más de los intermedios posteriores del conjunto de datos. En las modalidades de la presente invención, una interfase del usuario para desplegar en pantalla los datos de salida, proporciona la recepción de una o más funciones de la base de datos para aplicar un conjunto de datos de entrada, recibir una selección de datos de entrada y desplegar en pantalla los datos de salida después de que ha sido aplicada la función de base de datos a los datos de entrada. La presente invención puede ser implementada como un proceso de cómputo, un sistema de cómputo o como un artículo de manufactura, tal como un producto de programa de computadora. El producto del programa de cómputo puede ser un medio de almacenamiento de computadora legible por un sistema de cómputo y que codifica un programa de computadora de instrucciones para ejecutar el proceso de cómputo. El producto del programa de cómputo también puede ser una señal propagada en un portador legible por un sistema de cómputo y que codifica un programa de cómputo de instrucciones para ejecutar un proceso de computadora. Breve Descripción de los Dibujos Se puede obtener una apreciación más completa de la presente invención y sus mejoras, haciendo referencia a los dibujos adjuntos, los cuales se resumen brevemente a continuación y la siguiente descripción detallada de las modalidades de ejemplo de la presente invención, así como las reivindicaciones adjuntas. La figura 1A, la figura 1B, y la figura 1C son una hoja de cálculo funcional en una modalidad de la presente invención que ilustra la relación de operación entre una función de base de datos de ejemplo, la entrada a la función, y la salida de la función. La figura 2 muestra un entorno de cómputo básico y un aparato de computadora de acuerdo con la presente invención . La figura 3 es un diagrama de bloques básico de una modalidad de la aplicación de hoja de cálculo e incluye funciones de la base de datos de acuerdo con la presente invención . La figura 4 muestra una modalidad del método básico de creación y empleo de una función de base de datos dentro de una hoja de cálculo de acuerdo con la presente invención. La figura 5 muestra otra modalidad de un método de aplicación de una función de base de datos a un conjunto de datos dentro de una hoja de cálculo de acuerdo con la presente invención. La figura 6 muestra varias modalidades de ejemplo de las funciones de la base de datos de acuerdo con la presente invención . Descripción Detallada de la Invención La presente invención se describirá ahora más completamente haciendo referencia en lo sucesivo a los dibujos adjuntos, en los cuales se muestran las modalidades de la invención. Sin embargo, la presente invención puede ser incorporada de muchas formas diferentes y no debe de ser interpretada como que está limitada a las modalidades aquí establecidas. En vez de ello, estas modalidades se proporcionan de modo que la presente descripción sea completa y transmita completamente el alcance de la invención para aquellos expertos en la técnica. En general, la presente invención se refiere a modalidades de métodos para aplicar funciones de base de datos en aplicaciones de hoja de cálculo. De acuerdo con las modalidades de la presente invención, los métodos aquí descritos pueden ser ejecutados como un conjunto de instrucciones de computadora leídas y llevadas a cabo en un solo sistema de cómputo Independiente. La presente invención se describirá en el contexto general de las instrucciones ejecutables por computadora, tales como módulos de programa, ejecutados por una o más computadoras u otros aparatos. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc., que realizan tareas particulares o implementan tipos de datos abstractos particulares. Generalmente, la funcionalidad de los módulos de programa puede ser combinada o distribuida, según se requiera en diferentes modalidades. En las figuras 1A, 1B, y 1C se ilustra una aplicación de hoja de cálculo de ejemplo que tiene aspectos de la presente invención. En las modalidades de la presente invención, una aplicación de hoja de cálculo u hoja de cálculo es una aplicación de software que puede almacenar datos, hacer cálculos contra los datos y desplegar los datos en pantalla. Las hojas de cálculo son organizadas como un libro de trabajo que tiene una o más hojas de cálculo. Cada hoja de cálculo tiene una pluralidad de celdas que son formadas a partir del cruce de una serie de filas y una serie de columnas. Una partida de datos puede ocupar una celda. Una tabla de datos es una colección de celdas que ocupan, tanto filas múltiples como columnas múltiples dentro de una hoja de cálculo. Las hojas de cálculo son bien conocidas en la técnica y no se explicarán de manera adicional. en la figura 1A se muestra una hoja de cálculo de ejemplo 100. La hoja de cálculo 100 contiene una tabla de datos 102. La tabla de datos 102 tiene el título 104 denominado "Lista de Venta". La tabla 102 tiene 22 filas 106 de la fila 5 a la fila 26. La tabla 102 también tiene tres columnas 108, con encabezados de las columnas 110 en la fila 5, marcada: "País", "Ventas Totales" y "Ventas Promedio". Los datos de la columna D y la columna E de la fila 6 a la fila 26. La fórmula de la base de datos que tiene una o más funciones de base de datos puede ser ingresada en la hoja de cálculo 100. En las modalidades de la presente invención, una función de base de datos es una función en una aplicación de hoja de cálculo que puede recuperar una entrada de conjuntos de datos, manipular esa entrada de datos en otra forma o formato y producir una salida del conjunto de datos. Un rango de datos o conjunto de datos son una o más partidas de datos que ocupan una o más celdas de la hoja de cálculo. Las funciones de la base de datos cambian la apariencia y organización de los datos. En general, las funciones de la base de datos reorganizan la entrada de datos, eliminan partidas de datos dentro de la entrada de datos o agregan datos en la entrada de datos. En las modalidades de la presente invención, algunas funciones de datos comprenden la clasificación, filtración, adjuntar tabla, eliminar duplicados y agregar una columna. Estas modalidades particulares se explicarán más adelante con mayor detalle, pero la presente invención no está limitada a estas modalidades específicas. En algunas modalidades de la presente invención, se pueden repetir las funciones de la base de datos. En otras palabras, conforme cambia la entrada de datos, las funciones de la base de datos pueden ser ejecutadas de nuevo automáticamente para proporcionar una salida de datos actualizada. En algunas modalidades, la entrada de datos no tiene que tener un tamaño especificado, pero puede cambiar y actualizarse y las funciones de la base de datos se ajustarán a los cambios. En una modalidad, la función de la base de datos puede emplear designaciones semánticas. Designar de manera semántica o una designación semántica se refiere a un modo particular de seleccionar un conjunto de datos. En vez de darle una referencia a la celda, fila o columna, el usuario puede utilizar algún tipo de descriptor de lenguaje que puede utilizar la hoja de cálculo para encontrar los datos de la hoja de cálculo que desea el usuario seleccionar. Por ejemplo si la columna C incluye todas las edades de un grupo de niños, el usuario podría utilizar una designación semántica para la columna C en una expresión, tal como "[edad] = 3". La designación semántica, "edad", es la muestra de la columna en el argumento. En las modalidades de la presente invención, una muestra de columna es un tipo de argumento que se refiere a una columna particular. En el ejemplo anterior, el término "edad", es la muestra de la columna. La muestra de la columna puede ser fraseada de cualquier manera que permita que la hoja de cálculo reconozca una cierta columna y aplique una fórmula o argumento a dicha columna. Las designaciones semánticas son explicadas con mayor detalle en la Solicitud de Patente Norteamericana, "Método e Implementación para Hacer Referencia a Datos Dinámicos en Aplicaciones de Hoja de Cálculo", presentada en Septiembre 30, 2004, la cual está incorporada en su totalidad a la presente descripción como referencia. La salida de las funciones de bases de datos pueden tener un conjunto de datos que puede ocupar una o más celdas. La salida de datos es el conjunto de datos final creado a partir de una o más funciones de la base de datos aplicadas. En otras palabras, después de que todas las funciones de la base de datos han sido aplicadas a ios datos de entrada, los datos de salida forman el conjunto final de datos. En una modalidad, el usuario o la aplicación de la hoja de cálculo no necesitan definir el tamaño de los datos de salida, el rango de celdas que ocuparán los datos de salida, pero el tamaño de los datos de salida no está limitado o puede ser completamente un reflejo de la entrada y el efecto de las funciones de la base de datos tiene sus datos de entrada. Cada función de la base de datos puede tener uno o más argumentos o parámetros que se pueden personalizar, los cuales pueden ajustar o adaptar la ejecución de la función de la base de datos. En las modalidades de la presente invención, un argumento o argumentos se refiere a una o más expresiones o modificadores a la función de la base de datos. Los argumentos pueden ajustar o adaptar la fórmula para ejecutarla de cierta manera. Los argumentos pueden ser algebraicos, en el formato de Boolean o de otro formato. En una modalidad, un argumento se puede referir a una celda. En las modalidades de la presente invención, una expresión es un símbolo matemático o lógico o una combinación significativa de símbolos. En esta descripción, una expresión se puede referir, ya sea a una función de la base de datos o a un argumento dentro de la fórmula de la base de datos. En las modalidades de la presente invención, una fórmula de la base de datos es una fórmula que utiliza una o más funciones de la base de datos para realizar una serie de operaciones de la base de datos en una sola definición de fórmula. En las modalidades de la presente invención, una fórmula de base de datos incrustada o fórmulas de base de datos anidadas se refieren a la capacidad para colocar una o más funciones de la base de datos dentro de la sintaxis de una fórmula de la base de datos. Por ejemplo, una fórmula de la base de datos puede tener la expresión: "CLASIFICAR (tabla 1 (FILTRO))". En el ejemplo de una fórmula de la base de datos, la función de FILTRO está incrustada dentro de la función de CLASIFICACIÓN. La incrustación de funciones permite que el usuario pueda crear expresiones complicadas que manipulan los datos de diferentes maneras sin crear fórmulas separadas. Una fórmula de base de datos de ejemplo 102 que tiene una función de base de datos se muestra en la celda G5 112 de la figura 1B. La fórmula de la base de datos de ejemplo 112 incluye una función de FILTRO. De acuerdo con los argumentos de la función de FILTRO, se aplicará un filtro a la tabla "Lista de Ventas" 102, de acuerdo con la referencia semántica 114 para la tabla 102 de los argumentos de la fórmula de la base de datos. La fórmula de la base de datos 112 también incluye otro argumento 116. La fórmula de la base de datos 112 utiliza la referencia semántica 116 para una muestra de columna como se puede apreciar por el argumento 116 "[Ventas Totales]>20000". La muestra de columna señala los datos en la columna D 118. El argumento 116 requiere que todas las filas de datos cuyos datos dentro de la columna D que no tienen un valor superior a 20000 sean eliminados de la salida de datos final. Por lo tanto, la fórmula de la base de datos 112 de este ejemplo filtrará todas las filas de datos de la tabla "Lista de Ventas" 102 que no tienen un valor Total de Ventas superior a 20000. Haciendo referencia a la figura 1C, la salida de datos se muestra en una segunda tabla 112 que ocupa un conjunto de filas 122, de la fila 5 a la fila 19, y un conjunto de columnas 124, de la columna G a la columna I. La salida de la tabla de datos 112 está anclada en la celda G5 en donde el usuario ingresó la fórmula de la base de datos. Como se puede apreciar en la figura 1C, la aplicación de hoja de cálculo eliminó 7 filas de datos de la tabla "Lista de Venta" 102 aplicando la función de FILTRO a esa tabla 102. Las filas eliminadas todas fueron filas que no tenían un valor de datos superior a 20000 en la columna D 118 de la tabla Lista de Venta 102, las cuales fueron las filas 6, 11, 15, 16, 17, 18 y 19. La salida de datos mantuvo el mismo número de columnas, pero cambió el número de filas. La salida de datos fue colocada en un rango de celdas, en vez de en una celda en donde fue ingresada la fórmula de la base de datos. En algunas modalidades, el proceso de manipulación de datos con la función de la base de datos puede terminar una vez que es desplegada la pantalla a la salida de datos. En otras modalidades, la salida de datos de una fórmula de la base de datos, que tiene una o más funciones de base de datos, puede formar la entrada de otras funciones de la hoja de cálculo u otras fórmulas de la base de datos, que tienen una o más funciones de base de datos. En algunas modalidades, la fórmula de la base de datos, o la función de la base de datos se puede volver a ejecutar repetidamente si cambia la entrada de datos seleccionada. Por lo tanto, la fórmula de la base de datos o la función se vuelve a aplicar y a crear la salida de datos después de cualquier cambio a la entrada de datos designada. En esencia, las funciones de la base de datos pueden ejecutarse igual que otras funciones de la hoja de cálculo que se pueden volver a calcular al momento de un cambio en la entrada de datos. La nueva aplicación de las funciones de la base de datos y las fórmulas es diferente a la aplicación sencilla de las operaciones de la base de datos. La nueva aplicación de las fórmulas de la base de datos y las funciones de la base de datos se describieron de una manera más completa en párrafos anteriores. En la figura 2 se describe un entorno operativo adecuado, en el cual puede ser implementada la presente invención. El entorno operativo es solamente un ejemplo de un entorno operativo adecuado y no pretende sugerir limitación alguna en lo que se refiere al alcance del uso o funcionalidad de la presente invención. Otros sistemas de cómputo bien conocidos, entornos y/o configuraciones que pueden ser adecuados para utilizarse con la presente invención incluyen, pero no están limitados a, computadoras personales, computadoras de servidor, aparatos manuales o portátiles, sistemas de multiprocesador, sistemas basados en microprocesador, artículos electrónicos programables por el consumidor, PCs de red, minicomputadoras, computadoras de sistemas, entornos de cómputo distribuidos que incluyen cualquiera de los sistemas o aparatos anteriores y similares.
Haciendo referencia a la figura 2, un sistema de ejemplo para implementar la presente invención incluye un aparato de cómputo, tal como el aparato de cómputo 200. En la configuración más básica, el aparato de cómputo 200 generalmente incluye por lo menos una unidad de procesamiento 202 y una memoria 204. Dependiendo de la configuración exacta y el tipo de aparato de cómputo 200, la memoria 204 puede ser volátil (tal como una memoria RAM), no volátil (tal como una memoria ROM, memoria instantánea, etc.), o alguna combinación de las dos. Esta configuración más básica del sistema de cómputo 200 se ilustra en la figura 2 por medio de líneas punteadas 206. Ad icionalmente, el aparato 200 puede tener también características/funcionalidades adicionales. Por ejemplo, el aparato 200 también puede incluir un almacenamiento adicional (removible y/o no removióle) que incluye, pero no están limitado a, discos magnéticos u ópticos o cintas. Dicho almacenamiento adicional se ilustra en la figura 2 por medio del almacenamiento removible 208 y el almacenamiento no removible 210. Los medios de almacenamiento de computadora incluyen medios volátiles y no volátiles, removibles y no removibles de cualquier método o tecnología de almacenamiento de información, tales como instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos. La memoria 204, el almacenamiento removible 208 y el almacenamiento no removible 210 todos son ejemplos de los medios de almacenamiento de computadora. Los medios de almacenamiento de computadora incluyen, pero no están limitados a, memorias RAM, ROM, EEPROM, memoria instantánea, u otra tecnología de memoria, CD-ROM, discos digitales versátiles (DVD) u otro almacenamiento óptico, cassettes magnéticos, cintas magnéticas, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético o cualquier otro medio el cual pueda ser utilizado para almacenar la información deseada y al cual se pueda tener acceso por medio del aparato de cómputo 200. Cualquiera de dichos medios de almacenamiento de computadora pueden ser parte del aparato 200. El aparato 200 puede contener también una conexión de comunicación 212 que permite que el aparato 200 se comunique con otros aparatos. La conexión de comunicación 212 es un ejemplo de los medios de comunicación. Los medios de comunicación generalmente incorporan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada, tal como una onda portadora u otro mecanismo de transporte e incluyen cualesquiera medios de entrega de información. El término "señal modulada de datos" significa una señal que tiene una o más de sus características ajustadas o cambiadas de un modo tal como para codificar la información de la señal. A modo de ejemplo y no de limitación, los medios de comunicación incluyen medios cableados, tales como redes cableadas o una conexión cableada directa y medios inalámbricos, tales como medios acústicos, RF, infrarrojos u otros medios inalámbricos. El aparato 200 también puede tener un dispositivo de entrada 214, tal como un teclado, ratón, pluma, dispositivo de entrada de voz, dispositivo de entrada de contacto, etc. El aparato de salida 216 tal como una pantalla, bocinas, impresora, etc., también puede estar incluido. Todos estos dispositivos son bien conocidos en la técnica y no necesitan explicarse de una manera más extensa. El aparato de cómputo 200 generalmente incluye por lo menos alguna forma de medios legibles por computadora. Los medios legibles por computadora pueden ser cualesquiera medios disponibles a los que se pueda tener acceso por medio de la unidad de procesamiento 202. A modo de ejemplo y no de limitación, los medios legibles por computadora pueden comprender medios de almacenamiento de computadora y medios de comunicación. Las combinaciones de cualquiera de los anteriores también pueden estar incluidas dentro del alcance de los medios legibles por computadora. El término medio legible por computadora como se usa en la presente descripción, incluye tanto medios de almacenamiento como medios de comunicación. Un diagrama funcional de una aplicación de hoja de cálculo 300 que tiene aspectos de la presente invención, se muestra en la figura 3. La aplicación de hoja de cálculo 300 incluye un módulo de hoja de cálculo 306 que puede aceptar la entrada del usuario 302. El módulo de la hoja de cálculo 100 es una modalidad del módulo de la hoja de cálculo 306. En las modalidades de la presente invención, la entrada del usuario 302 puede ser una o más funciones de la base de datos 312, una o más fórmulas de la base de datos 314 que tienen una o más funciones de la base de datos, y/o una selección de un conjunto de datos de entrada 304. Las fórmulas de la base de datos 112 son una modalidad de la fórmula de la base de datos 314. La entrada de datos 102 es una modalidad de la entrada de datos 304. El módulo de hoja de cálculo 306 puede aplicar las funciones de la base de datos y las fórmulas de la base de datos. El módulo de hoja de cálculo 306 puede aplicar las funciones de la base de datos 312 o las fórmulas de la base de datos 314 al conjunto de datos de entrada 304. El módulo de hoja de cálculo 306 puede manipular la entrada de datos 304 de acuerdo con la función de la base de datos 312 o la fórmula de la base de datos 314 y crean un conjunto de datos de salida 310. La salida de datos 120 es una modalidad de la salida de datos 310. En algunas modalidades, el módulo de hoja de cálculo 306 puede colocar la salida de datos 310 en una o más celdas dentro de la hoja de cálculo. En otras modalidades, el módulo de la hoja de cálculo 306 puede utilizar las salidas de datos en otras funciones o cálculos. En algunas modalidades, el módulo de hoja de cálculo 306 puede crear uno o más intermedios del conjunto de datos 316, antes de producir finalmente la salida de datos 310. Un intermedio del conjunto de datos 316 se refiere a una tabla o conjunto de datos que debe de crear la hoja de cálculo entre las ejecuciones de funciones o argumentos sucesivos o subsecuentes de la base de datos 312. Cada función o argumento sucesivo de la base de datos 312 puede ser aplicado al intermedio más reciente del conjunto de datos 316. La aplicación de hoja de cálculo 300 puede aceptar funciones de la base de datos 312, ya sea en una fórmula de la base de datos 314 o por separado de las fórmulas de la base de datos 314 y realizar operaciones de la base de datos de acuerdo con las funciones de la base de datos 312. En otras palabras, el usuario puede seleccionar o proporcionar una función de base de datos 312 que manipula la forma de entrada de datos, formato, organización, estructura o contenido. En algunas modalidades, las funciones de la base de datos 312 pueden ser aplicadas a una adaptación de datos de entrada 304 incluyendo tablas completas y puede proporcionar datos de salida 310 como una adaptación separada de datos. En otras modalidades, las funciones de la base de datos 312 son dinámicas, debido a que las funciones de la base de datos 312 se volverán a ejecutar cuando cambia la entrada de datos 304 subyacente. Por lo tanto, el usuario no necesita volver a aplicar manualmente las funciones de la base de datos 312, sino las funciones de la base de datos 312 generarán continuamente salidas de datos 310 de cualquier fuente que cambie alguna vez la entrada de datos 304. Una modalidad de un método 400 para aplicar una o más funciones de la base de datos (tal como la función de la base de datos 312) en un conjunto de entrada de datos (tal como en la entrada de datos 304) se muestra en la figura 4. Primero, una operación de adquisición 402 proporciona al usuario una selección de una o más funciones de la base de datos 102. En las modalidades de la presente invención, un módulo de hoja de cálculo (tal como el módulo de hoja de cálculo 306) puede proporcionar las funciones de la base de datos, haciendo disponibles las funciones de la base de datos para el usuario. En una modalidad, el módulo de la base de datos puede proporcionar una lista de funciones de la base de datos, tal como en un menú. En otras modalidades, el módulo de la hoja de cálculo proporciona la función de la base de datos permitiendo que el usuario escriba el nombre de la función de la base de datos en ia hoja de cálculo (tal como la hoja de cálculo 300). Luego, una operación de aceptar 404 acepta haciendo referencia a la entrada del usuario de la función de la base de datos. En las modalidades de la presente invención, un módulo de la hoja de cálculo puede almacenar la función de la base de datos en la celda en donde el usuario ingresó la función de la base de datos. En otras modalidades, el módulo de la hoja de cálculo puede almacenar una fórmula de la base de datos (tal como la fórmula de la base de datos 314) que contiene una función de la base de datos dentro de una celda en donde el usuario ingresó la fórmula de la base de datos. Luego, una operación de aceptar 406 acepta uno o más argumentos. En las modalidades de la presente invención, un argumento es una expresión que ajusta o adapta la ejecución de la función de la base de datos. En una modalidad, los argumentos pueden ser parte de una fórmula más grande de la base de datos. En otras modalidades, los argumentos pueden ser parte de la sintaxis de la función de la base de datos. El módulo de la hoja de cálculo puede almacenar los argumentos con la función de la base de datos.
Posteriormente, una operación de aceptar 408 acepta una selección de un conjunto de entradas de datos. Las entradas de datos pueden ser una o más celdas de datos. En una modalidad, el usuario puede ingresar un rango de celda para la entrada de datos. En otra modalidad, el usuario puede emplear una designación semántica para referirse a un conjunto de datos de entrada. Todavía en otras modalidades, el usuario puede emplear un ratón u otro dispositivo de entrada de interfase gráfica del usuario para destacar y seleccionar la entrada de datos. El módulo de hoja de cálculo puede almacenar esta selección de entrada de datos con la función de la base de datos. Cualquier corrección necesaria a la función de la base de datos, argumentos o selección de entrada de datos, puede ser avisada por el módulo de la hoja de cálculo y hecha por el usuario. En algunas modalidades, el usuario puede ingresar la función de la base de datos, la selección de entrada de datos y uno o más argumentos en una sola expresión. Luego, la operación de manipulación manipula la entrada de datos de acuerdo con la una o más funciones de la bases de datos. En las modalidades de la presente invención, el módulo de hoja de cálculo ejecuta las funciones de la base de datos, con los argumentos en la entrada de datos seleccionada. El módulo de hoja de cálculo manipula la entrada de datos de acuerdo con el tipo de función de la base de datos y los argumentos que la acompañan. Como se explicó, la manipulación de la entrada de datos puede significar cualquier tipo de cambio a la reorganización o formato de la entrada de datos. En una modalidad, una primera función o argumento de la base de datos (que significa la primera que se encuentra en la lista de cualquiera de las fórmulas de la base de datos incrustadas, o el primer argumento de una serie de argumentos) es ejecutada en la entrada de datos. Luego, el módulo de la hoja de cálculo procede a través de cada función o argumento sucesivo en un orden en serie. En algunas modalidades, la hoja de cálculo produce un conjunto de datos intermedios (tal como el conjunto de datos intermedios 316) después de la aplicación de cada función o argumento. La función o argumento final crea la salida de datos (tal como la salida de datos 310). Por ejemplo, si una función de FILTRO y una clasificación de fórmulas son aplicadas a la misma tabla de datos, la hoja de cálculo puede crear primero un conjunto de datos intermedio, tal como una segunda tabla de datos después de la operación de filtro, pero antes de la operación de clasificación. La hoja de cálculo puede almacenar este conjunto de datos intermedio. Luego, la hoja de cálculo puede aplicar la clasificación de fórmula al intermedio de la base de datos para crear la salida de datos. Cualesquiera datos creados y/o almacenados entre las ejecuciones subsecuentes o consecutivas de fórmulas o expresiones, es un conjunto de datos intermedio. Con referencia a la figura 5, se presenta una descripción más detallada de una modalidad de un método para manipular datos, con una o más funciones de la base de datos. Luego, la operación de enviar 412 envía la salida de datos a la hoja de cálculo. La salida de datos puede ser una nueva tabla de datos o un conjunto de datos. En las modalidades de la presente invención, el módulo de hoja de cálculo forma la salida de datos. En una modalidad, el módulo de hoja de cálculo produce la tabla con encabezados de columnas y filas. En otra modalidad, el módulo de hoja de cálculo puede darle un nombre a la salida de datos. En una modalidad, el módulo de hoja de cálculo determina el tamaño y configuración de la salida de datos. El módulo de hoja de cálculo puede determinar cuantas filas y cuantas columnas comprende la salida de datos. Luego, el módulo de hoja de cálculo puede determinar si existe espacio suficiente en la hoja de cálculo para colocar los datos de salida en la hoja de cálculo. En una modalidad, el módulo de hoja de cálculo puede encontrar la celda en donde está anclada la función de la base de datos o la fórmula. El módulo de la hoja de cálculo entonces puede revisar las filas y columnas alrededor de la celda ancla para encontrar cualesquiera datos existentes. Si existen datos, los datos existentes pueden ser cambiados para hacer espacio a la salida de datos. Luego, una operación de presentación 414 presenta la salida de datos. En las modalidades de la presente invención, el módulo de hoja de cálculo despliega en pantalla la salida de datos en la hoja de cálculo. La salida de datos puede formar una celda de datos, un rango de datos en una columna o fila, una tabla de datos o cualquier adaptación de datos en cualquier adaptación de celdas u hojas de cálculo. En la figura 5 se muestra una modalidad adicional del método 500 para manipular la entrada de datos (tal como la entrada de datos 304) con una o más funciones de la base de datos (tal como la función de la base de datos 312). Primero, una operación de análisis 502 analiza la fórmula de la base de datos (tal como la fórmula de la base de datos 314) o la función de la base de datos. En las modalidades de la presente invención, un módulo de hoja de cálculo (tal como el módulo de hoja de cálculo 306) recibe, del usuario, una o más fórmulas o funciones de la base de datos que pueden incluir uno o más argumentos. En algunas modalidades, el usuario puede proporcionar la expresión de las fórmulas en donde una o más funciones de la base de datos están incrustadas en la fórmula de la base de datos. Como ejemplo, la expresión de la fórmula de la base de datos recibida por la aplicación de hoja de cálculo puede tener una FUNCIÓN de FILTRO dentro de una fórmula de CLASIFICACIÓN dentro de una fórmula de ELIMINAR DUPLICADOS. Esta expresión de fórmula se puede ver como la siguiente: " = RemoveDuplicates (So rt(Filter(Tab le 1.[Columna 1] = " Product 1", [Ventas] > 1200), [Nombre del Vendedor], 1), [Columna 1], [Nombre del Vendedor])". En este ejemplo, la fórmula da como resultado que está siendo clasificada la lista por "vendedor" y filtrada para incluir los productos que vendió el vendedor a una razón de más de 1200 unidades en un solo pedido, eliminando las combinaciones duplicadas de vendedor/nombre del producto. En algunas modalidades, la fórmula de la base de datos incrustada puede requerir que la hoja de cálculo analice la expresión diferente, ya sea que esas expresiones sean funciones o argumentos de la base de datos de las funciones de la base de datos. Las fórmulas de la base de datos, ya sea incrustadas o independientes, pueden tener uno o más argumentos. En una modalidad, el módulo de hoja de cálculo puede tratar cada expresión como una operación separada de la base de datos. Por lo tanto, cada expresión es separada y evaluada individualmente. La colección de operaciones de la base de datos puede ser aplicada a la entrada de datos en cualquier orden y en cualquier momento en el proceso. Por lo tanto, en vez de ejecutar las expresiones en un orden en serie, el módulo de hoja de cálculo puede cambiar el orden y/o el método de aplicación de las operaciones de la base de datos para optimizar la ejecución de la fórmula de la base de datos. En algunas modalidades, las expresiones analizadas pueden ser almacenadas para un acceso posterior. Luego, la operación de recuperación 504 recupera la expresión analizada. En algunas modalidades, el módulo de hoja de cálculo puede recuperar una de las expresiones analizadas almacenadas. El módulo de hoja de cálculo puede tener acceso a la memoria para invocar la expresión y proporcionar la expresión para una evaluación adicional. Recuperando las expresiones una a la vez, el módulo de hoja de cálculo puede volver a ordenar la ejecución de las funciones y argumentos de la base de datos. Luego, la operación de determinación determina la clase de la expresión. En las modalidades de la presente invención, la expresión puede tener una de dos clases. Primero, la expresión puede ser aplicada a una sola fila de datos o ser aplicada fila por fila. Segundo, la expresión puede ser aplicada a una "tabla completa" de datos y no a una sola fila. Ciertas operaciones de la base de datos pueden ser operadas en una sola fila. Por ejemplo, la operación de filtro que aparece en un valor de datos en una celda, puede ser aplicada fila por fila. En contraste, ciertas operaciones de la base de datos pueden ser aplicadas solo a las tablas de datos enteras o "totales". Por ejemplo, se puede aplicar una operación de clasificación solamente a una tabla de datos completa. Por lo tanto, en las modalidades de la presente invención, el módulo de hoja de cálculo revisa las expresiones contra un conjunto de expresiones que el módulo de la hoja de cálculo sabe que pueden ser aplicadas a una sola fila de datos. Si la expresión se encuentra en la lista, esa expresión puede ser aplicada inmediatamente. Si la expresión puede ser aplicada fila por fila, entonces la operación de separación 508 separa las expresiones fila por fila. En una modalidad, el módulo de hoja de cálculo separa las expresiones y almacena las expresiones en un grupo separado. En algunas modalidades, en vez de almacenar las expresiones, las expresiones son aplicadas inmediatamente en un orden en serie a cada fila de la entrada de datos. En algunas modalidades, el módulo de hoja de cálculo almacena cada expresión fila por fila, para su evaluación adicional antes de aplicar las expresiones. Por lo tanto, el módulo de hoja de cálculo puede separar las expresiones para su procesamiento posterior. Después, la operación de determinación 510 determina si existen otras expresiones que revisar. En las modalidades de la presente invención, el módulo de hoja de cálculo puede determinar si todas las expresiones han sido revisadas por clase, fila por fila o "tabla completa". Si una expresión no ha sido revisada, el proceso 500 regresa a la operación de recuperación 504. Sin embargo, si no existen expresiones que se necesitan realizar, el proceso 500 procede a la operación 512. Luego, la operación de orden opcional 512 ordena las expresiones fila por fila. En las modalidades de la presente invención, el módulo de hoja de cálculo puede ordenar las expresiones, en vez de aplicar inmediatamente las expresiones fila por fila. El ordenamiento puede incluir colocar las expresiones en una organización que es la más eficiente para el procesamiento. En una modalidad, el orden puede ser de las más restrictivas a las expresiones menos restrictivas. Por ejemplo, la expresión "C = 5" es más restrictiva que la expresión "C>5" debido a que la primera expresión solamente tiene una posibilidad, un valor igual a 5, y la segunda expresión tiene numerosas posibilidades, todos los valores superiores a 5. El ordenamiento de las expresiones es más eficiente debido a que se aplican primero las expresiones más restrictivas que pueden eliminar la fila del procesamiento adicional antes de aplicar las expresiones menos restrictivas. Después, la operación de evaluación 514 evalúa cada fila de todas las expresiones ordenadas fila por fila. En las modalidades de la presente invención, el módulo de hoja de cálculo aplica las expresiones analizadas, separadas, ordenadas fila por fila, como un conjunto, a cada fila individualmente. El módulo de hoja de cálculo puede evaluar cada fila, ya sea en serie o de manera aleatoria. Si cualquier expresión es aplicable a la fila, los datos dentro de esta fila pueden ser eliminados, de ser necesario. Cualquier expresión que ya ha sido aplicada a la fila eliminada, no necesita ser aplicada y el módulo de hoja de cálculo se puede mover a la siguiente fila para la evaluación de las expresiones. Por lo tanto, las expresiones fila por fila pueden operar como una fórmula de adaptación, en vez de cómo una fórmula de tabla. Aunque la presente modalidad aplica la expresión fila por fila, también es posible aplicar las expresiones columna por columna. Por lo tanto, en algunas modalidades, la separación, ordenamiento y evaluación se pueden determinar para las expresiones columna por columna. Después de que el módulo de hoja de cálculo aplica las expresiones fila por fila a cada fila, el módulo de hoja de cálculo crea un primer conjunto de datos intermedios 516 (como el conjunto de datos intermedio 316). Si la operación de determinación 506 determina que la expresión analizada no es una expresión de fila por fila, el proceso 500 puede proceder a una operación de orden opcional 518. La operación de orden 518 puede ordenar las expresiones de la "tabla completa" en vez de aplicar inmediatamente las expresiones de la "tabla completa". En algunas modalidades, las expresiones de la "tabla completa" pueden ser ordenadas desde las más restrictivas hasta las menos restrictivas, tal y como se explicó anteriormente. Se terminan otras metodologías de ordenamiento, tanto para las expresiones fila por fila como para las expresiones de "tabla completa", debido a que el procesamiento de las expresiones pueden ser más eficiente o efectivo, si algunas expresiones siguen otras expresiones. Por ejemplo, el procesamiento puede ser más efectivo, si una clasificación precede a una operación de "tomar los diez superiores". Luego, una operación de aplicación 520 aplica las expresiones de "tabla completa". En una modalidad, el módulo de hoja de cálculo recupera de la memoria, el primer conjunto de datos intermedio creado por las expresiones fila por fila. Luego, el módulo de hoja de cálculo aplica la primera expresión de "tabla completa". El módulo de hoja de cálculo crea un conjunto subsecuente de datos intermedios 522, y almacena el conjunto subsecuente de datos intermedio 522. Después, la operación de determinación 524 determina si necesitan ser aplicadas otras expresiones de "tabla completa". Si tiene que aplicarse todavía otra expresión de "tabla completa" a un conjunto de datos intermedios subsecuentes, el proceso 500 regresa a la operación de aplicación 520. Su no necesita ser aplicada otra expresión de "tabla completa", el último conjunto de datos intermedios subsecuentes 421 almacenado en la memoria se convierte en los datos de salida "tales como los datos de salida 310). Haciendo referencia a la operación de recepción 526, si cambia la entrada de datos subyacentes, la operación de recepción 526 recibe el cambio. En una modalidad, la fórmula o función de la base de datos puede ya haber sido ingresada en la hoja de cálculo. La fórmula o función de la base de datos previamente existente tiene un conjunto de datos de entrada seleccionados para los cuales son aplicadas las expresiones. La selección almacenada del conjunto de datos de los datos de entrada representa "dependencia" de la fórmula de la base de datos o la función de datos. Un usuario puede cambiar alguna parte de las celdas "dependientes" que fueron designadas como entrada a la fórmula o función de la base de datos. El cambio a los datos de entrada puede venir a partir de la edición de los datos de entrada, agregándolo a los datos de entrada, recuperando los datos de entrada, o efectuando otras acciones. Si son cambiados los datos de entrada, el proceso 500 para la aplicación de las expresiones puede comenzar en el bloque 502. En algunas modalidades, el módulo de hoja de cálculo recibe el cambio. Cuando el cambio afecta a la entrada de datos de las celdas dependientes, el cambio da como resultado que el proceso 400 se vuelva a ejecutar comenzando en la operación de manipulación 410. En una modalidad, las funciones de la base de datos se vuelven a evaluar o se ejecutan de nuevo para regresar un conjunto de datos de salida correcto, utilizando la entrada de datos cambiada. Por lo tanto, las formulas de la base de datos y las funciones de la base de datos, a diferencia de las operaciones de la base de datos, se pueden volver a calcular. En la figura 6 se representan varias fórmulas de la base de datos de ejemplo que contienen funciones de la base de datos. Las modalidades de ejemplo incluyen cierta sintaxis, pero la presente invención no está limitada a esa sintaxis. En vez de ello, las fórmulas de la base de datos y las funciones de la base de datos pueden comprender cualquier tipo de sintaxis que pueda proporcionar al usuario operaciones de la base de datos parecidas a fórmulas y que se pueden repetir. Además, las fórmulas de la base de datos y las funciones de la base de datos pueden tener cualquier sintaxis que pueda proporcionar al usuario una personalización especificada del usuario, a través de la inclusión de uno o más argumentos dentro de la fórmula para la base de datos o la función de la base de datos. En algunas modalidades, las funciones de la base de datos y las fórmulas de la base de datos pueden incluir designaciones semánticas. La función de FILTRO de la base de datos 602 puede eliminar partidas de datos de una hoja de cálculo de acuerdo con uno o más argumentos. Tal y como se muestra en la figura 6, la función de FILTRO de la base de datos 602 tiene un conjunto de expresiones de ejemplo, tales como la expresión 612 y la expresión 614. En las modalidades de la presente invención, cada función de la base de datos puede tener expresiones o argumentos similares a la expresión 612 y 614. La sintaxis de operación de las expresiones puede cambiar dependiendo del tipo de función de la base de datos. Un experto en la técnica reconocerá los argumentos y/o expresiones de ejemplo, en el conjunto de funciones de la base de datos de ejemplo. En las modalidades de la presente invención, la función de FILTRO de ejemplo, tiene una estructura y sintaxis como la siguiente: "FILTRO(Table, Filter Expression, 1, [Filter Expression Expression2], ...)". La función de FILTRO de la base de datos 602 regresa todas las partidas (filas) de un conjunto de datos que cumplen todas las condiciones del filtro según fueron incorporadas por los argumentos. En las modalidades de la presente invención, los argumentos pueden ser algebraicos, matemáticos, de Boo!ean u otros tipos de expresiones que pueden contener una o más referencias a los conjuntos de datos dentro de la entrada de datos. Los argumentos pueden ser aplicados y la función de FILTRO de la base de datos 602 regresa una lista de filas que cumplen con todos los argumentos. Solamente las partidas (filas) en donde todos los argumentos son verdaderos son incluidas como parte de la salida de datos. Por ejemplo, una tabla de ejemplo que se muestra más adelante puede ser denominada "Mi Tabla". La tabla siguiente: La función de FILTRO puede ser ingresada en la hoja de cálculo como las siguientes expresiones: = FILTER(MyTable.[Bar]>1 , [Foo] = "C") El resultado de esta función de FILTRO puede ser la siguiente tabla: La función de FILTRO utilizó referencias semánticas para las muestras de columna, por ejemplo, la función de FILTRO utilizó el nombre de la columna "Foo" y "Barra", y el nombre de la tabla "Mi Tabla" en el cual es nombrada el rango para la tabla completa. Otro ejemplo de la función de la base de datos es la función de CLASIFICACIÓN 604, tal y como se muestra en la figura 6. En las modalidades de la presente invención, la función de CLASIFICACIÓN de ejemplo puede tener la estructura y sintaxis siguiente "CLASIFICACIÓN(Table.Field 1, Ascending/Descending 1, [field 2, Ascending/Descending 2],...)". La función de CLASIFICACIÓN 604 regresa una tabla que es el resultado de la clasificación de los datos seleccionados por todos los argumentos especificados. El primer argumento especificado, es la clasificación del orden más alto (último aplicado), el segundo argumento es la clasificación del segundo orden más alto, y así sucesivamente. Por lo tanto, se aplican varias clasificaciones en orden inverso al orden de aparición de los argumentos, en la función para producir una lista clasificada de manera correcta. Otro ejemplo de la función de la base de datos puede ser la función de ELIMINAR DUPLICADOS 606 mostrada en la figura 6. En las modalidades de la presente invención, la función de ELIMINAR DUPLICADO 606 puede tener la estructura y sintaxis siguiente: "ELIMINAR DUPLICADOS(Table. [Field 1], [Field 2],...)". La función de ELIMINAR DUPLICADO 606 puede regresar un conjunto de datos que no contenga partidas duplicadas algunas expresadas por cualquiera de los argumentos. Si todas las partidas especificadas se identifican por los argumentos coincidentes con los de otra partida, entonces la función de ELIMINAR DUPLICADOS 606 puede regresar solamente una de las dos partidas. En algunas modalidades, la función de ELIMINAR DUPLICADOS 606 puede regresar las "primeras" partidas (la partida colocada más cerca del encabezado de la tabla). Si el conjunto de datos no incluye datos algunos que estén duplicados, entonces no se eliminan datos. Como un ejemplo, a continuación se muestran los datos seleccionados, y denominados "Mi Tabla": La función de ELIMINAR DUPLICADOS de ejemplo 606 se muestra a continuación: = REMOVEDUPLICATES(MyTable, [Foo], [Bar]). La función ELIMINAR DUPLICADO 606 regresa al conjunto de datos de salida de la manera siguiente: Todavía otro ejemplo de una función de la base de datos es la función de ANEXAR TABLA 608, que se muestra en la figura 6. En la modalidad de la presente invención, la función de ANEXAR TABLA 608 tiene una estructura y sintaxis de la manera siguiente: "ANEXAR TABLA(Table1 , Table2)". Esta función de ANEXAR TABLA 608 regresa un conjunto de datos que contiene todas las partidas de la tabla 1 y la tabla 2. En una modalidad, la salida de datos tiene un orden de todos los campos de la tabla 1 seguido por todos los campos de la tabla 2, los cuales no se encuentran en la tabla 1. En otra modalidad, cuando una tabla tiene uno o más campos que no tiene la otra tabla, estos campos pueden no ser incluidos. La función de ANEXAR TABLA 608 puede anexar datos a los lados superior, inferior o laterales de una o la otra tabla. Un ejemplo final de la función de la base de datos puede ser, la función de AGREGAR COLUMNA 610 mostrada en la figura 6. En las modalidades de la presente invención, la función de AGREGAR COLUMNA 610 puede tener la estructura y sintaxis siguiente: "AGREGAR COLUMNA (Table, Column Ñame. Expression for Column)". La función de AGREGAR COLUMNA 610 puede crear un conjunto de datos que es el mismo que el de la "tabla" pero que contiene también una columna cuyo nombre es "nombre de columna" y cuyos valores de datos son el resultado del argumento denominado "expresión para columna". La función de AGREGAR COLUMNA 610 puede ser aplicada fila por fila. La función de AGREGAR COLUMNA 610 puede tener argumentos múltiples. En algunas modalidades, los argumentos múltiples de la función de AGREGAR COLUMNA 610, pueden funcionar de una manera similar a la función de FILTRO.

Claims (45)

  1. REIVINDICACIONES 1. - Un método para manipular una tabla de datos en una aplicación de hoja de cálculo, el cual comprende: recibir una o más funciones de la base de datos; recibir una selección para una entrada de datos dentro de la tabla de datos; manipular la entrada de datos de acuerdo con una o más funciones de la base de datos; y presentar la salida de datos en la hoja de cálculo.
  2. 2. - El método tal y como se describe en la reivindicación 1, caracterizado porque una o más funciones de la base de datos incluyen uno o más argumentos.
  3. 3. - Un método tal y como se describe en la reivindicación 3, caracterizado porque el uno o más argumentos incluyen una referencia semántica.
  4. 4. - El método tal y como se describe en la reivindicación 3, caracterizado porque el usuario proporciona el uno o más argumentos.
  5. 5.- Un método tal y como se describe en la reivindicación 1, caracterizado porque la entrada de datos es una tabla de datos.
  6. 6.- Un método tal y como se describe en la reivindicación 1, caracterizado porque la salida de datos es una tabla de datos.
  7. 7.- Un método tal y como se describe en la reivindicación 1, caracterizado porque la presentación de la salida de datos ocasiona que se muevan una o más partidas de datos previamente existentes.
  8. 8.- Un método tal y como se describe en la reivindicación 1, caracterizado porque la función de la base de datos es una de una función de filtro, una fórmula de clasificación, una fórmula de eliminar duplicados, una fórmula de anexar tabla o una fórmula de agregar columna.
  9. 9.- Un método tal y como se describe en la reivindicación 8, caracterizado porque la función de filtro comprende además: comparar por lo menos una partida de datos con un argumento de filtro; y regresar una salida de datos sin partida alguna de la entrada de datos que cumpla con un argumento de filtro.
  10. 10. - Un método tai y como se describe en la reivindicación 8, caracterizado porque la función de clasificación comprende además: regresar un conjunto de salida de datos organizados de acuerdo con uno o más argumentos de clasificación.
  11. 11. - Un método tal y como se describe en la reivindicación 8, caracterizado porque la función de eliminar duplicado comprende además: determinar que dos partidas de datos en una entrada de datos, designadas en un argumento son iguales; regresar la salida de datos, en donde son eliminados uno de los dos datos o los datos similares.
  12. 12. - Un método tal y como se describe en la reivindicación 8, caracterizado porque la función de anexar tablas comprende además: recuperar dos conjuntos de entrada de datos; regresar una salida de datos, en donde por lo menos una porción del primer conjunto de entrada de datos es anexada a por lo menos una porción del segundo conjunto de entrada de datos.
  13. 13. - Un método tal y como se describe en la reivindicación 8, caracterizado porque la función de agregar columna comprende además: crear una columna de datos de la entrada de datos de acuerdo con uno o más argumentos; regresar la salida de datos en donde la salida de datos incluye la entrada de datos y la columna de datos.
  14. 14. - Un método tal y como se describe en la reivindicación 1, caracterizado porque la manipulación de la entrada de datos comprende: recibir uno o más argumentos con una o más funciones de la base de datos; analizar el uno o más argumentos y la una o más funciones de la base de datos; determinar si uno o más argumentos o una o más funciones de la base de datos podrían ser aplicados fila por fila; si uno o más argumentos o una o más funciones de la base de datos podrían ser aplicados fila por fila, aplicar esos argumentos o esas funciones de la base de datos a cada fila por separado; y aplicar cualesquiera argumentos o funciones restantes de la base de datos.
  15. 15.- Un método tal y como se describe en la reivindicación 14, caracterizado porque el primer conjunto intermedio de datos es creado a partir de la aplicación de argumentos y funciones de la base de datos a cada fila por separado.
  16. 16.- Un método tal y como se describe en la reivindicación 15, caracterizado porque son creados uno o más conjuntos de datos intermedios subsecuentes debido a cada argumento o función restante de la base de datos aplicada al primer conjunto de datos intermedio o a uno o más conjuntos de datos intermedios subsecuentes.
  17. 17.- Un medio legible por computadora que tiene instrucciones ejecutables por computadora para realizar los pasos que comprenden: recibir una o más funciones de la base de datos; recibir una selección para la entrada de datos dentro de una tabla de datos; manipular la entrada de datos de acuerdo con la una o más funciones de la base de datos; y presentar la salida de datos en la hoja de cálculo.
  18. 18.- Un medio legible por computadora tal y como se describe en la reivindicación 17, caracterizado porque una o más de las funciones de la base de datos incluyen uno o más argumentos.
  19. 19. - Un medio legible por computadora tal y como se describe en la reivindicación 18, caracterizado porque el uno o más argumentos incluyen una referencia semántica.
  20. 20. - Un medio legible por computadora tal y como se describe en la reivindicación 18, caracterizado porque el usuario proporciona el uno o más argumentos.
  21. 21.- Un medio legible por computadora tal y como se describe en la reivindicación 17, caracterizado porque la entrada de datos es una tabla de datos.
  22. 22. - Un medio legible por computadora tal y como se describe en la reivindicación 17, caracterizado porque la salida de datos es una tabla de datos.
  23. 23. - Un medio legible por computadora tal y como se describe en la reivindicación 17, caracterizado porque la presentación de la salida de datos ocasiona que se muevan una o más partidas de datos previamente existentes.
  24. 24.- Un medio legible por computadora tal y como se describe en la reivindicación 17, caracterizado porque la función de la base de datos es una de una función de filtro, una fórmula de clasificación, una fórmula de eliminar duplicados, una fórmulas de anexar tablas, o una fórmula de agregar columna.
  25. 25. - Un medio legible por computadora tal y como se describe en la reivindicación 24, caracterizado porque la función del filtro comprende además: comparar por lo menos una partida de datos con un argumento de filtro; y regresar una salida de datos sin cualquier partida de la entrada de datos que cumple con los argumentos de filtro.
  26. 26. - Un medio legible por computadora tal y como se describe en la reivindicación 24, caracterizado porque la función de clasificación comprende además: regresar un conjunto de datos de salida organizado de acuerdo con uno o más argumentos de clasificación.
  27. 27. - Un medio legible por computadora tal y como se describe en la reivindicación 24, en donde la función de eliminar duplicado comprende además: determinar que dos partidas de datos de la entrada de datos, designadas en un argumento, son iguales; regresar una salida de datos en donde una de las dos partidas o datos similares son eliminados.
  28. 28.- Un medio legible por computadora tal y como se describe en la reivindicación 24, caracterizado porque la función de anexar tablas comprende además: recuperar dos conjuntos de entradas de datos; regresar una salida de datos, en donde por lo menos una porción del primer conjunto de entrada de datos es anexado a por lo menos una porción del segundo conjunto de í entrada de datos.
  29. 29.- Un medio legible por computadora tal y como se describe en la reivindicación 24, caracterizado porque la función de agregar columna comprende además: crear una columna de datos de la entrada de datos de acuerdo con uno o más argumentos; regresar la salida de datos en donde la salida de datos incluye la entrada de datos y la columna de datos.
  30. 30.- Un medio legible por computadora tal y como se describe en la reivindicación 17, caracterizado porque la manipulación de la entrada de datos comprende: recibir uno o más argumentos con una o más funciones de la base de datos; analizar el uno o más argumentos y la una o más funciones de la base de datos; determinar si uno o más argumentos o una o más funciones de la base de datos podrían ser aplicadas fila por fila; y determinar si uno o más argumentos o una o más funciones de la base de datos pueden ser aplicadas fila por fila; si uno o más argumentos o una o más funciones de la base de datos pudieran ser aplicadas fila por fila, aplicar esos argumentos o esas funciones de la base de datos a cada fila por separado; y aplicar cualesquiera argumentos o funciones de la base de datos restante.
  31. 31. - Un medio legible por computadora tal y como se describe en la reivindicación 30, caracterizado porque el primer conjunto intermedio de datos es creado de la aplicación de los argumentos y las funciones de la base de datos a cada fila por separado.
  32. 32. - Un medio legible por computadora tal y como se describe en la reivindicación 31, caracterizado porque son creados uno o más conjuntos de datos intermedios subsecuentes debido a cada argumento o función de la base de datos restante aplicada al primer conjunto de datos intermedio o uno o más de los conjuntos de datos intermedios subsecuentes.
  33. 33. - Un método para manipular una tabla de datos en una aplicación de hoja de cálculo, el cual comprende: recibir una selección de una de dichas una o más funciones de la base de datos incluyendo uno o más argumentos; recibir una selección de entrada de datos; analizar el uno o más argumentos y la una o más funciones de la base de datos; determinar si uno o más argumentos o una o más funciones de la base de datos podrían ser aplicados fila por fila; si uno o más argumentos o una o más funciones de la base de datos pudieran ser aplicados fila por fila, aplicar esos argumentos o esas funciones de la base de datos a cada fila por separado; y aplicar cualesquiera argumentos o funciones de la base de datos restantes; y presentar la salida de datos en la hoja de cálculo.
  34. 34. - Un método tal y como se describe en la reivindicación 33, caracterizado porque el primer conjunto de datos intermedio es creado a partir de la aplicación de los argumentos y funciones de la base de datos a cada fila por separado.
  35. 35. - Un método tal y como se describe en la reivindicación 14, caracterizado porque uno o más conjuntos de datos intermedios posteriores son creados debido a cada argumento o función de la base de datos restante aplicada al primer conjunto de datos intermedio o a uno o más conjuntos de datos intermedios subsecuentes.
  36. 36.- Un medio legible por computadora que tiene instrucciones ejecutables por computadora para realizar los pasos que comprenden: recibir una selección de dichas una o más funciones de la base de datos, que incluyen uno o más argumentos; recibir una selección de entrada de datos; analizar el uno o más argumentos y la una o más funciones de la base de datos; determinar si uno o más argumentos o una o más funciones de la base de datos podrían ser aplicados fila por fila; si uno o más argumentos o una o más funciones de la base de datos podrían ser aplicados fila por fila, aplicar esos argumentos o esas funciones de la base de datos a cada fila por separado; y aplicar cualesquiera argumentos o funciones de la base de datos restantes; y presentar la salida de datos en la hoja de cálculo.
  37. 37. - Un medio legible por computadora tal y como se describe en la reivindicación 36, caracterizado porque se crea un primer conjunto de datos intermedio de la aplicación de argumentos y funciones de la base de datos a cada fila por separado.
  38. 38. - Un medio legible por computadora tal y como se describe en la reivindicación 37, caracterizado porque el uno o más conjuntos de datos intermedios subsecuentes son creados por cada argumento o función de base de datos restante aplicada al primer conjunto de datos intermedio, o a uno o más de los conjuntos de datos intermedios subsecuentes.
  39. 39.- Un sistema de cómputo que tiene una interfase gráfica del usuario que incluye un dispositivo de pantalla y un dispositivo de selección de la interfase del usuario, un método para recibir una o más funciones de la base de datos para aplicarlas a un conjunto de entrada de datos, el cual comprende los pasos de: recibir una selección de entrada de datos; y desplegar la salida de datos después de que la función de la base de datos ha sido aplicada a la entrada de datos.
  40. 40. - Un método tal y como se describe en la reivindicación 39, el cual comprende además recibir uno o más argumentos con dichas una o más funciones de la base de datos, en donde los argumentos ajustan la forma en que son aplicadas las funciones de la base de datos.
  41. 41. - Un método tal y como se describe en la reivindicación 40, caracterizado porque uno o más de los argumentos incluyen una muestra de columna.
  42. 42. - Un método tal y como se describe en la reivindicación 40, caracterizado porque uno o más de los argumentos incluyen una expresión matemática.
  43. 43.- Un método tal y como se describe en la reivindicación 40, caracterizado porque uno o más de los argumentos es semántico.
  44. 44. - Un método tal y como se describe en la reivindicación 39, caracterizado porque dos o más funciones de la base de datos son recibidas en la forma de fórmulas de la base de datos incrustadas.
  45. 45. - Un método tal y como se describe en la reivindicación 39, caracterizado porque la salida de datos ocupa dos o más celdas de la hoja de cálculo.
MXPA05007082A 2004-09-30 2005-06-28 Diseno de funciones de hoja de calculo para trabajar con tablas de datos. MXPA05007082A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/957,502 US7698287B2 (en) 2004-09-30 2004-09-30 Design of spreadsheet functions for working with tables of data

Publications (1)

Publication Number Publication Date
MXPA05007082A true MXPA05007082A (es) 2006-04-05

Family

ID=35539586

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA05007082A MXPA05007082A (es) 2004-09-30 2005-06-28 Diseno de funciones de hoja de calculo para trabajar con tablas de datos.

Country Status (10)

Country Link
US (1) US7698287B2 (es)
EP (1) EP1643387B1 (es)
JP (1) JP5490348B2 (es)
KR (1) KR101153069B1 (es)
CN (1) CN1755668B (es)
AU (1) AU2005202721B2 (es)
BR (1) BRPI0502477B1 (es)
CA (1) CA2510765C (es)
MX (1) MXPA05007082A (es)
RU (1) RU2383923C2 (es)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237188B1 (en) * 2004-02-06 2007-06-26 Microsoft Corporation Method and system for managing dynamic tables
GB0307428D0 (en) 2003-03-31 2003-05-07 Medical Res Council Compartmentalised combinatorial chemistry
US20060078893A1 (en) 2004-10-12 2006-04-13 Medical Research Council Compartmentalised combinatorial chemistry by microfluidic control
GB0307403D0 (en) 2003-03-31 2003-05-07 Medical Res Council Selection by compartmentalised screening
US20050221339A1 (en) 2004-03-31 2005-10-06 Medical Research Council Harvard University Compartmentalised screening by microfluidic control
US7968287B2 (en) 2004-10-08 2011-06-28 Medical Research Council Harvard University In vitro evolution in microfluidic systems
US7849395B2 (en) 2004-12-15 2010-12-07 Microsoft Corporation Filter and sort by color
US8601383B2 (en) 2005-09-09 2013-12-03 Microsoft Corporation User interface for creating a spreadsheet data summary table
US8095866B2 (en) 2005-09-09 2012-01-10 Microsoft Corporation Filtering user interface for a data summary table
US7480675B2 (en) * 2005-09-09 2009-01-20 Microsoft Corporation Automated placement of fields in a data summary table
US7752215B2 (en) * 2005-10-07 2010-07-06 International Business Machines Corporation System and method for protecting sensitive data
US7627812B2 (en) 2005-10-27 2009-12-01 Microsoft Corporation Variable formatting of cells
WO2007081387A1 (en) 2006-01-11 2007-07-19 Raindance Technologies, Inc. Microfluidic devices, methods of use, and kits for performing diagnostics
US20070174228A1 (en) * 2006-01-17 2007-07-26 Microsoft Corporation Graphical representation of key performance indicators
US7770100B2 (en) * 2006-02-27 2010-08-03 Microsoft Corporation Dynamic thresholds for conditional formats
US20080003142A1 (en) 2006-05-11 2008-01-03 Link Darren R Microfluidic devices
US9562837B2 (en) 2006-05-11 2017-02-07 Raindance Technologies, Inc. Systems for handling microfludic droplets
WO2008021123A1 (en) 2006-08-07 2008-02-21 President And Fellows Of Harvard College Fluorocarbon emulsion stabilizing surfactants
US8495586B2 (en) * 2006-08-24 2013-07-23 Software Analysis and Forensic Engineering Software for filtering the results of a software source code comparison
US8772046B2 (en) 2007-02-06 2014-07-08 Brandeis University Manipulation of fluids and reactions in microfluidic systems
US20080243823A1 (en) * 2007-03-28 2008-10-02 Elumindata, Inc. System and method for automatically generating information within an eletronic document
US8592221B2 (en) 2007-04-19 2013-11-26 Brandeis University Manipulation of fluids, fluid components and reactions in microfluidic systems
CN101055566B (zh) * 2007-05-25 2010-06-09 金蝶软件(中国)有限公司 一种电子数据表的函数收集方法和装置
CN101122899B (zh) * 2007-09-18 2011-01-05 杭州华三通信技术有限公司 报表的生成方法和设备
CN101425007B (zh) * 2007-10-29 2012-09-05 珠海金山软件有限公司 一种可结构化显示电子表格函数提示的方法
US9558169B2 (en) * 2007-11-20 2017-01-31 Sap Se Hierarchical grouping columns
US10346854B2 (en) * 2007-11-30 2019-07-09 Microsoft Technology Licensing, Llc Feature-value attachment, reranking and filtering for advertisements
US9189478B2 (en) * 2008-04-03 2015-11-17 Elumindata, Inc. System and method for collecting data from an electronic document and storing the data in a dynamically organized data structure
US8612438B2 (en) 2008-06-13 2013-12-17 Microsoft Corporation Techniques for dynamic cross-filtering
EP4047367A1 (en) 2008-07-18 2022-08-24 Bio-Rad Laboratories, Inc. Method for detecting target analytes with droplet libraries
US8041712B2 (en) * 2008-07-22 2011-10-18 Elumindata Inc. System and method for automatically selecting a data source for providing data related to a query
US8176042B2 (en) * 2008-07-22 2012-05-08 Elumindata, Inc. System and method for automatically linking data sources for providing data related to a query
US8037062B2 (en) 2008-07-22 2011-10-11 Elumindata, Inc. System and method for automatically selecting a data source for providing data related to a query
US20100083080A1 (en) * 2008-09-30 2010-04-01 Apple Inc. Whole table referencing
CN101763348B (zh) * 2008-12-26 2011-12-07 英业达股份有限公司 动态表格式数据撷取系统与方法
US20100228752A1 (en) * 2009-02-25 2010-09-09 Microsoft Corporation Multi-condition filtering of an interactive summary table
US8528589B2 (en) 2009-03-23 2013-09-10 Raindance Technologies, Inc. Manipulation of microfluidic droplets
US8707156B2 (en) * 2009-04-02 2014-04-22 Business Objects, S.A. Render engine for spreadsheet
US20110072340A1 (en) * 2009-09-21 2011-03-24 Miller Darren H Modeling system and method
US9275031B2 (en) 2009-10-09 2016-03-01 Microsoft Technology Licensing, Llc Data analysis expressions
EP2486409A1 (en) 2009-10-09 2012-08-15 Universite De Strasbourg Labelled silica-based nanomaterial with enhanced properties and uses thereof
US10837883B2 (en) 2009-12-23 2020-11-17 Bio-Rad Laboratories, Inc. Microfluidic systems and methods for reducing the exchange of molecules between droplets
US9399797B2 (en) 2010-02-12 2016-07-26 Raindance Technologies, Inc. Digital analyte analysis
US9366632B2 (en) 2010-02-12 2016-06-14 Raindance Technologies, Inc. Digital analyte analysis
US10351905B2 (en) 2010-02-12 2019-07-16 Bio-Rad Laboratories, Inc. Digital analyte analysis
EP2534267B1 (en) 2010-02-12 2018-04-11 Raindance Technologies, Inc. Digital analyte analysis
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US9562897B2 (en) 2010-09-30 2017-02-07 Raindance Technologies, Inc. Sandwich assays in droplets
CN102456013A (zh) * 2010-10-20 2012-05-16 金蝶软件(中国)有限公司 数据表中计算公式的处理方法和装置
WO2012109600A2 (en) 2011-02-11 2012-08-16 Raindance Technologies, Inc. Methods for forming mixed droplets
EP3736281A1 (en) 2011-02-18 2020-11-11 Bio-Rad Laboratories, Inc. Compositions and methods for molecular labeling
US8841071B2 (en) 2011-06-02 2014-09-23 Raindance Technologies, Inc. Sample multiplexing
US9556470B2 (en) 2011-06-02 2017-01-31 Raindance Technologies, Inc. Enzyme quantification
US9348941B2 (en) * 2011-06-16 2016-05-24 Microsoft Technology Licensing, Llc Specification of database table relationships for calculation
US8959423B2 (en) 2011-06-28 2015-02-17 International Business Machines Corporation Drill-through lens for generating different types of reports
US8959424B2 (en) 2011-06-28 2015-02-17 International Business Machines Corporation Comparative and analytic lens for displaying a window with a first column for first data and a second column for comparison values of the first data and second data
US8658430B2 (en) 2011-07-20 2014-02-25 Raindance Technologies, Inc. Manipulating droplet size
US9483456B2 (en) * 2011-09-19 2016-11-01 Jeffrey Dean Honsowetz Grid data management
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US9633110B2 (en) * 2011-11-15 2017-04-25 Microsoft Technology Licensing, Llc Enrichment of data using a semantic auto-discovery of reference and visual data
CN102999289B (zh) * 2012-08-07 2016-10-05 珠海金山办公软件有限公司 在函数表达式中生成选区参数表示的方法及装置
CN103577533B (zh) * 2012-08-12 2019-01-25 查平 开放式网络计算系统
US9286284B2 (en) * 2012-10-15 2016-03-15 International Business Machines Corporation Data filtering based on a cell entry
US9158744B2 (en) * 2013-01-04 2015-10-13 Cognizant Technology Solutions India Pvt. Ltd. System and method for automatically extracting multi-format data from documents and converting into XML
CN103136182B (zh) * 2013-03-07 2016-02-10 珠海金山办公软件有限公司 一种电子表格中数据排序的方法、系统及数据排序装置
US20140324501A1 (en) * 2013-04-30 2014-10-30 The Glassbox Incorporated Method and system for automated template creation and rollup
US20140359417A1 (en) * 2013-06-04 2014-12-04 Omer Bar-On Systems and methods for graphically modulating structured data
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
US11901041B2 (en) 2013-10-04 2024-02-13 Bio-Rad Laboratories, Inc. Digital analysis of nucleic acid modification
US10366156B1 (en) * 2013-11-06 2019-07-30 Apttex Corporation Dynamically transferring data from a spreadsheet to a remote applcation
US9944977B2 (en) 2013-12-12 2018-04-17 Raindance Technologies, Inc. Distinguishing rare variations in a nucleic acid sequence from a sample
WO2015103367A1 (en) 2013-12-31 2015-07-09 Raindance Technologies, Inc. System and method for detection of rna species
KR101459410B1 (ko) * 2014-03-18 2014-11-07 주식회사 한글과컴퓨터 텍스트 자동 분할 입력 기반의 스프레드시트 구동 장치 및 방법
WO2016057854A1 (en) 2014-10-08 2016-04-14 Inertech Ip Llc Systems and methods for cooling electrical equipment
US10647981B1 (en) 2015-09-08 2020-05-12 Bio-Rad Laboratories, Inc. Nucleic acid library generation methods and compositions
US10175955B2 (en) 2016-01-13 2019-01-08 Hamilton Sundstrand Space Systems International, Inc. Spreadsheet tool manager for collaborative modeling
US10387558B2 (en) * 2016-02-23 2019-08-20 International Business Machines Corporation Provision of a separate input interface for user interaction with a spreadsheet
US10120851B2 (en) * 2016-06-30 2018-11-06 Microsoft Technology Licensing, Llc Automatic semantic data enrichment in a spreadsheet
US10528607B2 (en) * 2016-07-29 2020-01-07 Splunk Inc. Syntax templates for coding
CN109002427A (zh) * 2017-06-06 2018-12-14 珠海金山办公软件有限公司 在电子表格中提示函数参数的方法、装置及电子设备
KR101966177B1 (ko) 2017-09-19 2019-04-05 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
US11341321B2 (en) 2017-10-20 2022-05-24 Uxstorm, Llc UI enabling mapping engine system and process interconnecting spreadsheets and database-driven applications
CN109063006B (zh) * 2018-07-10 2021-12-28 奇瑞汽车股份有限公司 一种Excel实现整车软件配置编码计算及解析的方法
KR102032084B1 (ko) * 2019-01-22 2019-10-14 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
CN110738037B (zh) * 2019-10-15 2021-02-05 深圳逻辑汇科技有限公司 用于自动生成电子表格的方法、装置、设备及存储介质
CN110728124B (zh) * 2019-10-15 2021-01-08 深圳逻辑汇科技有限公司 用于可视化电子表格的方法、装置、设备及存储介质
CN112784552B (zh) * 2020-06-05 2023-10-27 珠海金山办公软件有限公司 一种表格编辑方法及装置
CN112417806B (zh) * 2020-11-11 2023-12-19 无锡优波生命科技有限公司 一种tcm元件平面电路图设计方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557787A (en) * 1993-02-18 1996-09-17 Fuji Xerox Co., Ltd. Table generating apparatus employing heading, layout, and table script data
US5603021A (en) * 1994-09-02 1997-02-11 Borland International, Inc. Methods for composing formulas in an electronic spreadsheet system
US5890174A (en) 1995-11-16 1999-03-30 Microsoft Corporation Method and system for constructing a formula in a spreadsheet
US5842180A (en) * 1996-03-28 1998-11-24 Microsoft Corporation Method and system for detecting and correcting errors in a spreadsheet formula
KR100271146B1 (ko) * 1997-10-31 2000-11-01 윤종용 스프레드시트엔진을 이용한 워드프로세서의 테이블 자동 연산 시스템 및 방법
US6460059B1 (en) * 1998-08-04 2002-10-01 International Business Machines Corporation Visual aid to simplify achieving correct cell interrelations in spreadsheets
GB2343763B (en) * 1998-09-04 2003-05-21 Shell Services Internat Ltd Data processing system
US6631497B1 (en) * 1999-07-19 2003-10-07 International Business Machines Corporation Binding data from data source to cells in a spreadsheet
US7099898B1 (en) * 1999-08-12 2006-08-29 International Business Machines Corporation Data access system
US6510420B1 (en) * 1999-09-30 2003-01-21 International Business Machines Corporation Framework for dynamic hierarchical grouping and calculation based on multidimensional member characteristics
CA2311866A1 (en) * 2000-01-06 2001-07-06 International Business Machines Corporation Method and system in an electronic spreadsheet for adding or removing elements from a cell named range according to different modes
US6754677B1 (en) * 2000-05-30 2004-06-22 Outlooksoft Corporation Method and system for facilitating information exchange
US6341292B1 (en) * 2000-05-30 2002-01-22 Outlooksoft Corporation Spreadsheet-based network information exchange with two-part cache
US6738770B2 (en) 2000-11-04 2004-05-18 Deep Sky Software, Inc. System and method for filtering and sorting data
US7082569B2 (en) 2001-01-17 2006-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US7191184B2 (en) * 2001-05-02 2007-03-13 National Instruments Corporation Optimized storage for measurement data
JP2003015920A (ja) 2001-06-28 2003-01-17 Shinsei Kaihatsu Kk 表計算ソフトのシートを入力画面として利用するデータベース更新システム及び方法並びに表計算ソフトのシートを入力画面として利用するデータベース更新プログラム並びに当該プログラムを記録したコンピュータ読取可能な記録媒体
US7058631B1 (en) * 2002-06-04 2006-06-06 Unisys Corporation Methods and system for accessing logical relationship data in a database from a data-access system utilizing bookmarks
US7089261B2 (en) * 2002-07-25 2006-08-08 International Business Machines Corporation Programmable use of data extracted from common presentation files
US7266763B2 (en) * 2002-11-26 2007-09-04 Microsoft Corporation User defined spreadsheet functions

Also Published As

Publication number Publication date
JP2006107441A (ja) 2006-04-20
BRPI0502477B1 (pt) 2018-02-14
CA2510765C (en) 2012-10-09
JP5490348B2 (ja) 2014-05-14
BRPI0502477A (pt) 2006-05-09
CN1755668A (zh) 2006-04-05
AU2005202721A1 (en) 2006-04-13
RU2005120367A (ru) 2007-01-20
US20060075328A1 (en) 2006-04-06
US7698287B2 (en) 2010-04-13
CN1755668B (zh) 2010-06-23
EP1643387A3 (en) 2007-01-10
KR20060049240A (ko) 2006-05-18
KR101153069B1 (ko) 2012-06-11
EP1643387A2 (en) 2006-04-05
CA2510765A1 (en) 2006-03-30
RU2383923C2 (ru) 2010-03-10
AU2005202721B2 (en) 2010-08-26
EP1643387B1 (en) 2019-04-24

Similar Documents

Publication Publication Date Title
MXPA05007082A (es) Diseno de funciones de hoja de calculo para trabajar con tablas de datos.
US11694036B2 (en) Using natural language constructs for data visualizations
US7519585B2 (en) Selection context filtering
US10565232B2 (en) Constructing queries for execution over multi-dimensional data structures
Taylor Stilts-a package for command-line processing of tabular data
US9818208B2 (en) Identifying and abstracting the visualization point from an arbitrary two-dimensional dataset into a unified metadata for further consumption
US20060064428A1 (en) Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
US20040088650A1 (en) Methods and apparatus for generating a spreadsheet report template
CA2287030A1 (en) Method and apparatus for accessing multidimensional data
US8260772B2 (en) Apparatus and method for displaying documents relevant to the content of a website
US8615733B2 (en) Building a component to display documents relevant to the content of a website
US20070282804A1 (en) Apparatus and method for extracting database information from a report
EP1634192A1 (en) Data processing system and method for application programs in a data warehouse
US20090259995A1 (en) Apparatus and Method for Standardizing Textual Elements of an Unstructured Text
US20170091187A1 (en) Search-independent ranking and arranging data
JP4025572B2 (ja) 構造化文書分析装置と方法、及び構造化文書分析プログラムと構造化文書分析プログラムを格納した記憶媒体
US7882170B1 (en) Interfacing a first type of software application to information configured for use by a second type of software application

Legal Events

Date Code Title Description
FC Refusal