MXPA05005856A - Metodo, sistema y aparato para exponer rangos de libro de trabajo como fuentes de datos. - Google Patents

Metodo, sistema y aparato para exponer rangos de libro de trabajo como fuentes de datos.

Info

Publication number
MXPA05005856A
MXPA05005856A MXPA05005856A MXPA05005856A MXPA05005856A MX PA05005856 A MXPA05005856 A MX PA05005856A MX PA05005856 A MXPA05005856 A MX PA05005856A MX PA05005856 A MXPA05005856 A MX PA05005856A MX PA05005856 A MXPA05005856 A MX PA05005856A
Authority
MX
Mexico
Prior art keywords
workbook
data
computer
server
data source
Prior art date
Application number
MXPA05005856A
Other languages
English (en)
Inventor
C Battagin Daniel
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 MXPA05005856A publication Critical patent/MXPA05005856A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)

Abstract

Se proporcionan un metodo, sistema y aparato para exponer y utilizar rangos de libro de trabajo como fuentes de datos de servidor. El sistema incluye una computadora cliente capaz de ejecutar un programa de aplicacion de hoja de calculo para crear un libro de trabajo incluyendo un rango que incluye objetos de datos. El libro de trabajo puede ser publicado a una computadora servidor, en donde los objetos de datos especificados son expuestos como fuentes de datos de servidor. La computadora servidor permite que las aplicaciones de cliente descubran y se conecten a los objetos de datos contenidos dentro del libro de trabajo como fuentes de datos de servidor.

Description

METODO, SISTEMA Y APARATO PARA EXPONER RANGOS DE LIBRO DE TRABAJO COMO FUENTES DE DATOS ANTECEDENTES DE LA INVENCIÓN Cuando se construyen libros de trabajo, los usuarios de programas de aplicación de hoja de cálculo por lo general utilizan datos de un número de diferentes fuentes. Por ejemplo, cuando se crea un libro de trabajo dentro de un programa de aplicación de hoja de cálculo, el usuario puede importar los datos de otro libro de trabajo, puede capturar datos dentro del libro de trabajo manualmente, o puede obtener los datos a través de la ejecución de consultas en una base de datos relacional o en cubo de procesamiento analítico en línea ("OLAP"). Una vez que los datos han sido capturados a partir de cualquiera de estas fuentes, un usuario típicamente arregla los datos en una configuración deseada dentro del libro de trabajo. Al final de este proceso, el usuario ha creado un libro de trabajo que incluye un rango tabular de datos a partir de los cuales se llevará a cabo un análisis numérico significativo. Con el fin de que otros usuarios puedan acceder el contenido de libro de trabajo, se pueden hacer copias del libro de trabajo o porciones del mismo. Por ejemplo, en muchos escenarios, el libro de trabajo se envía otros usuarios a través de un mensaje de correo electrónico ("correo electrónico"). Los usuarios que reciben el libro de trabajo entonces pueden llevar a cabo el análisis en el libro de trabajo o agregar los datos contenidos en el libro de trabajo a otro libro de trabajo. Alternativamente, el libro de trabajo puede ser almacenado en un archivo compartido en donde múltiples usuarios pueden acceder al contenido del libro de trabajo. Con el fin de compartir el contenido de libro de trabajo, también se pueden copiar rangos de datos y pegarlos a otros documentos. Aunque este método tradicional para compartir un libro de trabajo permite a múltiples usuarios acceder el contenido del libro de trabajo, estos métodos también tienen sus desventajas. Primero, es muy difícil administrar múltiples copias de un libro de trabajo que pueden ser duplicadas muchas veces a través de múltiples computadoras y dominios de red. En particular, es muy difícil para el administrador del sistema asegurar que el libro de trabajo es seguro y que está frecuentemente respaldado. Además, en el caso de un archivo compartido, puede ser muy difícil para múltiples usuarios simultáneamente acceder al libro de trabajo. Por ejemplo, si el autor de libro de trabajo original necesita actualizarlo, entonces es extremadamente difícil rastrear a todos los usuarios que lo utilizan y mantener sus coplas actualizadas. En muchos casos, la aplicación cliente de la hoja de cálculo bloquea el libro de trabajo cuando es abierto a través de un usuario, por lo tanto previniendo que otros tengan acceso al archivo. Adicionalmente, las funciones idénticas pueden ser llevadas a cabo en diferentes copias del libro de trabajo por lo tanto originando la duplicación del esfuerzo y la reducción de la productividad. Es con respecto a estas consideraciones y otras que las varias modalidades de la presente invención han sido hechas.
COMPENDIO DE LA INVENCION De acuerdo con la presente invención, el anterior y otros problemas han sido resueltos a través de un método, sistema, y aparato para exponer rangos de libro de trabajo como fuentes de datos. Al exponer rangos dentro de un libro de trabajo como fuentes de datos de servidor, el acceso estructurado puede fácilmente controlar el contenido del libro de trabajo a través de cualquier programa de aplicación capaz de conectarse y consultar una fuente de datos de servidor. Además, debido a que los rangos del libro trabajo se exponen como fuentes de datos de servidor cuando el libro de trabajo se publica, cualquier usuario capaz de operar un programa de aplicación de hoja de cálculo puede fácilmente crear fuentes de datos a nivel empresa. De acuerdo con un aspecto de la invención, se provee un sistema para exponer el contenido de un libro de trabajo como una fuente de datos de servidor y para la utilización de la fuente de datos de servidor. El sistema incluye una computadora cliente capaz ejecutar un programa de aplicación de hoja de cálculo para crear un libro de trabajo. El libro de trabajo puede incluir uno o más rangos que incluyen objetos de datos. Como se define aquí,- un objeto de datos incluye cualquier objeto dentro de una hoja de trabajo que se utiliza para almacenar datos. Por ejemplo, los objetos de datos pueden incluir, pero no se limitan a, un rango arbitrario de celdas, cuadros pivote, objetos de exploración de datos ("DOEs"), listas, bases de datos, y cuadros de consulta. El programa de aplicación de hoja de cálculo también puede ser operativo para generar metadatos para cada uno de los objetos de datos cuando se crea el libro de trabajo. Los metadatos pueden ser guardados con el libro de trabajo. Los metadatos pueden utilizarse a través de una computadora servidor cuando se reciben y responden las solicitudes para acceder los objetos de los datos dentro del libro de trabajo como fuentes de datos de servidor. La creación de los metadatos para los objetos de datos puede ser llevada a cabo en una forma automatizada a través del programa de aplicación de la hoja de cálculo cuando se crean los datos, cuando se publican los datos, o en respuesta a una solicitud del usuario para generar los metadatos. También se puede proveer un recurso para permitir a un usuario editar los metadatos. El programa de aplicación de hoja de cálculo además es operativo para publicar un libro de trabajo en una computadora servidor. Cuando se publica un libro de trabajo en una computadora servidor, un usuario puede especificar que algunos, ninguno, o todos los objetos de datos dentro de un libro trabajo puedan ser expuestos como fuentes de datos de servidor. El libro de trabajo entonces es transmitido a la computadora servidor en donde las fuentes de datos especificadas son expuestas como fuentes de datos de servidor. De acuerdo con los aspectos de la invención, el sistema también incluye una computadora servidor operativa para ejecutar un programa de servidor para exponer objetos de datos dentro de un libro de trabajo como objetos de datos de servidor. Como se utilizan aquí, los términos "fuente de datos" y "fuente de datos de servidor" se refieren específicamente a una base de datos a partir de la cual se pueden ejecutar consultas. Esta definición incluye bases de datos relaciónales (tales como aquéllas que pueden ser construidas y consultadas utilizando el Lenguaje de Consulta Estructurada ("SQL"), bases de datos jerárquicas, bases de datos multidimensionales (tal como un cubo OLAP), o bases de datos que combinan aspectos de las bases de datos relaciónales y multidimensionales (tales como el Modelo Dimensional Unificado ("UDM")). La definición también incluye bases de datos que puedan ser consultadas a través de servicio web. Como también se utiliza aquí el término "consulta de fuente de datos" significa una consulta dirigida a una fuente de datos, tal como una consulta SQL. Una vez que los objetos de datos del libro de trabajo han sido expuestos, las aplicaciones de cliente pueden descubrir y conectar los objetos de datos como fuentes de datos de servidor. Cuando se emite una consulta contra un objeto de datos como una fuente de datos de servidor, la computadora servidor es operativa para recalcular libro de trabajo. Si el libro de trabajo contiene una referencia a otra fuente de datos, cualquier dato necesario para recalcular el libro de trabajo puede ser recuperado de la fuente de datos antes del cálculo. Una vez que el libro de trabajo ha sido recalculado, la computadora servidor es operativa para generar una representación (tal como una representación de base de datos) del objeto de datos identificado. Esto puede incluir, por ejemplo, generar una base de datos temporal, un cubo correspondiente al objeto de datos identificado. Una vez que la representación ha sido generada, la computadora servidor es operativa para llevar a cabo la consulta solicitada en la representación. El resultado de la consulta entonces se devuelve al programa de aplicación cliente que la solicita. En esta forma, por ejemplo, un usuario puede fácilmente crear un libro de trabajo y publicar el libro de trabajo en una computadora servidor en donde los objetos de datos pueden ser expuestos como fuentes de datos de servidor. Otros usuarios que utilizan aplicaciones de cliente de base de datos, tales como un cliente OLAP, entonces pueden descubrir la fuente de los datos contenida en el libro de trabajo y emitir consultas nativas contra la fuente de los datos. La invención puede ser implementada como un proceso de computadora, un aparato de computación, un artículo de manufactura tal como un producto de programa de computadora o medio legible por computadora. El producto de programa por computadora puede ser un medio de almacenamiento por computadora legible a través un sistema de computadora y de codificación de un programa de computadora de instrucciones para ejecutar un proceso de computadora. El producto de programa de computadora también puede ser una señal propagada en un portador legible a través un sistema de computación y de codificación de un programa de computadora de instrucciones para ejecutar un proceso de computadora. Estas y otras varias características, así como ventajas, las cuales caracterizan la presente invención, serán aparentes a partir de la lectura de la siguiente descripción detallada y una revisión de los dibujos asociados.
BREVE DESCRIPCION DE LAS VARIAS VISTAS DE LOS DIBUJOS La Figura 1 es un diagrama de red de computadora que ilustra los aspectos de los varios sistemas de computadora utilizados en y provistos a través de varias modalidades de invención; La Figura 2 es un diagrama de la arquitectura del sistema de computadora que ilustra los aspectos de un sistema de computadora cliente utilizado en y provisto a través de las varias modalidades de invención; La Figura 3 es un diagrama de flujo que ilustra los aspectos de un proceso para publicar un rango del libro de trabajo como datos de servidor de acuerdo con una modalidad de la invención; La Figura 4 es un diagrama de pantalla que ilustra un aspecto de la invención para proveer un recurso través del cual el usuario puede editar los metadatos asociados con objetos de datos en un rango de un libro de trabajo; y La Figura 5 es un diagrama de flujo que ilustra los aspectos de un proceso para recibir y responder a las solicitudes para los rangos del libro de trabajo como fuentes de datos de servidor de acuerdo con una modalidad invención.
DESCRIPCION DETALLADA DE LA INVENCION Haciendo referencia ahora a los dibujos, en los cuales los números similares representan elementos similares, se describirán varios aspectos de la presente invención. En particular, la Figura 1 y la discusión correspondiente pretenden proveer una descripción general, breve de un entorno de computación adecuado en el cual las modalidades de la invención pueden ser implementadas. Ya que invención será descrita en el contexto general de módulos de programa que se ejecutan en conjunción con módulos de programa que operan en un sistema operativo en una computadora personal, aquellos con experiencia en la técnica reconocerán que invención también puede ser implementada en combinación con otros tipos de sistemas de computadora y módulos de programa. Generalmente, los módulos de programa incluyen rutinas, programas, componentes, estructuras de datos, y otros tipos de estructuras que llevan a cabo tareas particulares o implementan tipos de datos abstractos particulares. Además, aquellos con experiencia técnica apreciarán que la invención puede ser practicada con otras configuraciones del sistema de computadora, incluyendo dispositivos portátiles, sistemas multiprocesador, electrónicos de consumidor basados en microprocesador o programables, minicomputadoras, computadoras principales, y similares. La invención también puede ser practicada en ambientes de computación distribuidos en donde las tareas se llevan a cabo a través de dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones. En un ambiente de computación distribuido, los módulos de programa pueden estar localizados tanto en dispositivos de almacenamiento de memoria locales como remotos. Haciendo referencia ahora a la Figura 1, se describirá un entorno operativo ilustrativo para las varias modalidades de la invención. Como se muestra en la Figura 1, una red 10 se interconecta a la computadora cliente 2 y a varias computadoras servidor 12A-12C. Se deberá apreciar que la red 10 puede comprender cualquier tipo de red computación, incluyendo una red de área local, o una red de área amplia, tal como el Internet. La red 10 provee un medio para habilitar la comunicación entre la computadora cliente 2, las computadora servidor 12A-12C, y potencialmente otros sistemas de computadora conectados a, o accesibles a través de la red 10. La computadora cliente 2 comprende una computadora de escritorio o portátil de propósito general capaz de ejecutar uno o más programas de aplicación. En particular, de acuerdo con las varias modalidades de la invención, la computadora 2 es operativa para ejecutar una aplicación cliente de hoja de cálculo 4. Como es conocido para aquellos con experiencia en la técnica, el programa de aplicación cliente de hoja de cálculo 4 provee la funcionalidad para crear presupuestos, llevar a cabo proyectos financieros, y otras tareas relacionadas con las finanzas y los números. Con el fin de proveer esta funcionalidad, los valores de los datos pueden ser organizados utilizando celdas y las relaciones entre las celdas se pueden definir utilizando fórmulas. Un cambio en una celda produce cambios en todas las celdas relacionadas. Los programas de hoja de cálculo usualmente proveen capacidades para dar salida a gráficas y una variedad de opciones de formateo para texto, valores numéricos y características de gráficas. De acuerdo con las modalidades de la invención, la aplicación cliente de la hoja de cálculo 4 se puede utilizar para crear un libro de trabajo 6. El libro de trabajo 6 es un archivo que es creado a través de un programa de hoja de cálculo que contiene uno o más libros de trabajo (un libro trabajo también puede ser referido aquí como una "hoja de cálculo"). Una de trabajo es una sola página organizada en filas y columnas dentro del programa de la hoja de cálculo y que aparecen en la pantalla y se utilizan para construir un cuadro individual. Los libros de trabajo dentro de libro de trabajo 6 pueden incluir uno o más rangos incluyendo objetos de datos. Como se define aquí, un objeto de datos incluye cualquier objeto dentro de un libro de trabajo que se utiliza para almacenar datos. Por ejemplo, los objetos de datos pueden incluir, pero no se limitan a, un rango arbitrario de celdas, cuadros pivote, listas DOEs, bases de datos y cuadros de consulta. Como se describirá más completamente aquí, cada uno de estos objetos de datos puede ser expuesto como una fuente de datos de servidor disponible a partir de servidor 12A. Otros tipos de objetos de datos utilizados dentro de un libro de trabajo también pueden ser expuestos como una fuente de datos de servidor. Se deberá apreciar que, de acuerdo con una modalidad de la invención, la aplicación cliente de la hoja de cálculo 4 comprende el programa de aplicación de la hoja de cálculo EXCEL de MICROSOFT CORPORATION de Redmond, Washington. Se deberá apreciar, sin embargo que los varios aspectos del invención descritos aquí se pueden utilizar con otros programas de aplicación de hoja de cálculo de otros fabricantes. Además, aunque los aspectos de la invención descritos aquí se presentan en el contexto de un programa de aplicación de hoja de cálculo, se deberá apreciar que otros tipos de programas de aplicación también se pueden utilizar para representar los varios aspectos de la invención. De acuerdo con otras modalidades de la invención, la computadora cliente 2 también puede ser operativa para ejecutar una aplicación cliente OLAP 8. La aplicación cliente OLAP 8 comprende un programa de aplicación capaz de conectarse a, consultar y utilizar los datos de una fuente de datos OLAP. Por ejemplo, la aplicación cliente OLAP 8 puede conectarse la computadora servidor 12B a través de la red 10. A través de software de base de datos que se ejecuta en la computadora servidor 12B, la aplicación cliente OLAP 8 puede emitir consultas contra la fuente de datos 16. La computadora servidor 12B entonces es operativa para recibir y responder las consultas de la aplicación cliente OLAP 8. Como se describirá con más detalle más adelante, la aplicación cliente OLAP 8 también puede emitir consultas contra un libro de trabajo 6. Con el fin de habilitar esta funcionalidad, la aplicación cliente de la hoja de cálculo 4 puede publicar el libro de trabajo 6 a un depósito 14 controlado por una computadora servidor de archivos 12C y accesible a través de la computadora servidor 12A. La aplicación de servidor de la hoja de cálculo 13 que se ejecuta en la computadora servidor 12A entonces puede analizar el libro de trabajo 6 para los rangos que incluyen los objetos de los datos y exponer los objetos de los datos como fuentes de datos de servidor. La aplicación cliente OLAP 8 entonces puede conectarse a las fuentes de datos expuestas por la aplicación servidor de la hoja de cálculo 12A en la misma forma en que se conectaría a una fuente de datos OLAP dedicada, tal como aquella provista por la computadora servidor 12B. Se deberá apreciar que la aplicación cliente de la hoja de cálculo 4 puede actuar como un consumidor de datos a partir de la fuente de datos en la misma forma que la aplicación cliente OLAP 8. Se deberá apreciar que la computadora 2 puede ser operativa para ejecutar aplicaciones de cliente adicionales para consultar y consumir datos de otros tipos de bases de datos. Además también se deberá apreciar en una modalidad alternativa, las funciones de la computadora 2 descritas anteriormente pueden estar divididas entre los dispositivos de computación. Por ejemplo, un dispositivo de computación puede ser operativo para ejecutar la aplicación de la hoja de cálculo 4 para publicar el libro de trabajo 6 mientras que otro dispositivo de computación puede ser operativo para ejecutar aplicaciones de cliente para consumir los datos. Como se utiliza aquí, los términos "fuente de datos" y "fuente de datos de servidor" se refiere significativamente a una base de datos a partir de la cual se pueden ejecutar las consultas. Esta definición incluye bases relaciónales (tales como bases SQL), bases de datos jerárquicas, bases de datos multidimensionales (tal como un cubo OLAP), o bases de datos que combinan aspectos de la base de datos relacional y la base de datos multidimensional (tal como la UDM). La definición también incluye bases datos que pueden ser consultadas a través de servicios web. También como se utiliza aquí, el término "consulta de fuente de datos" significa una consulta dirigida a una fuente de datos, tal como una consulta SQL. La aplicación servidor de la hoja de cálculo 13 comprende un programa de aplicación basado en el servidor que puede ejecutarse sin el uso de una pantalla de exhibición (sin cabeza), La aplicación del servidor de la hoja de cálculo 13 es operativa para llevar a cabo muchos de las funciones de la aplicación cliente de la hoja de cálculo 4 en la computadora servidor. Por ejemplo, la aplicación de servidor de la hoja de cálculo 13 puede cargar y calcular un libro de trabajo 6. Como se describirá aquí, la aplicación de servidor de la hoja de cálculo 13 también provee una funcionalidad para exponer los rangos dentro de un libro trabajo 6 para clientes compatibles con la red 10. Los detalles adicionales de las varias funciones llevadas a cabo por la aplicación cliente de hoja de cálculo 4 y aplicación servidor de la hoja de cálculo 13 serán provistas más adelante con respecto a las Figuras 2-5. Haciendo referencia ahora a la Figura 2, se describirá una arquitectura de computadora ilustrativa para la computadora 2 utilizada en las varias modalidades de la invención. La arquitectura de computadora mostrada en la Figura 2 ilustra una computadora de escritorio o portátil convencional, incluyendo una unidad central de procesamiento 5 ("CPU"), una memoria de sistema 7, incluyendo una memoria de acceso aleatorio 9 ("RAM") y una memoria de sólo lectura ("ROM") 11, y un controlador común del sistema 12 que acopla la memoria al CPU 5. Un sistema de entradas/salidas básico conteniendo las rutinas básicas que ayudan a transferir información entre los elementos dentro de la computadora, tales como durante el arranque, se almacenan en ROM 11. La computadora 2 además incluye un dispositivo de almacenamiento masivo 24 para almacenar un sistema operativo 18, programas de aplicación, y otros módulos de programa los cuales se describirán con las detalle más adelante.
El dispositivo de almacenamiento masivo 24 está conectado al CPU 5 a través de un controlador de almacenamiento masivo (no mostrado) conectado al conductor común del sistema 12. El dispositivo de almacenamiento masivo 24 y sus medios legibles por computadora asociados proveen almacenamiento no volátil para la computadora 2. Aunque la descripción de los medios legibles por computadora contenida aquí se refiere a un dispositivo de almacenamiento masivo, tal como un disco duro o una unidad CD-ROM, se deberá apreciar por aquellos con experiencia técnica que los medios legibles por computadora puede ser cualquier medio que pueda ser accedido a través de la computadora 2. A manera ejemplo, y no limitación, los medios legibles por computadora pueden comprender medios de almacenamiento por computadora y medios de comunicación. Los medios de almacenamiento por computadora incluyen medios volátiles y no volátiles, removibles y no removibles implementados a través de cualquier medio o tecnología para almacenar información tales como las instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos. Los medios de almacenamiento por computadora incluyen, pero no se limitan a, RAM, ROM, EEPROM, EPROM, memoria no volátil u otra tecnología de memoria de estado sólido, CD-ROM, discos versátiles digitales ("DVD"), u otro almacenamiento óptico, casetes magnéticos, cinta magnética, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que pueda ser utilizado para almacenar la información deseada y la cual puede ser accedida a través de la computadora 2. De acuerdo con las varias modalidades de invención, la computadora 2 puede operar en un ambiente conectado en red utilizando conexiones lógicas a computadoras remotas a través de una red 10, tal como el Internet. La computadora 2 se puede conectar a la red 10 a través de una unidad de la interfase de red 20 conectada al conductor común 12. Se debe apreciar que una unidad de la interfase de red 20 también se puede utilizar para conectarse a otros tipos de redes y sistemas de computadora remotos. La computadora 2 también puede incluir un controlador de entrada/salida 22 para recibir y procesar capturas a partir de un número de otros dispositivos, incluyendo un teclado, un ratón, un estilete electrónico (no mostrado en la Figura 2). Similarmente, un controlador de entrada/salida 22 puede proveer salida a una pantalla de despliegue, a una impresora, un otro tipo dispositivo de salida. Como se mencionó brevemente anteriormente, un número de módulos de programas y archivos de datos se pueden almacenar en el dispositivo de almacenamiento masivo 24 y RAM 9 de la computadora 2, incluyendo un sistema operativo 18 adecuado para controlar la operación de una computadora personal conectar en red, tal como el sistema operativo Windows XP de Microsoft Corporation de Redmond, Washington. El dispositivo de almacenamiento masivo 24 y RAM 9 también pueden almacenar uno o más módulos de programa. En particular, el dispositivo de almacenamiento masivo 24 y RAM 9 pueden almacenar un aplicación de cliente de hoja de cálculo 4 y una aplicación cliente OLAP 8, como se describió anteriormente. El dispositivo de almacenamiento masivo 24 y RAM 9 también pueden almacenar un libro de trabajo 6 creado por aplicación cliente de la hoja de cálculo 4. De acuerdo con una modalidad de la invención, el programa de aplicación de la hoja de cálculo 4 también puede ser operativo para generar metadatos 26 para cada uno de los objetos de datos contenidos dentro de un libro de trabajo. Los metadatos 26 pueden ser automáticamente generados por la aplicación cliente de la hoja de cálculo 4 o creados a mano por un usuario. Los metadatos 26 pueden ser almacenados dentro de libro de trabajo 6 y guardados con libro de trabajo. Los metadatos 26 pueden ser utilizados por la computadora servidor 12A cuando recibe y responde las solicitudes para acceder a los objetos de datos dentro de los libros de trabajo como fuentes de datos de servidor. Como por ejemplo, el programa de aplicación de la hoja de cálculo 10 puede crear metadatos 26 para un campo en un libro de trabajo titulado "CODIGO POSTAL". Los metadatos 26 pueden indicar el nombre del campo y pueden establecer un tipo de datos para el campo como un número. Los metadatos 26 también pueden indicar que la agregación por omisión para el campo es una "suma". Éste proceso puede ser llevado a cabo en una forma automatizada a través del programa de aplicación de hoja de cálculo 4 cuando se crea la fuente de los datos, cuando la fuente de los datos se publica, o en respuesta a una solicitud del usuario para generar los metadatos. Se deberá apreciar que, en las modalidades de la invención, el programa de aplicación cliente de la hoja de cálculo 4 es operativo para proveer un recurso para permitir a un usuario editar los metadatos 26 creados por el programa de aplicación de hoja de cálculo 4 para los objetos de datos contenidos en un libro de trabajo 6. Por ejemplo, el usuario puede utilizar un recurso provisto por la aplicación cliente de la hoja de cálculo 4 para editar los metadatos 26 para indicar que la agregación por omisión para el campo "CODIGO POSTAL" no deberá ser una suma, sino más bien un número. Los metadatos modificados 26 entonces pueden proseguir al libro de trabajo 6 y publicarse en la computadora servidor 12A. En esta forma, la computadora servidor 12A puede mejor responder las solicitudes de fuente de datos para los datos contenidos en este campo. Se describirá una interfase de usuario ilustrativa para editar los metadatos 26 generada por los objetos de los datos en un libro de trabajo a través de aplicación cliente de la hoja de cálculo 4 con mayor detalle más adelante con respecto la Figura 4. Se deberá apreciar que las computadoras servidor 12A-12C pueden incluir muchos de los componentes de computación convencionales ilustrados en la Figura 2 y descritos anteriormente. Adicionalmente, la computadora servidor 12A puede ser operativa para almacenar y ejecutar una aplicación de servidor de hoja de cálculo 13. La computadora servidor de archivo 12C puede ser operativa para almacenar y ejecutar una aplicación de servidor de archivo 28 para recibir y responder las solicitudes para archivos almacenados en el depósito 14, tal como un libro trabajo 6. Se deberá apreciar que las computadoras servidor 12A-12C puede incluir otros componentes convencionales no ilustrados en la Figura 2 pero conocidos por aquellos con experiencia técnica. Haciendo referencia ahora a la Figura 3, se describirá una rutina ilustrativa 300 que ilustra un proceso llevado a cabo por el programa de aplicación cliente de la hoja de cálculo 4 para publicar un rango de libro de trabajo como una fuente de datos de servidor. Cuando se lea la discusión de las rutinas presentadas aquí, se deberá apreciar que las operaciones lógicas de varias modalidades de la presente invención están implementados (1) como una secuencia de acciones implementadas en computadora o módulos de programa corriendo en un sistema de computadora y/o (2) como circuitos lógicos de máquina interconectando módulos de circuito dentro del sistema de la computadora. La implementación es un tema a seleccionar dependiendo de los requerimientos de funcionamiento del sistema de computación que implementan invención. Por consiguiente, las operaciones lógicas ilustradas en las Figuras 3 y 5 y que forman las modalidades de la presente invención descrita aquí son referidas de modos diversos como operaciones, dispositivos estructurales, acciones o módulos. Se reconocerá por un experto en la técnica que estas operaciones, dispositivos estructurales, acciones y módulos se pueden implementar en software, en firmware, en lógica digital de propósito especial, y cualquier combinación de los mismos sin apartarse del espíritu y alcance de la presente invención como se recita dentro de las reivindicaciones establecidas aquí.
La rutina 300 inicia en la operación 302, en donde un usuario utiliza la aplicación de cliente de hoja de cálculo 4 para crear el libro de trabajo 6. En particular, como se describe aquí, el usuario puede utilizar los varios recursos provistos por aplicación cliente de la hoja de cálculo 4 para crear objetos de datos dentro del libro de trabajo incluyendo rangos de celdas, cuadros pivote, DOEs, listas, bases de datos, cuadros de consulta y otros objetos de datos. El usuario también puede manualmente capturar los datos o crear una consulta de libro de trabajo 6 a partir de la fuente de datos 16. Las varias funciones y metodologías que se pueden utilizar dentro de una aplicación cliente de hoja de cálculo 4 para crear un libro de trabajo 6 son virtualmente ilimitadas y bien conocidas por aquellos con experiencia en la técnica. A partir de la operación 302, la rutina 300 continúa a la operación 304, en donde la aplicación cliente de ia hoja de cálculo 4 genera los metadatos 26 para uso a través de la aplicación de servidor 13 en respuesta a las solicitudes para acceder el libro de trabajo 6 como una fuente de datos. En particular, la aplicación cliente de hoja de cálculo 4 puede analizar las varias fuentes de datos contenidos dentro de libro de trabajo 6 para identificar los datos que pueden ser utilizados para describir las varias fuentes de datos dentro de libro de trabajo 6. Por ejemplo, con respecto a una fuente de datos relacional, la aplicación cliente de ia hoja de cálculo 4 puede identificar los nombres de las columnas y los varios tipos de datos de las fuentes de datos contenidos dentro de libro de trabajo 6. Con respecto a la fuente de datos multidimensional, la aplicación cliente de la hoja de cálculo 4 puede identificar medidas, jerarquías, y la adición de omisión de las varias fuentes de datos. Los valores para estas propiedades también pueden ser establecidos a través de la aplicación cliente de la hoja de cálculo 4 en una manera inteligente. Por ejemplo, con respecto al campo de datos cadena, la aplicación cliente de la hoja de cálculo 4 puede indicar la agregación por omisión como siendo un número. Con respecto a los campos de datos numéricos, la aplicación cliente de hoja de cálculo 4 puede establecer la agregación por omisión como siendo una suma. Otros tipos de decisiones inteligentes pueden ser hechas a través de aplicación cliente de la hoja de cálculo 4 para identificar los metadatos dentro de libro de trabajo 6 y establecer las propiedades para los metadatos. A partir de la operación 304, la rutina 300 continúa a la operación 306, en donde la aplicación cliente de la hoja de cálculo 4 determina si un usuario ha hecho una solicitud para editar los metadatos generados por aplicación cliente de la hoja de cálculo 4. Como se describe brevemente anteriormente, la aplicación cliente de la hoja de cálculo 4 puede proveer una interfase de usuario para editar los metadatos generados. Esto puede ser útil, por ejemplo, para permitir a un usuario sobrescribir las decisiones inteligentes hechas por la aplicación cliente de la hoja de cálculo 4 cuando identifica los metadatos dentro de libro de trabajo 6 y establece las varias propiedades de los metadatos.
Si, en la operación 306, la aplicación de cliente de hoja de cálculo 4 determina que se ha recibido una solicitud para editar los metadatos, la rutina 300 se desvía a la operación 308. En la operación 308, la aplicación cliente de hoja de cálculo 4 recibe los metadatos editados del usuario. Una interfase de usuario ilustrativa para permitir a un usuario editar los metadatos se describirá con mayor detalle más adelante con respecto a la Figura 4. A partir de la operación 308, la rutina 300 continúa la operación 310. Si, en la operación 306, la aplicación cliente de la hoja de cálculo 4 determina que no se ha recibido una solicitud para editar los metadatos, la rutina 300 continúa a la operación 310. En la operación 310, los metadatos 26 generados por la aplicación cliente de la hoja de cálculo 4, y potencialmente editados por el usuario, se guardan con el libro de trabajo 6. El guardado del libro de trabajo 6 puede ocurrir automáticamente o puede ocurrir en respuesta a una solicitud del usuario. A partir de la operación 310, la rutina 300 continúa a la operación 312, en donde libro de trabajo 6, incluyendo los metadatos 26, se publican en la aplicación del servidor de la hoja de cálculo 13. La aplicación del libro de trabajo 6 puede ocurrir en respuesta a un comando del usuario o puede ocurrir automáticamente. Por ejemplo, la publicación de libro de trabajo 6 puede incluir subir la hoja de cálculo a la computadora de servidor 12A de manera programada generar una hoja de cálculo y enviarla a la computadora servidor 12A a través de la interfase de programa de aplicación del servidor ("API"). Cuando un libro de trabajo 6 es publicado en la aplicación de servidor de la hoja de cálculo 13, el libro de trabajo 6 se almacena en el depósito 14. La aplicación del servidor de la hoja de cálculo 13 también es notificada de la existencia del libro de trabajo 6 y los varios objetos de datos contenidos con el libro de trabajo entonces pueden ser expuestos como fuentes de datos de servidor. Se debe apreciar que un usuario puede tener permiso de especificar cuáles de los varios objetos de datos dentro de libro de trabajo 6 están expuestos por la aplicación servidor de la hoja de cálculo 13 como fuentes de datos. Alternativamente, todos los objetos de datos dentro de un libro de trabajo 6 puede ser expuestos como objetos de datos o un usuario puede tener permiso de indicar que ningún objeto de datos dentro de libro de trabajo 6 es expuesto como fuentes de datos. Una vez que el libro de trabajo 6 ha sido propagado al depósito 14 y analizado por la aplicación del servidor de la hoja de cálculo 13, las aplicaciones de cliente, tales como la aplicación cliente OLAP 8 o la aplicación de cliente de hoja de cálculo 4, pueden ser utilizados para consultar el contenido de libro de trabajo 6 como una fuente de datos. Los detalles adicionales con respecto a las varias funciones llevadas a cabo por la aplicación servidor de la hoja de cálculo 13 con el fin de exponer el contenido de libro de trabajo 6 como una fuente de datos se describirá con mayor detalle más adelante con respecto las Figura 5. A partir de la operación 312, la rutina 300 continúa la operación 314, en donde termina.
Haciendo referencia a la Figura 4, se describirá una iníerfase de usuario ilustrativa para permitir a un usuario editar los metadatos generados por aplicación cliente de la hoja de cálculo 4 para las varias fuentes de datos contenidas dentro de un libro de trabajo 6. La Figura 4 muestra una ventana de la interfase de usuario 30 que incluye un número de componentes de la interfase de usuario para editar los metadatos. En particular, se proveer una caja de lista 32 que lista cada uno de los campos disponibles 34A-34N para las fuentes de datos contenidas dentro de libro de trabajo 6. Las relaciones entre los varios campos 34A-34N se pueden ilustrar dentro de la caja lista 32 para indicar la relaciones entre los varios campos identificados por aplicación cliente de hoja de cálculo 4. Por ejemplo, como se muestra la Figura 4, los campos de hora, año, mes, y la fecha pueden ser previstos a partir uno del otro para indicar la jerarquía entre los varios campos. También se pueden proveer varios botones de la interfase usuario 36A-36F para permitir al usuario acomodar el orden y la jerarquía de los campos 34A-34N mostrados en la caja de lista 32. Por ejemplo, los botones de la interfase de usuario 36A-36D, permiten al usuario acomodar los varios campos hacia arriba, hacia abajo, a la derecha, a la izquierda, respectivamente. El botón de la interfase de usuario 36E puede ser utilizado para copiar uno de los campos 34A-34N y el botón de la interfase de usuario 36F puede ser utilizado para crear un nuevo campo de datos. Como también se muestra la Figura 4, uno de los campos identificados en la caja Lista 32 puede ser seleccionado a través un usuario y las propiedades del campo se pueden mostrar en la ventana de la interfase de usuario 30. Por ejemplo, como se muestra la Figura 4, el cambio 34N representa un código postal que ha sido seleccionado. Por consiguiente, el nombre del campo se despliega utilizando el texto 38. También se muestran el tipo de datos y agregación asignada al campo del código postal a través de la aplicación cliente de la hoja de cálculo 4. Un menú que se abre hacia abajo 40A puede ser provisto para cambiar las propiedades de los tipos de datos a partir de un número a una cadena, por ejemplo. Similarmente, un menú que se abre hacia abajo 40B puede ser provisto para permitir a un usuario cambiar el valor del campo de agregación de una suma a un número. Se deberá apreciar que otros tipos de operaciones de edición pueden ser permitidos a través del uso de la ventana de la interfase usuario 30 diferente de aquella ¡lustrada en la Figura 4 y descrita aquí. Cuando un usuario ha completado la edición, el botón 42 puede ser seleccionado para aceptar las modificaciones o el botón 44 puede ser seleccionado para cancelar los cambios. Cambiando ahora la Figura 5, se describirá una rutina ilustrativa 500 que describe la operación de la aplicación servidor de la hoja de cálculo 13 para recibir y responder las solicitudes para rangos de libro de trabajo como fuentes de datos. La rutina 500 empieza en la operación 502, en donde la aplicación servidor de la de cálculo 13 expone los varios rangos de los libros de trabajo contenidos dentro de depósito 14 como fuentes de datos de servidor. De acuerdo con una modalidad de la invención, las fuentes de datos se exponen a través de un administrador de la conexión de datos tal como la descrita en la solicitud de Patente de los Estados Unidos presentada concurrentemente intitulada "Método, Sistema y Aparato para Descubrir y Conectarse a las Fuentes de Datos", la cual expresamente se incorpora aquí por referencia. (Registro de abogado número 60001.0338US01 ). Alternativamente, las fuentes de datos contenidas dentro del libro trabajo almacenadas dentro de depósito 14 pueden ser expuestas utilizando otros tipos de inferíase de servidor de análisis, tal como una UDM. Una vez que la aplicación del servidor de la hoja de cálculo 13 ha expuesto las varias fuentes de datos, la aplicación cliente tal como la aplicación de cliente OLAP 8 o la aplicación cliente de la hoja de cálculo 4 pueden descubrir las fuentes y emitir las solicitudes para consultar las varias fuentes de datos. La rutina 500 continúa de la operación 502 a la operación 504, en donde la aplicación servidor de la hoja de cálculo 13 recibe una solicitud para conectarse a un libro de trabajo como una fuente de datos de servidor. Por ejemplo, en la operación 506, la aplicación servidor de la hoja de cálculo 13 puede recibir una consulta nativa contra un objeto de datos contenido dentro de un rango de un libro de trabajo. Por ejemplo, la aplicación cliente OLAP puede emitir una consulta OLAP nativa a la aplicación del servidor de la hoja de cálculo 13. Alternativamente, se pueden emitir otros tipos de consulta a la aplicación del servidor de la hoja de cálculo 13 tales como consultas ODB, ODBC, XML-A y SQL. Otros tipos de estándares para consultar una base de datos conocidos por aquellos con experiencia en la técnica también se pueden utilizar. En la operación 508, la aplicación del servidor de la hoja de cálculo 13 carga el libro de trabajo 6 conteniendo la fuente de los datos a la cual la consulta ha sido dirigida. Una vez que libro de trabajo 6 ha sido cargado por la aplicación servidor de la hoja de cálculo 13, la rutina 500 continúa a la operación 510, en donde la aplicación del servidor 13 de la hoja de cálculo determina si el libro de trabajo 6 incluye una referencia a otra fuente de datos. Por ejemplo, como se describió brevemente anteriormente, el libro de trabajo puede incluir una referencia a una fuente de datos tal como la fuente de datos 16. Si el libro trabajo 6 incluye una referencia a otra fuente de datos, Ja rutina 500 se desvía a la operación 512, en donde la aplicación del servidor de la hoja de cálculo 13 consulta la fuente de datos 16 para cualquier dato necesario para calcular el libro de trabajo 6. Una vez que estos datos son recibidos por la aplicación del servidor de la hoja de cálculo 13, el libro de trabajo 6 es actualizado con los datos recibidos. Si, en la operación 510, se determina que el libro de trabajo 6 no incluye una referencia a otra fuente de datos, la rutina 500 continúa a la operación que 514. En la operación 514, la aplicación servidor de la hoja de cálculo 13 recalcula el contenido de libro de trabajo 6. Se apreciará que el recálculo del contenido del libro de trabajo puede ser un "gran valor agregado". Un "gran valor agregado" habilita los cálculos de la hoja de cálculo en una fuente de datos de servidor. De la operación 514, la rutina 500 continúa a la operación 516, en donde la aplicación servidor de la hoja de cálculo 13 genera una representación de base de datos de libro de trabajo recalculado. En particular, una representación de la base datos temporal, tal como una base de datos relaciona! o cubo OLAP, se genera a través del aplicación servidor de la hoja de cálculo 13. La representación de la base de datos se genera temporalmente con el fin de llevar a cabo las consultas solicitadas sobre la fuente de datos identificada.
Una vez que la representación de la base de datos de libro de trabajo solicitado ha sido generada, la rutina 500 continúa a la operación 518, en donde la aplicación del servidor de la hoja de cálculo 13 lleva a cabo una consulta de la representación de la base de datos del libro de trabajo recalculado. En respuesta a la realización de la consulta, se genera un resultado de la búsqueda que satisface la consulta inicial recibida de la aplicación cliente. De la operación 518, la rutina 500 continúa a la operación 520, en donde la aplicación servidor de la hoja de cálculo 13 responde a la solicitud de la consulta original con el resultado de la búsqueda identificado. A partir de la operación 520, la rutina 500 continúa a la operación 522, en donde termina. Con base en lo anterior, se deberá apreciar que las varias modalidades de la invención incluyen un método, sistema, aparato, y medio legible por computadora para exponer y utilizar los rangos dentro de un libro de trabajo como fuentes de datos de servidor. La especificación anterior, los ejemplos y los datos proveen una descripción completa de la fabricación y uso de la composición de la invención. Ya que muchas modalidades de la invención pueden ser hechas sin apartarse del espíritu y alcance de la invención, la invención reside en las reivindicaciones anexas de aquí en adelante.

Claims (20)

REIVINDICACIONES
1. Un método para exponer el contenido de un libro de trabajo como una fuente de datos de servidor, el método comprende: recibir una consulta de la base de datos dirigida a un rango dentro de un libro trabajo; en respuesta a la consulta, recalcular el rango, generar una representación de la base de datos para el rango recalculado, llevar a cabo la consulta solicitada en la representación de la base de datos del rango recalculado para obtener un resultado de la búsqueda, y transmitir el resultado de la búsqueda como una respuesta a la consulta de la base datos.
2. El método de acuerdo con la reivindicación 1, que además comprende: determinar si el libro de trabajo contiene una referencia a una fuente de datos; en respuesta a la determinación de que el libro de trabajo contiene una referencia a una fuente de datos, recuperar de la fuente de datos los datos necesarios para calcular el libro de trabajo; y recalcular el rango utilizando los datos recuperados de la fuente de datos.
3. El método de acuerdo con la reivindicación 2, en donde la consulta de la base de datos es recibida a partir de una aplicación cliente OLAP.
4. Un medio legible por computadora que tiene instrucciones ejecutables por computadora almacenadas ahí las cuales, cuando se ejecutan a través de una computadora, hacen que la computadora lleve a cabo el método de la reivindicación 1.
5. Un aparato controlado por computadora capaz de llevar a cabo el método de la reivindicación 1.
6. Un método para exponer el contenido de un libro de trabajo como una fuente de datos de servidor, el método comprende: proveer una recurso para crear un libro de trabajo que tiene un rango almacenado ahí incluyendo uno o más objetos de datos; generar metadatos para el uno o más objetos de datos, dichos metadatos para uso través de una computadora servidor en respuesta a las solicitudes para uno o más objetos de datos como una fuente de datos de servidor; y publicar el libro de trabajo y los metadatos en la computadora servidor, mientras los objetos de datos son expuestos en la computadora servidor como fuentes de datos de servidor.
7. El método de acuerdo con la reivindicación 6, que comprende además: recibir una solicitud de un usuario para editar los metadatos para el uno o más objetos; y en respuesta a la solicitud para editar los metadatos, proveer un recurso para permitir a un usuario editar los metadatos.
8. Un medio legible por computadora que tiene instrucciones ejecutables por computadora almacenadas ahí las cuales, cuando se ejecutan a través de la computadora, hacen que la computadora lleve a cabo el método de la reivindicación 6.
9. Un aparato controlado por computadora capaz de llevar a cabo el método de la reivindicación 6.
10. Un método para exponer y utilizar un rango dentro de un libro de trabajo como una fuente de datos de servidor, el método comprende: crear un libro de trabajo que tiene un rango almacenado ahí incluyendo uno o más objetos de datos; generar metadatos para el uno o más objetos de datos, dichos metadatos para uso a través una computadora servidor en respuesta a las solicitudes para uno o más objetos de datos como una fuente de datos de servidor; publicar el libro de trabajo y los metadatos a la computadora servidor; exponer los objetos de los datos como fuentes de datos de servidor; recibir una consulta de la fuente de datos en la computadora servidor haciendo referencia a los datos contenidos dentro de uno de los objetos de datos; en respuesta a la solicitud de la consulta, cargar el libro de trabajo y calcular el libro de trabajo, incluyendo el cálculo el valor de los objetos de los datos; generar una representación de la base de datos de los objetos de datos utilizando los metadatos; llevar a cabo la consulta solicitada en la representación de la base de datos de los objetos de datos para crear un resultado de la búsqueda; y ¦ responder a la consulta con el resultado de la búsqueda.
11. El método de acuerdo con la reivindicación 10, que además comprende antes de calcular el libro de trabajo: determinar si el libro de trabajo contiene una referencia a una fuente de datos; en respuesta a la determinación de que el libro de trabajo contiene una referencia a la fuente datos, recuperar los datos de la fuente de datos necesarios para calcular el libro de trabajo; y calcular el libro de trabajo, incluyendo el cálculo del valor de los objetos de los datos en vista de los datos recuperados de la fuente de los datos.
12. Un medio legible por computadora que tiene instrucciones ejecutables por computadora almacenadas ahí las cuales, cuando se ejecutan a través de la computadora, hacen que la computadora lleve a cabo el método de la reivindicación 10.
13. Un aparato controlado por computadora capaz de llevar a cabo el método de la reivindicación 10.
14. Un sistema para exponer y utilizar un rango dentro de un libro de trabajo como una fuente de datos de servidor, el sistema comprende: una computadora cliente operativa para ejecutar un programa de aplicación de hoja de cálculo para crear un libro de trabajo que tiene uno o más rangos incluyendo uno o más objetos de datos, el programa de aplicación de hoja de cálculo además operativo para publicar el libro de trabajo en la computadora servidor; y una computadora servidor operativa para ejecutar un programa servidor para exponer los objetos de los datos contenidos en el libro de trabajo como fuentes de datos de servidor y para recibir y responder las solicitudes de búsqueda dirigidas a las fuentes de datos del servidor.
15. El sistema de acuerdo con la reivindicación 14, en donde el programa de aplicación de la hoja de cálculo además es operativo para generar y almacenar metadatos dentro del libro de trabajo para uno o más objetos de datos, dichos metadatos para uso través de la computadora servidor en respuesta a las solicitudes para uno o más objetos de datos como fuentes de datos de servidor.
16. El sistema de acuerdo con la reivindicación 15, en donde el programa de aplicación de la hoja de cálculo además es operativo para proveer un recurso para permitir al usuario editar los metadatos.
17. El sistema de acuerdo con la reivindicación 16, que además comprende una segunda computadora cliente operativa para ejecutar un programa de aplicación, para emitir consultas contra una fuente de datos de servidor, y en donde el programa del servidor además es operativo para recibir y responder a una consulta de la base de datos de la segunda computadora cliente a la fuente de datos de servidor.
18. El sistema de acuerdo con la reivindicación 17, en donde la respuesta a la consulta de la base de datos a partir de la segunda computadora cliente comprende: recalcular el libro de trabajo; generar una representación de la base de datos para el libro de trabajo recalculado; llevar a cabo la consulta solicitada en la representación de la base de datos del libro de trabajo recalculado para obtener un resultado de la búsqueda; y transmitir el resultado de la búsqueda a la segunda computadora cliente como una respuesta a la consulta de la base de datos.
19. El sistema de acuerdo con la reivindicación 18, en donde la respuesta a la consulta de la base de datos de la segunda computadora cliente además comprende; determinar si el libro de trabajo contiene una referencia a una fuente de datos; en respuesta a la determinación de que el libro de trabajo contiene una referencia a una fuente datos, recuperar de la fuente de datos los datos necesarios para calcular el libro de trabajo; y recalcular el libro de trabajo utilizando los datos recuperados de la fuente de datos.
20. El sistema de acuerdo con la reivindicación 19, en donde la aplicación que se ejecuta en la segunda computadora cliente comprende una aplicación cliente OLAP.
MXPA05005856A 2004-06-01 2005-06-01 Metodo, sistema y aparato para exponer rangos de libro de trabajo como fuentes de datos. MXPA05005856A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/858,175 US7664804B2 (en) 2004-06-01 2004-06-01 Method, system, and apparatus for exposing workbook ranges as data sources

Publications (1)

Publication Number Publication Date
MXPA05005856A true MXPA05005856A (es) 2005-12-05

Family

ID=35063258

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA05005856A MXPA05005856A (es) 2004-06-01 2005-06-01 Metodo, sistema y aparato para exponer rangos de libro de trabajo como fuentes de datos.

Country Status (20)

Country Link
US (1) US7664804B2 (es)
EP (1) EP1605367B1 (es)
JP (1) JP4907906B2 (es)
KR (1) KR101122947B1 (es)
CN (1) CN100547586C (es)
AU (1) AU2005202284B2 (es)
BR (1) BRPI0501959B1 (es)
CA (1) CA2508933C (es)
CO (1) CO5710208A1 (es)
EG (1) EG23841A (es)
HK (1) HK1085818A1 (es)
IL (1) IL168620A (es)
MX (1) MXPA05005856A (es)
MY (1) MY142330A (es)
NO (1) NO332884B1 (es)
NZ (1) NZ540421A (es)
RU (1) RU2406147C2 (es)
SG (1) SG117588A1 (es)
TW (1) TWI411928B (es)
ZA (1) ZA200504159B (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7226791B2 (en) * 2003-06-02 2007-06-05 Bristol-Myers Squibb Company Polynucleotides encoding novel guanylate binding proteins (GBP's)
US7664804B2 (en) 2004-06-01 2010-02-16 Microsoft Corporation Method, system, and apparatus for exposing workbook ranges as data sources
US7991804B2 (en) * 2004-07-30 2011-08-02 Microsoft Corporation Method, system, and apparatus for exposing workbooks as data sources
US8578399B2 (en) 2004-07-30 2013-11-05 Microsoft Corporation Method, system, and apparatus for providing access to workbook models through remote function cells
US7533139B2 (en) * 2004-09-27 2009-05-12 Microsoft Corporation Method and system for multithread processing of spreadsheet chain calculations
WO2006095365A2 (en) * 2005-03-11 2006-09-14 Suresh Sambandam A system and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface
US8050784B2 (en) * 2005-11-15 2011-11-01 Rockwell Automation Technologies, Inc. Integrated programmer reference for industrial control device data
US8032821B2 (en) 2006-05-08 2011-10-04 Microsoft Corporation Multi-thread spreadsheet processing with dependency levels
US7937426B2 (en) * 2006-06-30 2011-05-03 Mircosoft Corporation Interval generation for numeric data
US20080046861A1 (en) * 2006-08-15 2008-02-21 Grieser Maria A Method and interface for creating a workbook to implement a business process
US20080126395A1 (en) * 2006-11-28 2008-05-29 Ocyrhoe Technologies Ltd Automatically creating a relational database from a spreadsheet
US20080229184A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Private sheets in shared spreadsheets
US20080243763A1 (en) * 2007-03-27 2008-10-02 International Business Machines Corporation System, method and program to provide data to another program
US10133719B2 (en) * 2007-09-28 2018-11-20 Microsoft Technology Licensing, Llc Spreadsheet workbook part libraries
US20090089315A1 (en) * 2007-09-28 2009-04-02 Tractmanager, Inc. System and method for associating metadata with electronic documents
US8121975B2 (en) * 2008-02-20 2012-02-21 Panorama Software Inc. Creating pivot tables from tabular data
US8281233B2 (en) 2009-06-15 2012-10-02 Microsoft Corporation Architecture to expose internal business data on a website
US8458186B2 (en) * 2009-11-06 2013-06-04 Symantec Corporation Systems and methods for processing and managing object-related data for use by a plurality of applications
US20110161796A1 (en) * 2009-12-31 2011-06-30 Edward Charles Laikin FormDB: a process to create a forms database in Excel without user programming
US20110225579A1 (en) * 2010-03-12 2011-09-15 Nikhil Khandelwal Configurable software deployment
US9952893B2 (en) 2010-11-03 2018-04-24 Microsoft Technology Licensing, Llc Spreadsheet model for distributed computations
US10140352B2 (en) * 2014-07-17 2018-11-27 Oracle International Corporation Interfacing with a relational database for multi-dimensional analysis via a spreadsheet application
CN109815235B (zh) * 2018-12-29 2021-10-15 东软集团股份有限公司 生成数据源的方法、装置、存储介质及电子设备
US11886916B2 (en) 2020-06-30 2024-01-30 Microsoft Technology Licensing, Llc System for adaptive multithreaded recalculation operations

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993026118A1 (en) 1992-06-16 1993-12-23 Sansung Electronics Co., Ltd. A backward compatible hdtv recording/reproducing system
US5437006A (en) 1993-01-27 1995-07-25 Microsoft Corporation Spreadsheet command/function capability from a dynamic-link library
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5893123A (en) 1995-06-22 1999-04-06 Tuinenga; Paul W. System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet
US6157934A (en) 1995-10-24 2000-12-05 Ultimus, L.L.C. Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation
US5890174A (en) 1995-11-16 1999-03-30 Microsoft Corporation Method and system for constructing a formula in a spreadsheet
US6055548A (en) 1996-06-03 2000-04-25 Microsoft Corporation Computerized spreadsheet with auto-calculator
US5937406A (en) 1997-01-31 1999-08-10 Informix Software, Inc. File system interface to a database
US5933818A (en) 1997-06-02 1999-08-03 Electronic Data Systems Corporation Autonomous knowledge discovery system and method
US6282548B1 (en) 1997-06-21 2001-08-28 Alexa Internet Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata
US6012057A (en) * 1997-07-30 2000-01-04 Quarterdeck Corporation High speed data searching for information in a computer system
US6094651A (en) 1997-08-22 2000-07-25 International Business Machines Corporation Discovery-driven exploration of OLAP data cubes
US5974416A (en) 1997-11-10 1999-10-26 Microsoft Corporation Method of creating a tabular data stream for sending rows of data between client and server
JP2000067143A (ja) * 1998-08-26 2000-03-03 Toshiba Corp データベースシステム
US6269377B1 (en) 1998-09-21 2001-07-31 Microsoft Corporation System and method for managing locations of software components via a source list
US6430585B1 (en) * 1998-09-21 2002-08-06 Rn2R, L.L.C. Noise tolerant conductance-based logic gate and methods of operation and manufacturing thereof
US6317750B1 (en) 1998-10-26 2001-11-13 Hyperion Solutions Corporation Method and apparatus for accessing multidimensional data
US6640234B1 (en) 1998-12-31 2003-10-28 Microsoft Corporation Extension of formulas and formatting in an electronic spreadsheet
US7032030B1 (en) 1999-03-11 2006-04-18 John David Codignotto Message publishing system and method
US6532458B1 (en) 1999-03-15 2003-03-11 Microsoft Corporation Sampling for database systems
US6549907B1 (en) 1999-04-22 2003-04-15 Microsoft Corporation Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions
US6789194B1 (en) 1999-05-25 2004-09-07 Silverbrook Research Pty Ltd Network publishing authorization protocol
US6411313B1 (en) * 1999-06-14 2002-06-25 Microsoft Corporation User interface for creating a spreadsheet pivottable
US6701485B1 (en) 1999-06-15 2004-03-02 Microsoft Corporation Binding spreadsheet cells to objects
US6446059B1 (en) 1999-06-22 2002-09-03 Microsoft Corporation Record for a multidimensional database with flexible paths
US6477536B1 (en) 1999-06-22 2002-11-05 Microsoft Corporation Virtual cubes
US6456999B1 (en) 1999-06-22 2002-09-24 Microsoft Corporation Aggregations size estimation in database services
US6631497B1 (en) 1999-07-19 2003-10-07 International Business Machines Corporation Binding data from data source to cells in a spreadsheet
US6920443B1 (en) 1999-09-21 2005-07-19 International Business Machines, Corporation Method, system, program, and data structure for transforming database tables
US6473750B1 (en) 1999-10-15 2002-10-29 Microsoft Corporation Adaptive query execution in a distributed database system
US6898603B1 (en) * 1999-10-15 2005-05-24 Microsoft Corporation Multi-dimensional data structure caching
US6493718B1 (en) 1999-10-15 2002-12-10 Microsoft Corporation Adaptive database caching and data retrieval mechanism
US7185279B2 (en) 2000-01-07 2007-02-27 Master Mine Software, Inc. Data mining and reporting
US20020010743A1 (en) 2000-02-11 2002-01-24 Ryan Mark H. Method and system for distributing and collecting spreadsheet information
GB0011426D0 (en) * 2000-05-11 2000-06-28 Charteris Limited A method for transforming documents written in different XML-based languages
US6632249B2 (en) 2000-06-23 2003-10-14 Microsoft Corporation Method for providing web-based services to an application program module
EP1323066B1 (en) * 2000-07-13 2007-09-12 Oracle International Corporation Performing spreadsheet-like calculations in a database system
US6944662B2 (en) 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US7082569B2 (en) * 2001-01-17 2006-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US6684206B2 (en) 2001-05-18 2004-01-27 Hewlett-Packard Development Company, L.P. OLAP-based web access analysis method and system
US20020188629A1 (en) 2001-05-21 2002-12-12 Burfoot Daniel C. System, protocol, and methods for the creation of distributed spreadsheets
US7761403B2 (en) * 2001-06-20 2010-07-20 Oracle International Corporation Run-time optimizations of queries with SQL spreadsheet
US7177855B2 (en) * 2001-06-20 2007-02-13 Oracle International Corporation Compile-time optimizations of queries with SQL spreadsheet
US7251776B2 (en) 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
US20030195762A1 (en) 2002-04-12 2003-10-16 David Gleason Automated workflow
JP3868331B2 (ja) * 2002-05-20 2007-01-17 株式会社読売新聞東京本社 データベース登録装置および方法
US7266763B2 (en) 2002-11-26 2007-09-04 Microsoft Corporation User defined spreadsheet functions
US20040103365A1 (en) 2002-11-27 2004-05-27 Alan Cox System, method, and computer program product for an integrated spreadsheet and database
US7530012B2 (en) 2003-05-22 2009-05-05 International Business Machines Corporation Incorporation of spreadsheet formulas of multi-dimensional cube data into a multi-dimensional cube
US7299223B2 (en) * 2003-07-16 2007-11-20 Oracle International Corporation Spreadsheet to SQL translation
US7233956B2 (en) * 2003-08-12 2007-06-19 International Business Machines Corporation Method and apparatus for data migration between databases
US7240052B2 (en) * 2003-09-09 2007-07-03 Iac Search & Media, Inc. Refinement of a search query based on information stored on a local storage medium
US7664804B2 (en) 2004-06-01 2010-02-16 Microsoft Corporation Method, system, and apparatus for exposing workbook ranges as data sources
US8578399B2 (en) 2004-07-30 2013-11-05 Microsoft Corporation Method, system, and apparatus for providing access to workbook models through remote function cells
US7991804B2 (en) 2004-07-30 2011-08-02 Microsoft Corporation Method, system, and apparatus for exposing workbooks as data sources
US20060069617A1 (en) 2004-09-27 2006-03-30 Scott Milener Method and apparatus for prefetching electronic data for enhanced browsing
US7712049B2 (en) 2004-09-30 2010-05-04 Microsoft Corporation Two-dimensional radial user interface for computer software applications
US20060112123A1 (en) * 2004-11-24 2006-05-25 Macnica, Inc. Spreadsheet user-interfaced business data visualization and publishing system

Also Published As

Publication number Publication date
NO20052613D0 (no) 2005-05-31
AU2005202284B2 (en) 2011-01-27
TWI411928B (zh) 2013-10-11
MY142330A (en) 2010-11-15
JP4907906B2 (ja) 2012-04-04
EP1605367B1 (en) 2016-11-02
EP1605367A3 (en) 2006-07-26
NZ540421A (en) 2006-11-30
CN100547586C (zh) 2009-10-07
CA2508933C (en) 2015-10-06
EP1605367A2 (en) 2005-12-14
CN1758247A (zh) 2006-04-12
AU2005202284A1 (en) 2005-12-15
US7664804B2 (en) 2010-02-16
NO20052613L (no) 2005-12-02
RU2005116632A (ru) 2006-11-20
RU2406147C2 (ru) 2010-12-10
HK1085818A1 (zh) 2006-09-01
TW200604862A (en) 2006-02-01
NO332884B1 (no) 2013-01-28
IL168620A (en) 2010-11-30
KR20060046285A (ko) 2006-05-17
BRPI0501959A (pt) 2006-01-24
CO5710208A1 (es) 2006-12-29
EG23841A (en) 2007-10-16
JP2006004418A (ja) 2006-01-05
KR101122947B1 (ko) 2012-03-22
CA2508933A1 (en) 2005-12-01
US20050267853A1 (en) 2005-12-01
SG117588A1 (en) 2005-12-29
ZA200504159B (en) 2006-08-30
BRPI0501959B1 (pt) 2017-10-10

Similar Documents

Publication Publication Date Title
CA2508933C (en) Method, system, and apparatus for exposing workbook ranges as data sources
EP1622045B1 (en) Method, system, and apparatus for making available workbooks as data sources
EP2248035B1 (en) Multi-client collaboration to access and update structured data elements
AU2005202285B2 (en) Method, system, and apparatus for providing access to workbook models through remote function calls
US20140317563A1 (en) Generate field mapping
US20200065313A1 (en) Extensible content object metadata
CN109033113B (zh) 数据仓库和数据集市的管理方法及装置
US11556702B2 (en) Orchestration of crud operations for a hierarchical web service data model in a spreadsheet
US20170315784A1 (en) Generating applications based on data definition language (ddl) query view and application page template
US20240037325A1 (en) Ability to add non-direct ancestor columns in child spreadsheets
US10445299B2 (en) Optimizing memory by sharing datasets between workspaces
US12045562B1 (en) Dynamically generating shared spreadsheets according to user references in spreadsheet data
KR20070028981A (ko) 파일 객체 기술을 적용한 지식확장형 웹문서발행시스템

Legal Events

Date Code Title Description
FG Grant or registration