DE69425684T2 - System und Verfahren zur Verwaltung elektronischer Modellierungssysteme - Google Patents
System und Verfahren zur Verwaltung elektronischer ModellierungssystemeInfo
- Publication number
- DE69425684T2 DE69425684T2 DE69425684T DE69425684T DE69425684T2 DE 69425684 T2 DE69425684 T2 DE 69425684T2 DE 69425684 T DE69425684 T DE 69425684T DE 69425684 T DE69425684 T DE 69425684T DE 69425684 T2 DE69425684 T2 DE 69425684T2
- Authority
- DE
- Germany
- Prior art keywords
- locations
- information
- cells
- changed
- new version
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 55
- 230000008859 change Effects 0.000 claims description 65
- 238000013499 data model Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims 1
- 230000008569 process Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 9
- 238000003825 pressing Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 235000013361 beverage Nutrition 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/197—Version control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0489—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- Die Patentschrift beschreibt auch Gegenstände, die durch das Urheberrecht geschützt. Der Inhaber des Urheberrechts stellt den Abdruck der Patentschrift und der Patentbeschreibung jedermann frei, soweit auch in der Akte des Patentamts enthalten. Ansonsten werden alle Urheberrechte vorbehalten.
- Die Erfindung betrifft allgemein das Gebiet der Verarbeitung mit digitalen Computern und ist insbesondere anwendbar auf die Verarbeitung und Darstellung von Information im Zusammenhang mit der Mensch-Maschine-Schnittstelle elektronischer Modellbildungssysteme.
- Auf dem Gebiet der Prozessregelung gibt es zahlreiche Prozesse, beispielsweise industrielle Prozesse oder die Berechnung von Tabellen, bei denen Abläufe innerhalb des Prozesses und vom Prozess erzeugte Vorgänge durch ein Modell definiert werden. Das Modell kann das Zusammenspiel zahlreicher aufeinander bezogener Untermodelle oder Formeln umfassen, die auch von Eingabewerten abhängen können, die beispielsweise ein Benutzer zuführt. Die Ausgaben des Systems können ein Regelsignal zum Einsatz in der Prozessregelung sein, oder es kann sich einfach um eine Darstellung des momentanen Modellzustands handeln. In solchen komplizierten Situationen kann das Endergebnis unerwünscht sein, und zwar auch für sonst annehmbare Eingabewerte. Man kann damit eine Benutzerschnittstelle bereitstellen, mit der man verschiedene Prozessvorgänge mit "Was-wäre-wenn"-Szenarien untersuchen kann. Ein bekanntes Beispiel hierfür ist die Tabellenkalkulation. Daher werden in derfolgenden Beschreibung hauptsächlich Tabellenkalkulationen als Beispiele für modellierte Prozesse verwendet, wobei für die eingesetzte Mensch-Maschine- Schnittstelle Entwurfsanstrengungen nötig sind, damit eine wirksame Maschinennutzung bzw. Prozessregelung erfolgt.
- Vor dem Computerzeitalter erfolgten nummerische Untersuchungen, insbesondere aus dem Bereich der Finanzen, auf dem Spaltenschreibblock oder der Tabelle eines Buchhalters, und zwar von Hand mit Bleistift und Rechenmaschine. Durch das Anordnen von Daten in Zeilen und Spalten erreicht man mit der Tabelle die rasche Angleichung von Information. Der Vorgang ist jedoch meist sehr langsam; man muss jeden Eintrag mühsam errechnen und in die Tabelle einfügen. Da für alle Berechnungen der Ersteller der Tabelle verantwortlich ist, sind von Hand erstellte Tabellen häufig fehlerhaft. Das Tabellenerstellen von Hand ist also langsam, mühselig und unzuverlässig.
- Mit dem Erscheinen der Mikrocomputer bot sich eine Lösung in Form der "elektronischen Tabellenkalkulation". Diese Programme, die einfach als "Tabellenkalkulation" besser bekannt sind, bieten eine computergestützte Alternative zu herkömmlichen Finanz-Modellbildungswerkzeugen: dem Spaltenschreibblock des Buchhalters, Bleistift und Rechenmaschine. In gewisser Hinsicht verhalten sich Tabellenkalkulationsprogramme zu diesen Werkzeugen wie Textverarbeitungssysteme zu Schreibmaschinen. Die Tabellenkalkulation bietet wesentliche Verbesserungen beim Erzeugen, Verändern und Einsetzen von Modellen.
- Ein übliches Tabellenkalkulationsprogramm konfiguriert den Speicher eines Computers derart, dass er der Zeilen- und Spalten- bzw. Gitteranordnung eines Buchhalter-Spaltenschreibblocks gleicht und damit dem Benutzer eine sichtbare Rechenmaschine zur Verfügung stellt. Da dieser "Schreibblock" dynamisch im Speicher des Computers vorhanden ist, unterscheidet er sich jedoch von Papierschreibblöcken in mehreren wichtigen Dingen. Orte in der elektronischen Tabelle muss man dem Computer beispielsweise in einem Format mitteilen, das für ihn verständlich ist. Ein normales Schema hierfür ist das Zuweisen einer Zahl an jede Zeile und eines Buchstabens an jede Spalte in einer Tabelle. Zum Ansprechen eines Orts in der Spalte A und Zeile 1 (d. h. in der linken oberen Ecke) drückt der Benutzer beispielsweise "A1". Auf diese Weise definiert die Tabellenkalkulation einen adressierbaren Speicherplatz bzw. eine "Zelle" an jedem Schnittpunkt einer Zeile mit einer Spalte.
- Die Dateneingabe in eine elektronische Tabellenkalkulation geschieht wie folgt. Nach dem Positionieren eines Bildschirmcursors an einem gewünschten Ort kann der Benutzer alphanumerische Information eingeben. Neben dem Speichern von Text und Zahleninformation können Tabellenkalkulationszellen jedoch auch Sonderanweisungen oder "Formeln" speichern, die Berechnungen festlegen, die mit den Zahlen auszuführen sind, die in den Tabellenkalkulationszellen gespeichert sind. Auf diese Weise können Zellenbezüge als Variablen in einer Gleichung dienen; sie erlauben es damit, exakte mathematische Zusammenhänge zwischen Zellen zu definieren. Der Aufbau und die Wirkungsweise eines Tabellenkalkulationsprogramms einschließlich der höheren Leistungsmerkmale wie Funktionen und Macros sind in der technisch-kommerziellen Literatur und im Patentschrifttum dokumentiert. Einen Überblick kann man sich in Cobb, S., Using Quattro Pro 2, Borland-Osborne/McGraw Hill, 1990, und Leßlond, G. und Cobb, D., Using 1-2-3, Qua Corp., 1985, verschaffen.
- Die elektronische Tabellenkalkulation bietet verglichen mit ihrem Gegenstück auf dem Papier zahlreiche Vorteile. Zum einen sind elektronische Tabellen wesentlich umfangreicher (d. h., sie speichern mehr Information) als ihre Gegenstücke auf dem Papier; dass elektronische Tabellen Tausende oder sogar Millionen von Zellen enthalten, ist nicht ungewöhnlich. Tabellenkalkulationsprogramme ermöglichen es dem Benutzer auch, "Was-wäre-wenn"-Szenarios durchzuspielen. Nach der Eingabe eines Satzes rechnerischer Zusammenhänge in ein Arbeitsblatt kann die Informationsmenge mit unterschiedlichen Voraussetzungsblöcken neu berechnet werden. Dabei erscheinen die Ergebnisse einer Neuberechnung nahezu sofort. Das Ausführen dieses Vorgangs von Hand mit Papier und Bleistift würde das erneute Berechnen eines jeden Zusammenhangs im Modell bei jeder vorgenommenen Änderung erfordern. Elektronische Tabellenkalkulationssysteme wurden also erfunden, um "Was-wäre-wenn"-Probleme zu lösen, d. h., eine Eingangsgröße zu verändern und die Auswirkungen zu beobachten.
- Bei jüngeren Implementierungen dieser Systeme sind "Auflöser" und "Optimierer" hinzugekommen. Dies fügt eine Zielsuchfunktionalität hinzu, mit der der Benutzer den "Waswäre-wenn"-Vorgang umkehren kann. Er kann nämlich den gewünschten Ausgabewert vorgeben, und das System bestimmt den geeigneten Eingabewert bzw. die Eingabewerte. In einer üblichen Umsetzung kann der Benutzer einen Sollwert in einer Zelle einstellen und dann sowohl mehrere Eingabevariable als auch mehrere Bedingungszellen festlegen. Der Optimierer findet alle Kombinationen der Eingabevariablen, die den Soll- Ausgabewert liefern, ohne die Nebenbedingungen zu verletzen. In der Regel zielt der Benutzer aber nicht auf einen besonderen Sollwert ab, sondern er setzt einen solchen Optimierer dafür ein, den Wert einer Ausgabezelle so klein oder so groß wie möglich zu machen.
- Derartige Rückwärts-Auflöser und Optimierer bilden einen guten Einstieg zum Verbessern eines "Was-wäre-wenn"-Ablaufs. Derzeit sind die elektronischen Tabellenkalkulationssysteme jedoch noch nicht besonders dafür eingerichtet, eine Vielzahl "Was-wäre-wenn"-Szenarios zu verwalten, d. h. zahlreiche Veränderungen, die sich von einem Einzelmodell ableiten. Da ein gegebenes Tabellenkalkulationsmodell routinemäßig mit einem Satz Annahmen erzeugt wird (z. B. Verkaufszahlen, Unternehmensbesteuerung usw.), wünscht man, die Extremwerte seiner Annahmen zu untersuchen, um die wahrscheinlichsten Ergebnisse zu ermitteln. Benutzer benötigen normalerweise auch Untersuchungen des bestmöglichen bzw. schlechtestmöglichen Falls. Derzeit verfügbare Systeme stellen jedoch wenig oder gar keine Werkzeuge zum Erzeugen und Verwalten derart zahlreicher Szenarios bereit. Der Benutzer muss zum manuellen Erzeugen eigener Kopien des zugrunde liegenden Modells Zuflucht nehmen, und der Benutzer ist selbst für das Verfolgen sämtlicher Abwandlungen verantwortlich, die bei den verschiedenen Kopien erfolgt sind. Da dieses Vorgehen bestenfalls unangenehm ist, besteht ein großer Bedarf an besseren Lösungen.
- Gemäß einem Merkmal der Erfindung wird ein System bereitgestellt, das automatisch verschiedene Versionen eines Datenmodells in einem elektronischen Modellbildungssystem verfolgt, mit dem man Information als Datenmodell modellieren kann, wobei das System elektronische Vorrichtungen umfasst, die zum Speichern eines Modells in Form einer Anzahl miteinander verknüpfter Informationsorte angeordnet sind, gekennzeichnet durch:
- Vorrichtungen für das System, das die Änderungen verfolgt, mit denen man eine Grundmenge der Informationsorte festlegen kann, die als Grundlage für das Datenmodell dient;
- Vorrichtungen, mit denen man eine neue Version des Datenmodells anlegen kann, indem man den Inhalt mindestens eines der Informationsorte in der Grundmenge verändert; und
- eine Vergleichsvorrichtung, die erkennt, welche Informationsorte sich in der neuen Version gegenüber der Grundmenge geändert haben, indem sie die Inhalte der Orte in der neuen Version mit den entsprechenden Inhalten in der Grundmenge vergleicht.
- Gemäß einem zweiten Merkmal der Erfindung wird ein Verfahren zum automatischen Verfolgen unterschiedlicher Versionen eines Datenmodells in einem elektronischen Modellbildungssystem bereitgestellt, mit dem man in ein Datenmodell eingegebene Information modellieren kann, wobei das Datenmodell eine Anzahl Informationsorte enthält, deren Wechselbeziehungen man mit dem Modellsystem definieren kann, gekennzeichnet durch:
- a) das Festlegen einer Grundmenge an Informationsorten, die als Grundlage des Modells dienen, für das System, das die Änderungen verfolgt;
- b) das Erzeugen einer neuen Version des Datenmodells durch das Abwandeln des Inhalts mindestens eines Informationsorts aus der festgelegten Grundmenge; und
- c) das automatische Erkennen derjenigen Orte des Datenmodells, die sich verändert haben, durch den Inhaltsvergleich der Orte in der neuen Version mit den entsprechenden Orten in der Grundmenge.
- Gemäß einer Ausführungsform des zweiten Merkmals der Erfindung wird ein Verfahren bereitgestellt, wobei der Schritt a) zudem umfasst:
- das Beibehalten der Grundmenge als geordnete Information auf einer Speichervorrichtung; und der Schritt b) zudem umfasst:
- für jede neue Version des Tabellenkalkulationsmodells:
- i) das Bestimmen der Teile der neuen Version, die sich verglichen mit der Grundmenge geändert haben, und
- ii) das Aufbewahren der neuen Version durch das Speichern zusätzlicher Information nur für diejenigen Teile, die als geändert erkannt wurden.
- Gemäß einer Ausführungsform der Erfindung wird ein elektronisches Tabellenkalkulationssystem bereitgestellt, das eine bevorzugte Schnittstelle aufweist und Verfahren zum Erzeugen und Verfolgen zahlreicher Versionen oder "Szenarios" eines Datenmodells. Das System enthält Werkzeuge zum Festlegen eines "Fangbereichs", d. h. eines besonderen Satzes von Informationszellen, die zu verfolgen sind, und ein Szenario- Kennzeichnungswerkzeug, das automatisch Veränderungen beim Übergang von einem eingefangenen Ausgangs- oder Basismodell zu einem neuen Szenario erkennt. Es können Bildschirm- Rückmeldetechniken bereitgestellt werden, die "veränderte Zellen" und "Ergebniszellen" hervorheben, die das System erkannt hat.
- In einem Beispiel für ein Verfahren gemäß diesem Merkmal der Erfindung legt der Benutzer zuerst einen Fangbereich fest (beispielsweise einen Ordner, eine Seite oder einen Block) und einen Ausgangszustand (d. h. den Grund- oder Standardfall, der als Bezug dient). Der Benutzer fährt nun damit fort, das Arbeitsblatt zu verändern, beispielsweise eine der verschiedenen Annahmen (z. B. den Steuersatz) abzuwandeln, die zum Erzeugen des Modells verwendet wurden. Nach Abschluss der vom Benutzer bezeichneten Änderungen findet das System sämtliche Unterschiede in Nicht-Formel-Zellen verglichen mit entsprechenden Zellen im Ausgangsmodell. Diese Zellen heißen "Veränderungszellen". Weiterhin erkennt das System sämtliche Formelzellen, die durch die Änderungen in den veränderten Zellen einen unterschiedlichen Wert liefern. Diese Zellen, die direkt oder indirekt von einer oder mehreren Veränderungszellen abhängen können, sind "Ergebniszellen". Nach dem Erfassen dieser veränderten Ergebniszellen kann sie das System dem Benutzer anschaulich darstellen (z. B. durch farbige Hervorhebung usw.).
- Der Benutzer kann damit fortfahren, eine Anzahl derartiger Szenarios zu erzeugen, indem er einfach den beschriebenen Vorgang wiederholt. Der Benutzer gibt normalerweise jedem derart hinzugefügten Szenario einen beschreibenden Namen. Zur Vereinfachung bietet das System dem Benutzer die Möglichkeit, verschiedene Gruppen von Szenarios zu erzeugen. Jeder Gruppe kann der Benutzer - wie bei jedem Szenario - einen einprägsamen Beschreibungsnamen geben. Einzelne Szenarios können auf Wunsch einer oder mehreren Gruppen zugefügt oder aus ihnen gelöscht werden. Nach dem Erzeugen gewünschter Szenarios kann der Benutzer das System anweisen, diese neuen Versionen zusammen mit dem Ausgangsmodell auf einer Speichervorrichtung zu speichern. In einer bevorzugten Ausführungsform werden die neuen Versionen zusammen mit dem Grundmodell gespeichert, wobei redundante Information zwischen dem Grundmodell und einer besonderen Version nicht dupliziert wird. Ein bevorzugtes Verfahren der Erfindung zur "Versionsbildung" (d. h. dem Verfolgen und Speichern verschiedener Versionen eines Grundmodells) verwendet Differenz- oder Deltaaufzeichnungen zum Speichern der verschiedenen Änderungen, die bei jeder neuen Version auftreten.
- Die Erfindung wird nunmehr zur besseren Darstellung und um zu zeigen, wie sie ausgeführt werden kann, beispielhaft mit Bezug auf die anliegenden Zeichnungen beschrieben. Es zeigt:
- Fig. 1A ein Blockdiagramm eines Computersystems, auf dem die Erfindung umgesetzt werden kann;
- Fig. 1B ein Blockdiagramm eines Programmsystems einer Ausführungsform, die ein Betriebssystem, Anwendungsprogramme und Benutzerschnittstellenkomponenten enthält;
- Fig. 1C eine Bildschirmkopie mit der grundlegenden Architektur und Funktionalität einer grafischen Benutzeroberfläche, in der man die Erfindung ausführen kann;
- Fig. 2A eine Bildschirmkopie einer Tabellenkalkulations- Ordnerschnittstelle, die in einer bevorzugten Ausführungsform verwendet wird;
- Fig. 2B eine Bitmap einer Werkzeugleisten-Komponente der Schnittstelle in Fig. 2A;
- Fig. 2C-D Bitmaps, die Seitenkennzeichner für den raschen Zugriff auf einzelne Seiten und deren Veränderung in der Ordnerschnittstelle von Fig. 2A darstellen;
- Fig. 3A eine Bildschirmkopie, die eine Szenarioverwaltungs-Schnittstelle abbildet;
- Fig. 3B eine Bitmap einer Werkzeugleisten-Komponente der Schnittstelle in Fig. 3A;
- Fig. 4A-D Bildschirmkopien, die das Erzeugen anderer Versionen oder Szenarios des Tabellenkalkulationsmodells in Fig. 3A erläutern;
- Fig. 4E eine Bildschirmkopie eines Szenario-Abschlussberichts, den das System in Fig. 1B liefert;
- Fig. 4F eine Bildschirmkopie einer Version von Fig. 4D, bei der die Zellenhervorhebung ausgewählt abgeschaltet ist;
- Fig. 5A ein Flussdiagramm für Szenarioverwaltungsverfahren; und
- Fig. 5B ein Blockdiagramm, das ein bevorzugtes Verfahren zum Beibehalten (Verfolgen und Speichern) von Zelleninformation für neue Versionen oder Szenarios darstellt.
- Eine bevorzugte Ausführungsform der Erfindung, siehe Fig. 1A, kann auf einem Computersystem ausgeführt werden, beispielsweise dem System 100, das eine Zentraleinheit 101, einen Hauptspeicher 102, einen Eingabe/Ausgabe-Controller 103, eine Tastatur 104, eine Zeigevorrichtung 105 (z. B. eine Maus, eine Rollkugel, einen Zeigestift usw.), eine Darstellungsvorrichtung 106 und einen Massenspeicher 107 (z. B. eine Festplatte) umfasst. Auf Wunsch kann man zusätzliche Ein/Ausgabegeräte, z. B. eine Druckervorrichtung 108, in das System 100 aufnehmen. Die verschiedenen Komponenten des Systems 100 kommunizieren wie dargestellt über ein Bussystem 110 oder eine ähnliche Architektur. In einer bevorzugten Ausführungsform enthält das Computersystem 100 einen IBMkompatiblen Personalcomputer, der bei mehreren Firmen erhältlich ist (einschließlich IBM in Armonk, NY).
- Es ist ein Computerprogrammsystem 150 bereitgestellt, siehe Fig. 1B, das den Betrieb des Computersystems 100 steuert. Das Programmsystem 150, das im Systemspeicher 102 und auf dem Plattenspeicher 107 gespeichert ist, enthält einen Kern oder ein Betriebssystem 151 und eine Shell bzw. Schnittstelle oder Oberfläche 153. Man kann eines oder mehrere Anwendungsprogramme, beispielsweise das Anwendungsprogramm 152, "laden" (d. h. vom Speicher 107 in den Speicher 102 übertragen), damit es vom System 100 ausgeführt wird. Das System 100 empfängt Befehle des Benutzers und Daten über die Benutzerschnittstelle 153. Diese Eingaben verarbeitet das System 100 gemäß den Anweisungen aus dem Betriebsmodul 151 und/oder Anwendungsmodul 152. Die Schnittstelle 153, die bevorzugt eine grafische Benutzeroberfläche (GUI, GUI = Graphical User Interface) ist, dient auch zum Darstellen von Ergebnissen. Daraufhin kann der Benutzer zusätzliche Eingabewerte zuführen oder die Sitzung beenden. In einer bevorzugten Ausführungsform ist das Betriebssystem 151 MS-DOS, und die Schnittstelle 153 ist Microsoft Windows; beide erhältlich von der Microsoft Corporation in Redmond, Washington. Das Anwendungsmodul 152 dagegen umfasst ein Tabellenkalkulationsordner der Ausführungsform (im Weiteren ausführlich beschrieben).
- Die folgende Beschreibung befasst sich hauptsächlich mit den derzeit bevorzugten Ausführungsformen der Erfindung, die in Tabellenkalkulationsanwendungen ausgeführt sind, die in der Microsoft-Windows-Umgebung laufen. Die Erfindung ist jedoch nicht auf irgendeine besondere Anwendung oder irgendeine besondere Umgebung eingeschränkt. Fachleuten ist klar, dass man das System und die Verfahren der Erfindung vorteilhaft bei zahlreichen System- und Anwendungsprogrammen einsetzen kann; genannt seien Mensch-Maschine-Schnittstellen in zahlreichen Gebieten einschließlich Datenbank-Verwaltungssystemen, Textverarbeitungen usw. Zudem kann man die Erfindung auf zahlreichen verschiedenen Plattformen umsetzen, beispielsweise Macintosh, UNIX, NextStep usw. Die folgende Beschreibung beispielhafter Ausführungsformen dient der Erläuterung und schränkt den Bereich der Erfindung nicht ein.
- Das System 100, siehe Fig. 1C, enthält eine Fensterschnittstelle bzw. einen Arbeitsbereich 160. Das Fenster 160 ist eine rechteckige, grafische Benutzeroberfläche (GUI), die auf dem Bildschirm 106 dargestellt ist. Zusätzliche Fensterelemente können in verschiedenen Größen und Formaten (z. B. hintereinander oder gruppiert) wie gewünscht dargestellt werden. Oben im Fenster 160 befindet sich eine Menüleiste 170, aus der man eine Anzahl Benutzerkommandos wählen kann. Jeder Befehl kann zusätzliche Untermenüs und Programmwerkzeuge zum Gebrauch mit den Anwendungsobjekten aufrufen. Das Fenster 160 enthält einen Anwenderbereich 180 zum Darstellen und Verändern der Bildschirmobjekte, beispielsweise des grafischen Objekts 181 und des Textobjekts 182. Im Wesentlichen ist der Anwenderbereich ein Arbeitsbereich oder Sichtfenster, in dem der Benutzer mit den Datenobjekten interagieren kann, die sich im Computersystem 100 befinden.
- Die Fensterschnittstelle 160 enthält einen Bildschirmcursor oder eine Zeigemarke 185, mit der man interessierende Bildschirmobjekte auswählen oder sonstwie aufrufen kann. Abhängig von den Benutzerbewegungssignalen aus der Zeigeeinrichtung 105, schwebt der Cursor 185 (d. h. er bewegt sich ungehindert) über den Bildschirm 106 an einen gewünschten Bildschirmort. Während oder nach der Cursorbewegung kann der Benutzer Benutzerereignissignale erzeugen (z. B. Maustasten- "Klicks" und "Drags" (das Ziehen von Objekten)) und damit auf bekannte Weise Objekte auswählen und verändern. Das Fenster 160 kann män beispielsweise schließen, in der Größe verändern oder Rollen, indem man die Bildschirmkomponenten 172, 174/5 bzw. 177/8 "anklickt" (auswählt).
- In einer bevorzugten Ausführungsform wird der Bildschirmcursor 185 mit einer Mausvorrichtung gesteuert. Einzeltasten-, Doppeltasten- und Dreitasten-Mausvorrichtungen sind von einer Anzahl Firmen erhältlich, beispielsweise von Apple Computer in Cupertino, CA, Microsoft Corporation in Redmont, WA und Logitech Corporation in Freemont, CA. Die Bildschirmcursor- Steuervorrichtung 105 ist besonders bevorzugt eine Doppeltasten-Mausvorrichtung mit einer linken und einer rechten "Maustaste".
- Programmiertechniken und Betriebsweisen für Mausvorrichtungen sind in der Programmier- und Hardwareliteratur gut dokumentiert, siehe z. B. Microsoft Mouse Programrner's Reference, Microsoft Press, 1989. Der allgemeine Aufbau und die Wirkungsweise eines ereignisgesteuerten GUI-Systems, beispielsweise Windows, ist ebenfalls bekannt; siehe z. B. Petzold, C., Programming Windows, Second Edition, Microsoft Press, 1990.
- Anhand von Fig. 2A wird nun ein Tabellenkalkulationsordner bzw. eine Arbeitsbuch-Schnittstelle dieser Ausführungsform beschrieben. Der Tabellenkalkulationsordner oder das Arbeitsbuch enthält einen Ordner-Arbeitsbereich 200, der Information aufnimmt, verarbeitet und darstellt, und zwar sowohl alphanumerische als auch grafische Information. Der Ordner-Arbeitsbereich 200 enthält eine Menüleiste 210, eine Werkzeugleiste 220, eine Anzeige der aktuellen Zelle 230, eine Eingabezeile 231, eine Statuszeile 240 und ein Ordnerfenster 250. Die Menüleiste 210 stellt abhängig von Benutzereingaben die oberste Ebene der Benutzerbefehle dar bzw. ruft sie auf. Das Menü 210 ruft, wie bei Windows- Anwendungen bekannt, auch zusätzliche Pulldownmenüs (Balkenmenüs) auf. Die Eingabezeile 231 nimmt Benutzerbefehle und Informationen an, die der Eingabe und dem Verändern von Zelleninhalten dienen, und kann Daten, Formeln, Macros usw. umfassen. Die Anzeige 230 stellt die Adresse der momentanen Cursorposition dar (d. h. die aktive Zelle). In der Statuszeile 240 stellt das System 100 Information zum momentanen Status des Arbeitsbuchs dar; beispielsweise bedeutet eine "READY"-Anzeige, dass das System dafür bereit ist, dass der Benutzer eine weitere auszuführende Aufgabe auswählt.
- Die in Fig. 2B ausführlicher dargestellte Werkzeugleiste 220 umfasst eine Zeile oder Palette von Werkzeugen, die es dem Benutzer rasch ermöglichen, häufig verwendete Menübefehle oder Eigenschaften auszuwählen. In einer beispielhaften Ausführungsform enthält die Werkzeugleiste 220 Ausschneide-, Kopier- und Einfügeknöpfe 221, ein Powerbutton-Werkzeug 222, ein grafisches Werkzeug 223, Ausrichtknöpfe 224, Zeichensatzknöpfe 225, eine Schriftattributliste 226 mit einem Pulldownmenü 227, Einfüge-, Lösch- und Einpassknöpfe 228 und Aktionsknöpfe 229 (z. B. Sortieren, Summieren usw.). Die Funktionen dieser Knöpfe erklären sich durch ihre Namen selbst. Die Knöpfe 221 schneiden beispielsweise Daten und Objekte aus und legen sie in der Windows-Zwischenablage ab bzw. kopieren Daten und Objekte in die Windows-Zwischenablage bzw. fügen den Inhalt der Zwischenablage ein. Die gleichen Vorgänge sind auch als entsprechende Befehle im Edit-Menü verfügbar (Zugriff über die Menüleiste 210). Das Werkzeug 220 erzeugt "Powerbuttons", die es einem Benutzer ermöglichen, Tabellenkalkulationsmacros ablaufen zu lassen. In einer besonderen Ausführungsform erscheinen die Powerbuttons als schwebende Objekte in einer Schicht über den Tabellenkalkulationszellen. In vergleichbarer Weise erzeugt das Grafikwerkzeug 223 schwebende Grafiken, die über den Tabellenkalkulationszellen erscheinen.
- Der Ordner, der eine Schnittstelle zum Eingeben und Darstellen von interessierender Information bietet, enthält eine Anzahl Tabellenkalkulationsseiten. Jede Seite kann herkömmliche Windows-Merkmale und Abläufe enthalten, beispielsweise Bewegen, Verändern der Größe und Löschen. In einer bevorzugten Ausführungsform enthält der Ordner 256 Tabellenkalkulationsseiten und eine Grafikseite, die alle gemeinsam als einzige Plattendatei auf dem Massenspeicher 107 gesichert werden. Der Arbeitsbereich 200 kann ein oder mehrere Ordner anzeigen, die nach benutzerspezifischen Vorgaben in der Größe verändert und angeordnet (z. B. gruppiert, überlappend angeordnet usw.) werden.
- Jede Tabellenkalkulationsseite des Ordners enthält eine 2-D-Tabelle. Die Seite A des Ordners 200 enthält beispielsweise ein Gitter in Form von Zeilen und Spalten, etwa Zeile 3 und Spalte F. Am Schnittpunkt einer jeden Zeile und Spalte ist ein Kasten bzw. eine Zelle bereitgestellt, in der Information in herkömmlicher Weise eingegeben, verarbeitet und dargestellt wird. Jede Zelle ist ansprechbar, und es ist ein Bezeichner bereitgestellt, der eine derzeit aktive Zelle bezeichnet (d. h. die gerade ausgewählte Zelle).
- Einzelne Ordnerseiten sind mit Seitenkennungen 260 bezeichnet, siehe Fig. 2C-D, und zwar bevorzugt entlang einer Kante eines Ordners. In einer bevorzugten Ausführungsform hat jede Seitenkennung die Form einer Markierungslasche (beispielsweise die Teile 261a, 262a und 263a), die entlang der Unterkante des Ordners angeordnet ist. Jede Markierungslasche kann eine typische Kennung enthalten, beispielsweise eine Text- oder Grafikkennzeichnung, die auch ein vom Benutzer gewählter Titel sein kann und den Inhalt der zugehörigen Seite beschreibt. In Fig. 2C sind die Markierungslaschen 260 auf ihre zugehörigen Voreinstellungsnamen gesetzt. Die ersten drei Markierungslaschen (die Laschen 261a, 262a und 263a) sind jeweils auf A, B und C gesetzt. Die Markierungslaschen erhalten jedoch in der Regel vom Benutzer gewählte beschreibende Namen. Die ersten drei Markierungslaschen, siehe Fig. 2D, sind nun auf "Contents", (Markierungslasche 261b), "Summary" (Markierungslasche 262b) und "Jan" (Markierungslasche 263b) gesetzt. In ähnlicher Weise sind die verbleibenden Laschen auf die folgenden Monate des Jahres gesetzt. Auf diese Weise verbindet der Benutzer die Seitenkennungen mit den vertrauten Laschen eines gewöhnlichen Ordners aus Papier. Damit weiß der Benutzer bereits, wie er eine interessierende Seite oder Tabelle wählen kann; er wählt einfach die Lasche, die zur Seite gehört (so wie man eine Seite in einem Ordner aus Papier wählen würde).
- Die benutzerkonfigurierbaren Seitenkennungen unterstützen nicht nur die Auswahl der passenden Informationsseite, sondern sie helfen auch beim Eingeben von Tabellenformeln. Gibt man beispielsweise eine Formel ein, die sich auf Zellen in einer anderen Seite beziehen, so kann der Benutzer einfach den beschreibenden Seitennamen in der Formel selbst verwenden (im Weiteren beschrieben). Damit kann der Benutzer den Zusammenhang der angesprochenen Zelle(n) oder Information besser verstehen.
- Eine allgemeine Beschreibung der Leistungsmerkmale und Betriebsweise der Tabellenkalkulations-Ordnerschnittstelle findet man in Quattro' Pro for Windows (Getting Started, User's Guide and Building Spreadsheet Applications), erhältlich bei Borland International; eine zusätzliche Beschreibung findet man in EP-A-0569133.
- Da zukünftige Abläufe für kein Unternehmen vollständig gewiss sind, ist es hilfreich, wechselnde Verknüpfungen unbekannter Werte nebeneinander oder in benachbarten Tabellen darzustellen, damit man den Bereich möglicher Ergebnisse mit einem Blick übersehen kann. Besonders interessant in der Erfindung ist das Problem der Szenariomodellierung, d. h. das Verwalten des "bestmöglichen" und des "schlechtestmöglichen" "Was-wäre-wenn"-Falls. Szenarios sind eine Form der Modelluntersuchung, bei der ein Benutzer verschiedene Modelle erzeugen kann, indem er Daten in einem Grundmodell verändert und beobachtet, wie diese Veränderungen die darauf beruhenden Formeln beeinflussen.
- Einen Ansatz hierzu bietet der Szenariomanager, der MicrosoftTM Excel beigegeben ist. Excel erlaubt es dem Benutzer, eine besondere Menge von "unsicheren" Zellen in einem Modell zu bezeichnen und anschließend jeder unsicheren Zelle Wertekombinationen zuzuweisen. Jede Wertekombination wird zu einem besonderen Szenario. Der Benutzer weist nun den Manager an, welche Ergebnisse er haben will. Das System erstellt dann eine Tabelle, die den Einfluss eines jeden benannten Szenarios auf jede bezeichnete Ausgabezelle darstellt.
- Das System 100 enthält eine Anzahl Werkzeuge, die Vorschläge machen oder abhängig von den benutzerdefinierten Modellen Ergebnisse optimieren. Das System enthält beispielsweise ein "Modellkopier"-Merkmal (beschrieben in EP-A-0 569 133), das die Aufgabe vereinfacht, einen Zusammenhang von Formeln auf zahlreichen Seiten des Ordners wiederzugeben. Normalerweise werden beim Kopieren von Formeln von einer Seite auf eine andere Seite relative Bezüge aktualisiert; absolute Bezüge bleiben unverändert. Beim Modellkopieren werden die absoluten Bezüge auf Zellen auf der momentanen Seite auf die Zielseiten aktualisiert. Kopiert man beispielsweise mit "Modellkopieren" die Formel "BestCase: A1" von einer Seite mit dem Namen "BestCase" auf eine Seite mit dem Namen "WorstCase", so erhält man am neuen Ort die Formel "WorstCase: A1".
- Somit kann ein Benutzer mit der Option "Modellkopieren" (Block 1 Copy) Modelle an verschiedene Stellen in einem Ordner kopieren, ohne dass die Formelbezüge beeinträchtigt werden. Anschließend kann der Benutzer die Werte in jeder Kopie verändern und neue Szenarios erzeugen. Das Verfahren der Szenarioverwaltung eignet sich dann am besten, wenn man einen Satz Szenarios für die weitergehende Untersuchung (z. B. Auflöser-Werkzeuge) erstellen will. Man kann jedes Szenario auf eine eigene Seite legen, die mit einem eindeutigen Namen bezeichnet wird. Anschließend führt man verschiedene Untersuchungen aus und druckt die Ergebnisse, wenn dies erwünscht ist.
- Im Gegensatz zu den beschriebenen manuellen Werkzeugen bietet diese Ausführungsform einen leistungsfähigeren interaktiven Ansatz für die Szenariountersuchung, der hier Szenariomanager genannt wird. Der Manager verfolgt Wertänderungen automatisch, wenn man neue Datensätze eingibt, und verfügt zusätzlich über eine Fähigkeit, die es einem Benutzer zu jeder Zeit erlaubt, Szenarioveränderungen zu benennen und in Berichtsform abzuspeichern.
- Im allgemeinen Betrieb entscheidet der Benutzer, welche Teile des Ordners (z. B. einen Block, eine Seite oder ein gesamter Ordner) er in seine Szenarios aufnehmen will.
- Innerhalb dieses "Fangbereichs" entscheidet der Benutzer, welche Information bei jedem gewünschten Szenario zu verändern ist (d. h., er legt "Veränderungszellen" fest). Dies kann dem System implizit oder explizit angezeigt werden. Im ersten Fall verändert der Benutzer einfach Werte im eingeschlossenen Bereich bzw. Fangbereich, und der Szenariomanager verfolgt automatisch all diese Änderungen. Im zweiten Fall kennzeichnet der Benutzer explizit gewisse Zellen als Veränderungszellen. Zusätzlich zu Veränderungszellen gibt es "Ergebniszellen", d. h. Zellen, die von Änderungen in den Veränderungszelle betroffen sind. Das System findet diese Ergebniszellen automatisch, indem es unter den Formelzellen diejenige(n) Zelle(n) bestimmt, die einen Wert liefern, der sich von den entsprechenden Zellen im Ausgangsszenario unterscheidet. Eine Formelzelle kann sich durch direkten oder indirekten Bezug auf eine Veränderungszelle verändern. Damit muss eine Ergebniszelle nicht in dem Sinn von einer Veränderungszelle "abhängen", wie dieser Begriff normalerweise in der Tabellenkalkulationssprache verwendet wird. Da Veränderungszellen und Ergebniszellen in der Regel Information liefern (z. B. Werte), die den Benutzer unmittelbar interessiert, werden sie nach der Erkennung hervorgehoben.
- Die folgenden Konzepte werden anhand von Fig. 3A und 3B erläutert. Fig. 3A zeigt einen Tabellenkalkulationsordner 300, dessen erste Seite (Seite A) 310 dargestellt ist. Die Seite oder Tabelle 310 enthält ein hypothetisches Modell für die monatlichen Verkäufe einer Getränkefirma. Nach dem Aufruf eines Szenariomanagerbefehls (Tools 1 Scenario Manager aus dem Hauptmenü) zeigt das System eine Szenariomanager-Werkzeug leiste 320 an, die bevorzugte Werkzeuge der momentanen Ausführungsform enthält, mit denen man Szenarios verwalten kann. Die Werkzeuge werden nacheinander vorgestellt.
- Den Szenariofangknopf 321 (Fig. 3B) kann man als Kamera betrachten, die eine Momentaufnahme der aktuellen Daten aufnimmt. Die Szenario-Namenslistenbox 322 listet alle verfügbaren Szenarios auf (die eingefangen worden sind). Der Szenariolöschknopf 323 ermöglicht es, ein Szenario aus der aktuellen Liste der aktiven Szenarios (die in der Listenbox 322 dargestellt ist) zu entfernen. Der Szenarioidentifizierungsknopf 324 fängt die aktuellen Szenariodaten ein. Durch das Anklicken des Szenario-Hinzufügeknopfs 321 kann man dieser Momentaufnahme einen besonderen Szenarionamen zuweisen. Der Veränderungszellenknopf 325 dient dem Aufnehmen ausgewählter "Veränderungszellen" in das Szenario. Diese Veränderungszellen werden ihrerseits in die Szenarioseite (im Folgenden beschriebener Bericht) aufgenommen. Der Veränderungszellen-Löschknopf 326 entfernt ausgewählte Veränderungszellen aus dem Szenario. Diese werden ihrerseits aus der Szenarioseite gelöscht. Der Szenariozellen-Hervorhebungsknopf 327 schaltet die Hervorhebung von Veränderungs- und Ergebniszellen ein bzw. aus. Gemäß der Voreinstellung erscheinen Veränderungszellen gelb und Ergebniszellen grün. Der Berichtsknopf 328 zeigt eine "Szenarioseite", die einen zusammenfassenden Szenariobericht liefert. Der Knopf dient als Umschalter. Der Benutzer kann nochmals auf den Knopf klicken, um zur Seite zurückzukehren, auf der er arbeitet. Der Szenariogruppenknopf 329 gestattet es dem Benutzer, eine Szenariomenge in Untergruppen oder Untermengen einzuteilen, wobei jede Untergruppe ein spezielleres Szenario darstellt, das modelliert wird. Die Szenariokategorie-Listenbox 330 listet die verfügbaren Szenariogruppen oder Szenariokategorien auf (die mit dem Szenariogruppenknopf 329 erstellt wurden). Zum Schließen der Szenario-Werkzeugleiste klickt der Benutzer auf einen Steuerknopf (in Fig. 3A durch X dargestellt).
- Im Allgemeinen erfolgt die Szenarioverwaltung durch die Anwendung der Szenariomanager-Werkzeuge, mit denen verschiedene Versionen oder Szenarios erzeugt und dargestellt werden. Nach dem Erzeugen eines gewünschten Szenarios kann der Benutzer das System anweisen, zusammenfassende Berichte zu erstellen. Anhand von Fig. 4A-F wird nun eine Beispielsitzung ausführlich beschrieben.
- In Fig. 4A hat der Benutzer den Manager (Tools i Scenario Manager) für die Tabelle 310 (aus Fig. 3A) aufgerufen. Es wird die Szenariomanager-Werkzeugleiste 320 dargestellt. Der Benutzer legt nun einen "Fangbereich" fest, indem er den Gruppenknopf 329 drückt. Der Fangbereich definiert eine Menge an Informationszellen, in denen der Szenariomanager alle Veränderungen verfolgt (einschließlich des Bestimmens der Veränderungszellen und Ergebniszellen). Der Benutzer kann beispielsweise durch die Dialoge 405 und 410 festlegen, dass der Fangbereich auf "Seite" eingestellt wird, d. h., dass alle Veränderungen in der aktiven Seite (A) verfolgt werden. Da sich der Seitenfangbereich für die meisten Fälle eignet, ist er der voreingestellte Fangbereich in der bevorzugten Ausführungsform. Wahlweise kann der Benutzer den Fangbereich "Ordner" wählen, so dass Veränderungen innerhalb eines gesamten Ordners verfolgt werden, oder den Fangbereich "Block", bei dem Veränderungen in einem festgelegten Block verfolgt werden. Den Fangbereich sollte man bevorzugt nur dann auf "Ordner" setzen, wenn man Veränderungs- und Ergebniszellen über mehrere Seiten verfolgen will und nicht beabsichtigt, den Ordner für andere Zwecke als das Speichern von verwandten Szenarios zu verwenden. Beim Fangbereich "Block" kann derfestgelegte Block zusammenhängend oder nicht zusammenhängend, ein 2-D-Block oder ein 3-D-Block sein. "Block" ist häufig die beste Fangbereichseinstellung für Szenarios, die auf vorhandenen Daten beruhen. Gibt ein Benutzer neue Daten und Formeln für das Szenario ein, so ist normalerweise "Seite" am besten geeignet.
- Der Szenariomanager verfolgt Veränderungen gegen einen Ausgangszustand bzw. eine Grundversion. Das Basismodell, das als Bezug dient, mit dem verschiedene Szenarios verglichen werden, ist in der Regel das normale (unveränderte) Tabellenkalkulationsmodell. Bevor dem Basismodell verschiedene Korrekturen, Annahmen usw. zugefügt werden, weist der Benutzer das System einfach an, den Ausgangszustand einzufangen. Arbeitet dagegen ein Benutzer mit einem leeren Ordner, so kann er vor dem Festlegen des Ausgangszustands beliebige Marken und Formeln eingeben.
- Zum Festlegen des Ausgangszustands fängt der Benutzer das Basismodell durch das Betätigen des Szenariofangknopfs 321 ein. Man kann den Knopf als eine Kamera betrachten, die eine Momentaufnahme der aktuellen Modelldaten erstellt. Eine beispielhafte Ausführungsform antwortet mit der Darstellung einer Szenariofang-Dialogbox, in der der Benutzer das eingefangene Szenario benennen kann. Für die erste eingefangene Version ist der Basismodellname < Base Case> voreingestellt. Der Benutzer kann irgendeinen gewünschten Namen in das Szenarioname-Editierfeld eingeben. Ab diesem Augenblick verfolgt das System alle Veränderungen im Fangbereich.
- Nachdem der Benutzer den Ausgangszustand festgelegt hat, fährt er mit der Kennzeichnung von Veränderungszellen fort, entweder implizit (automatisch) oder explizit (von Hand). Für die automatische Kennzeichnung gibt der Benutzer einfach neue Werte in die Zelle (n) ein, von der bzw. denen er wünscht, dass sie Veränderungszellen werden. Der Benutzer kann einfach festlegen, dass beispielsweise die Zelle B3 die Veränderungszelle für die Tabelle 310 ist, indem er den Wert dieser Zelle verändert (z. B. von $1,000 auf $2,000), siehe Fig. 4B.
- Nach dem Drücken des Szenarioidentifizierungsknopfs 324 erkennt das System das aktuelle Szenario; d. h., es vergleicht die Daten des momentanen Falls mit den Daten der Basisversion. Sämtliche Zellen, die sich aufgrund der Benutzereingaben ändern, werden automatisch erkannt. Insbesondere werden Wertunterschiede für Nicht-Formel-Zellen erkannt und diese als Veränderungszellen markiert. Dies erfolgt durch den Vergleich jeder Nicht-Formel-Zelle mit ihrer entsprechenden Zelle im Grundmodell. Zudem werden sämtliche Zellen, die sich durch Neuerungen in Veränderungszellen gewandelt haben, erkannt und als Ergebniszellen markiert. Dies erfolgt dadurch, dass diejenigen Formelzellen bestimmt werden, die aufgrund der Änderungen in den Veränderungszellen oder der Veränderungszelle einen neuen Wert liefern, d. h. diejenigen Zellen, die direkt oder indirekt (z. B. über Formeln) von den Veränderungszellen (der Veränderungszelle) abhängen.
- Wahlweise kann der Benutzer Veränderungszellen von Hand kennzeichnen. In einer beispielhaften Ausführungsform wählt der Benutzer eine oder mehrere Zellen, von denen er wünscht, dass sie Veränderungszellen werden, und betätigt den Veränderungszellen-Hinzufügeknopf 321. Anschließend gibt der Benutzer irgendwelche gewünschten Werte in die bezeichneten Zellen ein. Die Ergebniszellen werden automatisch ermittelt.
- Die Veränderungszellen und die Ergebniszellen werden dem Benutzer besonders angezeigt, siehe Fig. 4B, beispielsweise durch eine farbige Hervorhebung oder eine andere Rückmeldung. Beim momentanen Beispiel wird die Veränderungszelle B3 mit einer Veränderungshervorhebung 421 hervorgehoben. Die Ergebniszellen B6, H3 und H6 werden jeweils mit den Ergebnishervorhebungen 423, 425 und 427 hervorgehoben. Als Voreinstellung sind bei Farbmonitoren die Veränderungszellen gelb unterlegt und die Ergebniszellen grün. Der Benutzer kann dafür auch eigene Farben wählen. Durch die Auswahl des Hervorhebungs-Umschaltknopfs 327 kann der Benutzer das System anweisen, die Zellenhervorhebung wie gewünscht ein- und auszuschalten. Der Benutzer mag auch wünschen, sich auf weniger Veränderungszellen zu konzentrieren, als das System unterlegt hat, also beispielsweise unerwünschte Zellen auszuschließen (d. h. von einer unerwünschten Hervorhebung). Er erreicht dies durch die Auswahl der Zellen und das Betätigen des Veränderungszellen-Löschknopfs 326.
- Der Benutzer kann die momentane Version interaktiv bearbeiten, bis ein gewünschtes Szenario erreicht ist. Ist der Benutzer mit den Szenariozellen und Werten zufrieden, so drückt er den Szenariofangknopf 321, um die aktuelle Version als neues Szenario einzufangen. Der Benutzer gibt dem neuen Szenario im Szenarionamen-Editierfeld einen aussagekräftigen Namen. Im vorliegenden Beispiel stellen die Verkäufe von Jump Start mit $2, 000 im Januar (d. h. 25 Prozent Zunahme gegen den Ausgangszustand) das "bestmögliche" Szenario dar. Daher wird diese Version passenderweise mit "Best" 429 bezeichnet. Nach der Bestätigung (z. B. der Auswahl OK) durch den Benutzer wird das aktuelle Szenario in die aktive Gruppe aufgenommen. Speichert ein Benutzer ein Szenario, so werden die neuen Werte und die Hinterlegung der Zellen gemeinsam gespeichert (im Weiteren ausführlich beschrieben). Der Benutzer kann nun fortfahren, einer gewünschten Gruppe auf diese Weise Szenarios zuzufügen oder sie daraus zu löschen, bis er das erwünschte Szenariomodell erzielt hat.
- Anhand von Fig. 4C-F wird das Erzeugen und Einfangen zusätzlicher Szenarios für das gegebene Beispiel beschrieben. In Fig. 4C hat der Benutzer den Wert der Zelle B3 (von seinem Ausgangswert von 1500) auf 500 geändert. Dies stellt das schlechtestmögliche Szenario des Benutzers dar (d. h. für die Verkäufe des Getränks Jump Start im Monat Januar). Der Benutzer betätigt den Szenarioidentifizierungsknopf 324 und kennzeichnet diesen schlechtesten Fall. Beim Betätigen des Szenarioidentifizierungsknopfs führt das System die bereits beschriebene Bestimmung der Veränderungs- und Ergebniszellen durch. Die Veränderung der Januarzelle für Jump Start auf fünfhundert Dollar, die beispielsweise die Tabellenkalkulationsseite 310C darstellt, bewirkt, dass das System (automatisch) die Zelle B3 als Veränderungszelle erkennt. Sie wird mit der Veränderungshervorhebung 431 hervorgehoben. In ähnlicher Weise werden die Zellen B6, H3 und H6 als Ergebniszellen erkannt und dem Benutzer mit den Ergebnishervorhebungen 433, 435 und 437 angezeigt. Ist der Benutzer mit diesem neuen Szenario zufrieden, so kann er damit fortfahren, es der aktuellen Gruppe zuzufügen (es einzufangen), beispielsweise mit dem bezeichnenden Titel "Worst" 439.
- Die Veränderungen in den Fig. 4B und C (310b, 310c) sind zur Vereinfachung auf einen einzigen Zellensatz beschränkt. Die Szenarios für die Tabellenkalkulation 310 sind jedoch in keiner Weise auf einen gewissen Zellensatz eingeschränkt. Der Benutzer kann beispielsweise den Wert 1, 750 in die Zelle B3 eingeben, siehe Fig. 4D, und damit ein weiteres Szenario erzeugen, das der Benutzer Thin Fizz 1 nennt (bezeichnet mit dem Titel 449). Wird das System angewiesen, das Szenario zu kennzeichnen, so wird die Zelle B4 als Veränderungszelle erkannt (man erinnere sich, dass der Januar-Ausgangswert für Thin Fizz 900 betragen hat). Die Zelle wird mit der Veränderungshervorhebung 441 hervorgehoben. Das System erkennt die Zellen B6, H4 und H6 automatisch als Ergebniszellen, d. h. als Zellen, die direkt oder indirekt von der Zelle B4 abhängen. Diese Zellen werden jeweils mit der Ergebnishervorhebung 443, 445 bzw. 447 hervorgehoben.
- Durch die Auswahl des Berichtsknopfs 328 (über die Manager-Werkzeugleiste 320) kann der Benutzer automatisch einen Bericht erzeugen, der die Szenarios zusammenfasst, die das momentane Szenariomodell beschreiben. Die erwähnten Szenarios werden in einem zusammenfassenden Szenariobericht 350 zusammengefasst, siehe z. B. Fig. 4E. Der Bericht zeigt beispielsweise, dass die Veränderungszelle für das "beste" Szenario A : B3 ist, die einen neuen Wert von 2000 erhält. Die Ergebniszellen für das beste Szenario werden wie folgt dargestellt: A : B6 erhält einen neuen Wert von 3,650; A : H3 erhält einen neuen Wert von 16,164; und A : H6 erhält einen neuen Wert von 29,109. Die entsprechenden Veränderungs- und Ergebniszellenwerte für den "Worst"-Fall und das Szenario Thin Fizz 1 werden wie dargestellt berichtet. Gemäß der Voreinstellung erscheint der zusammenfassende Szenariobericht auf der ersten freien Seite im Ordner und erlaubt damit dem Benutzer einen sofortigen Zugriff auf einen Bericht, der jedes im Modell enthaltene Szenario bzw. jede Version vollständig beschreibt. Um den Bericht an einen anderen Ort zu leiten, setzt der Benutzer die "Finde-leere-Seite"-Option außer Kraft und gibt einen Bestimmungsort an (Seite oder Block).
- Im obigen Szenariobeispiel wird ein relativ einfaches Tabellenkalkulationsmodell 310 verwendet, so dass sich der Leser auf die Lehren der Ausführungsform konzentrieren kann, ohne sich von sehr komplizierten Tabellen oder anderen Modellen verwirren zu lassen. Bei einem üblichen Einsatz baut man jedoch ein Tabellenkalkulationsmodell auf, das einige zwanzig oder gar mehrere hundert Zellen enthält, wobei einige hundert bis zu mehreren tausend gegenseitige Zellenabhängigkeiten auftreten können. In einem solchen Fall kann es erwünscht sein, nicht jede Veränderungs- und Ergebniszelle hervorzuheben. Der Benutzer will sich vermutlich auf weniger Zellen konzentrieren, als das System hervorgehoben oder unterlegt hat. Um unerwünschte Zellen (d. h. Zellen, die nicht hervorgehoben werden sollen) auszuschließen, wählt der Benutzer die gewünschten Zellen und betätigt den Zellenlöschknopf 326 (für Veränderung bzw. Ergebnis). Das System sperrt daraufhin die Hervorhebung für diese Zellen. Beim Szenario Thin Fizz 1 (in Fig. 4D) setzt der Benutzer die Hervorhebung für die Zellen H4 und H6 außer Kraft, siehe Fig. 4F. Die Tabellenkalkulationsseite 310 F zeigt, dass die Zelle B4 eine Veränderungshervorhebung 461 und die Zelle B6 eine Ergebnishervorhebung 463 enthält. Für die Zellen H4 und H6 ist die Ergebnishervorhebung jedoch außer Kraft (gezeigt bei 465 bzw. 467). Der Benutzer kann auf diese Weise die Erfindung anwenden und hochentwickelte Szenarios aus komplizierten Tabellenkalkulationsmodellen erzeugen, und er kann die Systemrückmeldung auf seine Wünsche zuschneiden.
- Eine Gruppe umfasst einen Satz Szenarios. Das obige Beispiel hat das Erzeugen eines Satzes Szenarios in einer einzigen Gruppe (Group1) erläutert. Jeder Ordner kann so viele Szenariogruppen enthalten, wie der Benutzer benötigt. Zum Erzeugen oder Umbenennen einer Gruppe betätigt der Benutzer den Gruppenknopf (bereits beschrieben) zum Definieren zusätzlicher Gruppen. Zum Hinzufügen einer neuen Gruppe gibt man den Namen im Editierfeld ein und wählt den Zufügeknopf. Erzeugt ein Benutzer eine neue Gruppe, so ist das erste Szenario, das er einfängt, der Ausgangszustand. Zum Umbenennen der aktiven Gruppe gibt man einen neuen Namen ein und wählt "Umbenennen". Zum Löschen der aktuellen Gruppe und aller Szenarios in ihr wählt man "Löschen". Der Benutzer kann das Optionskommando aufrufen, wenn er den Fangbereich oder die Blockverfolgungseinstellung ändern will.
- Zum Anzeigen eines gewünschten Szenarios muss der Benutzer lediglich dessen Namen aus der Szenarionamenliste wählen. Hat der Benutzer mehrere Szenariogruppen, so kann er vor der Wahl des Szenarios die gewünschte Gruppe in der Gruppennamenliste aussuchen. Stellt man ein Szenario dar, so ersetzen seine Veränderungszellen- und Ergebniszellenwerte die momentan auf dem Bildschirm dargestellten Werte. Auf diese Weise hat der Benutzer sofort Zugriff auf die zahlreichen Versionen, die für ein Basismodell eingefangen sind.
- Der Benutzer kann die Inhalte einer beliebigen Zelle mit Standardeditierverfahren verändern. Zum Speichern von Veränderungen am aktiven Szenario drückt man den Szenariofangknopf. Nach dem Erscheinen der Szenariofang-Dialogbox behält man den Namen bei, um das aktive Szenario durch die aktuellen Zellen und Werte zu ersetzen. Der Benutzer kann einen weiteren Namen eingeben, um ein vorhandenes Szenario zu ersetzen oder ein neues zu erzeugen, und dann bestätigen (OK auswählen), um den Szenarionamen anzunehmen. Sämtliche Veränderungen erscheinen sofort in der Szenarioseite.
- Zum Löschen eines Szenarios aus der Szenarionamenliste und Szenarioseite wählt der Benutzer das Szenario in der Szenarionamenliste und betätigt den Szenariolöschknopf. Befindet sich das Szenario in einer anderen Szenariogruppe, so drückt man zuerst den Szenariogruppenknopf und wählt den Gruppennamen. Zum Löschen aller Szenarios in einer Gruppe drückt man zuerst den Szenariogruppenknopf. Anschließend wählt man die Gruppe in der Gruppennamenliste. Zuletzt drückt man "Löschen".
- Das Verfahren dieser Ausführungsform für das Szenariomanagement ist im Flussdiagramm 500 in Fig. 5A zusammengefasst. Es werden die folgenden Schritte durchlaufen. Im Schritt 501 legt der Benutzer einen Fangbereich fest, d. h. einen Bereich, in dem das System vom Benutzer festgelegte Veränderungen verfolgt. In einer bevorzugten Ausführungsform kann man den Fangbereich zwischen einem Ordner, einer Seite oder einem Block auswählen, wobei die Voreinstellung "Seite" lautet. Wahlweise kann das System den Fangbereich automatisch bestimmen, beispielsweise aus einer Begrenzungsbox, die alle vom Benutzer veränderten Zellen enthält. Im Schritt 502 werden die vom Benutzer festgelegten Veränderungen aufgenommen. In diesem Fall verändert der Benutzer gewünschte Zellen (normalerweise durch die Eingabe neuer Zellenwerte) und erzeugt ein neues Szenario. Nach dem Abschluss des Schritts 502 (z. B. durch das Auswählen des Szenarioidentifizierungsbefehls) erfasst das System im Schritt 503 die veränderten Zellen. Dabei vergleicht das System die Werte der aktuellen Nicht-Formel-Zellen mit den entsprechenden Werten dieser Zellen im ursprünglichen Fangbereich oder "Ausgangszustand" (im Schritt 501 festgelegt). Im Schritt 504 bestimmt das System die Ergebniszellen, indem es nach Zellen sucht, (normalerweise Zellen, die Formeln enthalten, also "Formelzellen"), die abhängig von den Änderungen in denjenigen Zellen, die als Veränderungszellen erkannt wurden, einen neuen Wert liefern. Im Schritt 505 hebt das System die erkannten Veränderungs- und Ergebniszellen hervor und liefert damit dem Benutzer eine sichtbare Rückmeldung. Der Benutzer kann für gewünschte Zellen diese Rückmeldung gezielt freigeben oder abschalten.
- Nach Abschluss des Schritts 505 hat der Benutzer mit Hilfe der Szenarioverwaltungswerkzeuge der Ausführungsform ein neues Szenario erzeugt. Im Schritt 506 können die Schritte 502-505 zum Erzeugen zusätzlicher Szenarios wiederholt werden. Sämtliche unerwünschten Szenarios können gelöscht werden (aus der Szenariolistenbox). Nach dem Erzeugen aller gewünschten Szenarios kann der Benutzer, wenn er dies wünscht, im Schritt 507 das System anweisen, einen zusammenfassenden Szenariobericht zu erzeugen. Im Schritt 508 sichert der Benutzer den aktuellen Ordner, wobei die verschiedenen Szenarios (Versionen) als Veränderung gegenüber dem Ausgangszustand oder dem Basismodell gespeichert werden.
- Der Versionsbildungsschritt 508 wird nun anhand von Fig. 5B ausführlicher beschrieben. Die Abbildung zeigt, dass unterschiedliche Versionen oder Szenarios durch am Basismodell vorgenommene Änderungen entstehen. Es sei angenommen, dass das Tabellenkalkulationsmodell 560 als Basismodell 565 beschrieben ist. Zum Unterstützen dieses Basismodells werden sechs Zellenaufzeichnungen 567 verwendet (für die Zellen C1, C2, C4, F1, F2, F4). Die Erfindung erkennt jedoch, dass jede zusätzliche Version dadurch darstellbar ist, dass man nur eine oder mehrere Differenzaufzeichnungen (Deltarecords) speichert. Der Benutzer kann beispielsweise die Tabelle 570 als erste alternative Version oder alternatives Szenario 575 festlegen. Wie dargestellt sind eine Veränderungszelle (C1) und eine Ergebniszelle (C4) vorhanden. Zum Darstellen dieser neuen Version muss nur eine einzige Differenzaufzeichnung (Deltarecord) 577 erzeugt werden, damit man die neue Information für C1 (C1') zusammen mit einer Versionskennung speichern kann.
- Fährt man in dieser Weise fort, so enthält die Tabelle 580 eine unterschiedliche Veränderungszelle (F2) und eine unterschiedliche Formelzelle (F4), wodurch ein zweites Szenario 585 bestimmt ist. Die Differenz zwischen dieser zweiten Version bzw. diesem zweiten Szenario 585 und dem Basismodell ist in einem einzigen Deltarecord 587 darstellbar, der die neue Veränderungszelle (F2') zusammen mit einer anderen Versionskennung speichert. Zuletzt ist noch ein drittes, durch die Tabelle 590 beschriebenes Szenario 595 dargestellt, das zwei Veränderungszellen (C2 und F1) und zwei Ergebniszellen enthält. Diese dritte Version ist intern durch das Speichern von zwei Delta- oder Veränderungsrecords 597 darstellbar, die die Zelleninformation für die neuen Zellen (C2', F1') zusammen mit einer Versionskennung enthalten. Die Versionskennungen selbst können in den einzelnen Records gespeichert werden. Wahlweise kann man Gruppen der Szenariorecords bilden (d. h., sie in eine vorbestimmte Abfolge diskreter Gruppen bringen), so dass die Kennung eines jeden Records nur einmal für die Gruppe gespeichert wird. Man kann die Kennung auch einfach aus der relativen Position der Gruppe ableiten. Fachleuten ist klar, dass man auch Listenstrukturen (z. B. verkettete Listen, Bäume usw.) dazu einsetzen kann, die Szenariorecords zu organisieren, und zwar einschließlich des Bezugs auf die Basisrecords in einer gewünschten Weise.
- Die Erfindung ist anhand einer einzigen bevorzugten Ausführungsform und gewisser Alternativen ausführlich beschrieben worden. Es ist nicht beabsichtigt, die Erfindung auf diese besondere Ausführungsform oder diese besonderen Alternativen einzuschränken. Das Versionsbildungsverfahren der Erfindung ist beispielsweise in Situationen vorteilhaft anwendbar, in denen man wünscht, zahlreiche Beispiele (Versionen) eines einzelnen Modells zu verwalten.
Claims (39)
1. System, das automatisch verschiedene Versionen eines
Datenmodells in einem elektronischen
Modellbildungssystem verfolgt, mit dem man Information als Datenmodell
modellieren kann, wobei das System elektronische
Vorrichtungen (102) umfasst, die zum Speichern eines
Modells in Form einer Anzahl miteinander verknüpfter
Informationsorte angeordnet sind, gekennzeichnet durch:
Vorrichtungen (104, 105) für das System, das die
Änderungen verfolgt, mit denen man eine Grundmenge der
Informationsorte festlegen kann, die als Grundlage für
das Datenmodell dient;
Vorrichtungen (104, 105, 152), mit denen man eine
neue Version des Datenmodells anlegen kann, indem man
den Inhalt mindestens eines der Informationsorte in der
Grundmenge verändert; und
eine Vergleichsvorrichtung (152), die erkennt,
welche Informationsorte sich in der neuen Version
gegenüber der Grundmenge geändert haben, indem sie die
Inhalte der Orte in der neuen Version mit den
entsprechenden Inhalten in der Grundmenge vergleicht.
2. System nach Anspruch 1, wobei das Modellbildungssystem
ein Tabellenkalkulationssystem ist, und die
Informationsorte Zellen sind.
3. System nach Anspruch 1, wobei die Vorrichtung zum
Festlegen einer Grundmenge Eingabevorrichtungen (104,
105) enthält, mit denen man einen ausgewählten Block
von Orten, eine Bildschirmtabelle von Orten und eine
Anzahl Bildschirmtabellen eingeben kann.
4. System nach irgendeinem der Ansprüche 1 bis 3, wobei
die Vorrichtung zum Erzeugen einer neuen Version
Eingabevorrichtungen (104, 105) zum Eingeben neuer Werte
in mindestens einen der Informationsorte enthält.
5. System nach irgendeinem der vorhergehenden Ansprüche,
wobei in einigen der Orte die Wechselbeziehungen durch
Formeln definiert sind.
6. System nach Anspruch 5, wobei die Vergleichsvorrichtung
eine Einrichtung umfasst, die jeden Ort in der neuen
Version mit einem entsprechenden Ort in der Grundmenge
vergleicht, und einen Ort, der keine Formel enthält,
dessen Wert sich aber geändert hat, als veränderten Ort
erkennt.
7. System nach Anspruch 6, wobei die Vergleichsvorrichtung
zudem eine Einrichtung enthält, die feststellt, welche
Informationsorte sich abhängig von Änderungen des
erkannten veränderten Orts ändern.
8. System nach Anspruch 7, zudem umfassend eine
Darstellungsvorrichtung (106), die sich verändernde Orte und
Orte mit Ergebnissen hervorhebt.
9. System nach irgendeinem der vorhergehenden Ansprüche,
umfassend eine Eingabevorrichtung (104), mit der man
einen benutzerdefinierten Namen für jede neue Version
eingeben kann.
10. System nach irgendeinem der vorhergehenden Ansprüche,
zudem umfassend eine Vorrichtung, die zum Speichern der
Orte der Grundmenge des Modells in einer Anzahl
Ortsdatensätze eingerichtet ist, und dazu, für jede neu
erzeugte Version lediglich Datensätze für veränderte
Orte zu speichern.
11. Verfahren zum automatischen Verfolgen unterschiedlicher
Versionen eines Datenmodells in einem elektronischen
Modellbildungssystem, mit dem man in ein Datenmodell
eingegebene Information modellieren kann, wobei das
Datenmodell eine Anzahl Informationsorte enthält, deren
Wechselbeziehungen man mit dem Modellsystem definieren
kann, gekennzeichnet durch:
a) das Festlegen einer Grundmenge an
Informationsorten, die als Grundlage des Modells dienen, für das
System, das die Änderungen verfolgt;
b) das Erzeugen einer neuen Version des
Datenmodells durch das Abwandeln des Inhalts mindestens eines
Informationsorts aus der festgelegten Grundmenge; und
c) das automatische Erkennen derjenigen Orte des
Datenmodells, die sich verändert haben, durch den
Inhaltsvergleich der Orte in der neuen Version mit den
entsprechenden Orten in der Grundmenge.
12. Verfahren nach Anspruch 11, wobei der Schritt a)
umfasst:
das Auswählen eines Erfassungsbereichs, der
Informationsorte enthält, die das System automatisch
verfolgen soll; und
das Erfassen der Grundmengeninformation im
Erfassungsbereich, von dem der Benutzer wünscht, dass
er als Bezug dient, mit dem neue Versionen verglichen
werden.
13. Verfahren nach Anspruch 11 oder 12, wobei das
Modellbildungssystem ein Tabellenkalkulationssystem ist und die
Informationsorte Zellen sind.
14. Verfahren nach Anspruch 12 und 13, wobei das Auswählen
des Erfassungsbereichs das Auswählen eines
Tabellenkalkulations-Zellenblocks, einer zweidimensionalen
Zellenmatrix (Seite) und einer dreidimensionalen
Zellenmatrix (Notizbuch) umfasst.
15. Verfahren nach Anspruch 12 oder 13, wobei das Auswählen
des Erfassungsbereichs das Festlegen einer Menge an
Informationsorten bzw. Zellen enthält, sie so ausgewählt
werden, dass sie Orte oder Zellen umfassen, die durch
äußere Eingaben in das Modellbildungssystem verändert
werden sollen.
16. Verfahren nach irgendeinem der Ansprüche 11 bis 15,
wobei der Schritt b) das Eingeben neuer Werte in
mindestens einen Informationsort aus der Grundmenge
enthält.
17. Verfahren nach irgendeinem der Ansprüche 11 bis 16,
wobei die Wechselbeziehungen in einigen Orten durch
Formeln definiert sind.
18. Verfahren nach Anspruch 17, wobei der Schritt c)
umfasst:
das Vergleichen von Informationsorten in der neuen
Version, die keine Formeln enthalten, mit entsprechenden
Orten in der Grundmenge, wobei Orte der neuen Version,
deren Wert sich verändert hat, als veränderte Orte
gekennzeichnet werden; und
das Vergleichen von Informationsorten in der neuen
Version, die Formeln enthalten, mit entsprechenden Orten
in der Grundmenge, wobei Orte in der neuen Version mit
verändertem Wert als Ergebnisorte gekennzeichnet werden.
19. Verfahren nach Anspruch 17, wobei der Schritt c)
enthält:
i) das Vergleichen von Informationsorten in der
neuen Version, die keine Formeln enthalten, mit
entsprechenden Orten in der Grundmenge, wobei Orte der
neuen Version, deren Wert sich verändert hat, als
veränderte Orte gekennzeichnet werden; und
ii) innerhalb der Informationszellen, die keine
geänderten Orte sind, das Erkennen der Zellen, deren
Wert sich durch die Änderungen in den veränderten Orten
ändert, wobei Zellen mit verändertem Wert als
Ergebniszellen gekennzeichnet werden.
20. Verfahren nach Anspruch 19, wobei jeder Ergebnisort
einen direkten oder indirekten Bezug zu mindestens einem
veränderten Ort enthält.
21. Verfahren nach Anspruch 19 oder 20, wobei das Erkennen
der Ergebnisorte im Unterschritt ii) auf die
Untersuchung von Zellen beschränkt ist, die Formeln
speichern.
22. Verfahren nach irgendeinem der Ansprüche 18 bis 21,
zudem umfassend die Anzeige der veränderten Orte und
der Ergebnisorte für den Benutzer.
23. Verfahren nach Anspruch 22, wobei der Anzeigeschritt
den Gebrauch einer Bildschirmdarstellung umfasst, und
die veränderten Orte mit einer ersten Hervorhebung auf
dem Bildschirm und die Ergebnisorte mit einer zweiten
Hervorhebung auf dem Bildschirm dargestellt werden.
24. Verfahren nach Anspruch 23, zudem umfassend das gezielte
Abschalten der Bildschirmhervorhebung entweder der
veränderten Orte oder der Ergebnisorte je nach Wunsch.
25. Verfahren nach irgendeinem der Ansprüche 11 bis 24,
zudem umfassend:
d) das Erfassen der neuen Version als Szenario,
dem der Benutzer einen Namen geben kann.
26. Verfahren nach Anspruch 25, zudem umfassend:
e) das Wiederholen der Schritte b) - d), wobei
zahlreiche Szenarios erfasst werden.
27. Verfahren nach Anspruch 26, auch umfassend:
f) das Speichern der Grundmenge zusammen mit der
Anzahl erfasster Szenarien auf einer
Speichervorrichtung.
28. Verfahren nach Anspruch 27, wobei der Schritt f) das
Speichern der Informationsorte der Grundmenge des
Datenmodells als eine Anzahl Ortsdatensätze umfasst,
und für jede vom Benutzer neu erzeugte Version lediglich
das Speichern der Datensätze für die erkannten
veränderten Orte.
29. Verfahren nach Anspruch 28, wobei jeder Ortsdatensatz
die Ortsinformation, die Ortsposition und Ortsattribute
speichert.
30. Verfahren nach Anspruch 28, wobei in jedem Datensatz,
der für einen erkannten veränderten Ort gespeichert
wird, die neue Information, die Ortsposition, die
Ortsattribute und eine Versionskennung enthalten sind.
31. Verfahren nach Anspruch 11, wobei der Schritt a) zudem
umfasst:
das Beibehalten der Grundmenge als geordnete
Information auf einer Speichervorrichtung; und der
Schritt b) zudem umfasst:
für jede neue Version des Tabellenkalkulationsmodells:
i) das Bestimmen der Teile der neuen Version,
die sich verglichen mit der Grundmenge geändert haben,
und
ii) das Aufbewahren der neuen Version durch das
Speichern zusätzlicher Information nur für diejenigen
Teile, die als geändert erkannt wurden.
32. Verfahren nach Anspruch 31, wobei das
Tabellenkalkulationsmodell die Information in einer Anzahl
Informationszellen aufbewahrt, und die geordnete
Information eine erste Menge Datensätze enthält, die
Informationszellen der Grundmenge beschreiben, und die
zusätzliche Information eine zweite Menge Datensätze
umfasst, die Informationszellen nur für diejenigen Teile
der neuen Version enthält, die als geändert erkannt
wurden.
33. Verfahren nach Anspruch 32, wobei jeder Datensatz der
zweiten Menge, der eine Informationszelle beschreibt,
ein Versionsdatensatz ist, der einen veränderten Wert
für seine Zelle speichert.
34. Verfahren nach Anspruch 33, wobei jeder
Versionsdatensatz zudem einen Zellenort enthält.
35. Verfahren nach Anspruch 33, wobei jeder
Versionsdatensatz zudem eine Kennung enthält, der den Datensatz einer
besonderen neuen Version zuordnet.
36. Verfahren nach Anspruch 33, wobei Versionsdatensätze
für eine neue Version so gespeichert werden, dass man
daraus eine besondere neue Version ableiten kann.
37. Verfahren nach Anspruch 36, wobei Versionsdatensätze
für eine besondere neue Version als diskrete Untermenge
gruppiert werden, so dass man die Version aus der
Anordnung der Untergruppe relativ zu anderen
Untergruppen ableiten kann.
38. Verfahren nach irgendeinem der Ansprüche 31 bis 37, auch
umfassend:
c) das Wiederholen des Schritts b) für mehrere
neue Versionen; und
d) das Speichern zusätzlicher Information für
jede neue Version als nachfolgende Untermenge der
zweiten Datensatzmenge.
39. Verfahren nach irgendeinem der Ansprüche 31 bis 38,
wobei das Tabellenkalkulationsmodell die Information
in einer Anzahl Informationszellen hält, und wobei der
Unterschritt i) den Vergleich einer jeden
Informationszelle der neuen Version mit einer entsprechenden Zelle
der Grundversion umfasst, und ein unterschiedlicher Wert
zwischen den beiden Zellen als Veränderungen erkannt
wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/031,379 US5303146A (en) | 1993-03-11 | 1993-03-11 | System and methods for improved scenario management in an electronic spreadsheet |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69425684D1 DE69425684D1 (de) | 2000-10-05 |
DE69425684T2 true DE69425684T2 (de) | 2000-12-28 |
Family
ID=21859126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69425684T Expired - Fee Related DE69425684T2 (de) | 1993-03-11 | 1994-03-09 | System und Verfahren zur Verwaltung elektronischer Modellierungssysteme |
Country Status (4)
Country | Link |
---|---|
US (3) | US5303146A (de) |
EP (1) | EP0615200B1 (de) |
CA (1) | CA2116651A1 (de) |
DE (1) | DE69425684T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7416136B2 (en) | 2004-03-04 | 2008-08-26 | Parsytec Computer Gmbh | Method for preprocessing surface data, method for quality assessment and for quality management of strip material and apparatus for controlling the processing of strip material |
Families Citing this family (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303146A (en) | 1993-03-11 | 1994-04-12 | Borland International, Inc. | System and methods for improved scenario management in an electronic spreadsheet |
JPH0737008A (ja) * | 1993-06-29 | 1995-02-07 | Hitachi Ltd | 表計算処理装置の表示制御方法 |
US5461708A (en) * | 1993-08-06 | 1995-10-24 | Borland International, Inc. | Systems and methods for automated graphing of spreadsheet information |
US5485618A (en) * | 1993-12-15 | 1996-01-16 | Borland International, Inc. | Methods and interface for building command expressions in a computer system |
US5799295A (en) * | 1993-12-29 | 1998-08-25 | Kabushiki Kaisha Toshiba | Constraint-based spreadsheet system capable of displaying a process of execution of programs |
US5818715A (en) * | 1994-04-18 | 1998-10-06 | International Business Machines Corporation | Method and system for efficiently modifying a project model in response to an update to the project model |
US5604854A (en) * | 1994-04-22 | 1997-02-18 | Borland International, Inc. | System and methods for reformatting multi-dimensional spreadsheet information |
US5806078A (en) * | 1994-06-09 | 1998-09-08 | Softool Corporation | Version management system |
US5727161A (en) * | 1994-09-16 | 1998-03-10 | Planscan, Llc | Method and apparatus for graphic analysis of variation of economic plans |
US5729730A (en) * | 1995-03-28 | 1998-03-17 | Dex Information Systems, Inc. | Method and apparatus for improved information storage and retrieval system |
WO1996025717A1 (en) * | 1995-02-14 | 1996-08-22 | Business Matters Incorporated | Computer based financial planning system |
JP3166555B2 (ja) * | 1995-04-13 | 2001-05-14 | 富士ゼロックス株式会社 | 文書処理装置 |
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 |
GB2303946A (en) * | 1995-07-29 | 1997-03-05 | Ibm | Data conferencing system |
US5812983A (en) * | 1995-08-03 | 1998-09-22 | Kumagai; Yasuo | Computed medical file and chart system |
GB2303948B (en) * | 1995-08-03 | 2000-06-28 | Ibm | A data processing system |
US5983001A (en) * | 1995-08-30 | 1999-11-09 | Sun Microsystems, Inc. | Method and system for facilitating the automatic creation of test scripts |
US6604088B1 (en) * | 1995-09-12 | 2003-08-05 | Monarch Marking Systems, Inc. | Automatic barcode printing supply price quote system and method |
EP0770967A3 (de) * | 1995-10-26 | 1998-12-30 | Koninklijke Philips Electronics N.V. | System zur Entscheidungsunterstützung für das Management einer flinken Versorgungskette |
US5860071A (en) * | 1997-02-07 | 1999-01-12 | At&T Corp | Querying and navigating changes in web repositories |
US6035300A (en) * | 1995-12-15 | 2000-03-07 | International Business Machines Corporation | Method and apparatus for generating a user interface from the entity/attribute/relationship model of a database |
US5799193A (en) * | 1996-04-29 | 1998-08-25 | Siemens Corporate Research, Inc. | Scenario based iterative method for development of an object oriented system model |
US5819293A (en) * | 1996-06-06 | 1998-10-06 | Microsoft Corporation | Automatic Spreadsheet forms |
US6513154B1 (en) | 1996-10-21 | 2003-01-28 | John R. Porterfield | System and method for testing of computer programs in programming effort |
US6292810B1 (en) | 1997-03-03 | 2001-09-18 | Richard Steele Richards | Polymorphic enhanced modeling |
US5910895A (en) * | 1997-06-13 | 1999-06-08 | Teradyne, Inc. | Low cost, easy to use automatic test system software |
GB9713719D0 (en) * | 1997-06-27 | 1997-09-03 | British Telecomm | Data model compiler |
US6564319B1 (en) * | 1997-12-29 | 2003-05-13 | International Business Machines Corporation | Technique for compressing digital certificates for use in smart cards |
EP1037157A1 (de) * | 1999-03-05 | 2000-09-20 | International Business Machines Corporation | Verfahren und System zur Bearbeitung unterschiedlichen Zellenschutzmoden in einem elektronischen Kalkulationsblatt |
US6766325B1 (en) * | 1999-12-02 | 2004-07-20 | Microsoft Corporation | System and method for maintaining data for performing “what if” analysis |
US7185279B2 (en) * | 2000-01-07 | 2007-02-27 | Master Mine Software, Inc. | Data mining and reporting |
US6891566B2 (en) | 2000-03-14 | 2005-05-10 | Joseph Robert Marchese | Digital video system using networked cameras |
DE10014427A1 (de) * | 2000-03-24 | 2001-10-04 | Weinmann G Geraete Med | Verfahren zur Steuerung eines Beatmungsgerätes sowie Vorrichtung zur Überwachung |
US7143338B2 (en) * | 2000-04-14 | 2006-11-28 | International Business Machines Corporation | Method and system in an electronic spreadsheet for handling absolute references in a copy/cut and paste operation according to different modes |
US20020059233A1 (en) * | 2000-07-13 | 2002-05-16 | International Business Machines Corporation | Method and system in an electronic spreadsheet for applying user-defined options |
US7178098B2 (en) * | 2000-07-13 | 2007-02-13 | International Business Machines Corporation | Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut—paste operation |
US7146561B2 (en) * | 2000-07-13 | 2006-12-05 | International Business Machines Corporation | Method and system in an electronic spreadsheet for comparing series of cells |
US7272783B2 (en) * | 2000-07-13 | 2007-09-18 | International Business Machines Corporation | Method and system in an electronic spreadsheet for managing and handling user-defined options |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
EP1204048A1 (de) | 2000-11-03 | 2002-05-08 | Sun Microsystems, Inc. | Verfahren und Vorrichtung zur Szenarien-Handhabung in einen Kalkulationsblatt |
US6779151B2 (en) * | 2001-01-05 | 2004-08-17 | Microsoft Corporation | Storing objects in a spreadsheet |
WO2002057932A1 (en) * | 2001-01-16 | 2002-07-25 | Outlooksoft Corporation | Systems and methods providing dynamic spreadsheet functionality |
US8275974B2 (en) * | 2001-01-16 | 2012-09-25 | Outlooksoft Corporation | Systems and methods providing dynamic spreadsheet functionality |
US7082569B2 (en) * | 2001-01-17 | 2006-07-25 | Outlooksoft Corporation | Systems and methods providing dynamic spreadsheet functionality |
US20020143809A1 (en) * | 2001-03-28 | 2002-10-03 | Bennett Paul W. | System and method for calculation using multi-field columns with hidden fields |
US20030033329A1 (en) * | 2001-06-22 | 2003-02-13 | Bergman Eric D. | Method and apparatus for entry and editing of spreadsheet formulas |
US7251776B2 (en) * | 2001-07-13 | 2007-07-31 | Netview Technologies, Inc. | System and method for efficiently and flexibly utilizing spreadsheet information |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US8069405B1 (en) * | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US20030187717A1 (en) * | 2002-03-29 | 2003-10-02 | Robert Crites | Method for marketing strategy optimization |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US6880037B2 (en) * | 2002-08-13 | 2005-04-12 | Activcard, Inc. | Method of data caching on a smartcard |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
US20040080514A1 (en) * | 2002-10-24 | 2004-04-29 | Dorwart Richard Wilson | System and method for automated data extraction, manipulation and charting |
US20040098249A1 (en) * | 2002-11-18 | 2004-05-20 | Yaliang Wang | Method and system to utilize web resources for language vocabulary learning |
US7171421B2 (en) * | 2002-11-26 | 2007-01-30 | General Electric Company | System for automating operating parameter list process |
GB0403059D0 (en) | 2004-02-12 | 2004-03-17 | Cluster Seven Ltd | Xigence version 1.0 |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US7444584B1 (en) * | 2004-03-30 | 2008-10-28 | Microsoft Corporation | Method and system for formulaically redirecting and modifying formula set operations in a spreadsheet application |
US20050253874A1 (en) * | 2004-05-13 | 2005-11-17 | Microsoft Corporation | Report customization and viewer |
US9323735B2 (en) * | 2004-06-08 | 2016-04-26 | A3 Solutions Inc. | Method and apparatus for spreadsheet automation |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US7676738B2 (en) * | 2004-09-13 | 2010-03-09 | Whitebirch Software, Inc. | Scenario-dependent evaluation formula |
US20060167778A1 (en) * | 2004-09-21 | 2006-07-27 | Whitebirch Software, Inc. | Object-oriented financial modeling |
US8745483B2 (en) | 2004-10-07 | 2014-06-03 | International Business Machines Corporation | Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet |
US8296646B2 (en) * | 2005-02-02 | 2012-10-23 | International Business Machines Corporation | Focusing on areas of the display of tabular data through hierarchical collapsing and expanding of cell areas |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US9734139B2 (en) * | 2005-02-14 | 2017-08-15 | Cluster Seven Limited | Auditing and tracking changes of data and code in spreadsheets and other documents |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
CN1892641A (zh) * | 2005-06-29 | 2007-01-10 | 国际商业机器公司 | 用于在电子表单中隐藏模型内的敏感数据的方法和系统 |
CN1904879B (zh) * | 2005-07-27 | 2011-01-12 | 国际商业机器公司 | 电子表格系统及获取电子表格文档的快照/历史信息的方法 |
DE102005036321A1 (de) * | 2005-07-29 | 2007-02-01 | Siemens Ag | Verfahren und Vorrichtung zum dynamischen Generieren von Testszenarien für komplexe rechnergesteuerte Systeme, z.B. für medizintechnische Anlagen |
US8549392B2 (en) * | 2005-08-30 | 2013-10-01 | Microsoft Corporation | Customizable spreadsheet table styles |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
GB2433614A (en) * | 2005-12-23 | 2007-06-27 | Mark Martindale | Data tracking system |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US9166883B2 (en) | 2006-04-05 | 2015-10-20 | Joseph Robert Marchese | Network device detection, identification, and management |
US8656272B2 (en) * | 2006-04-28 | 2014-02-18 | Microsoft Corporation | Persisting instance-level report customizations |
US20070294612A1 (en) * | 2006-06-20 | 2007-12-20 | Microsoft Corporation | Comparing and Managing Multiple Presentations |
JP5175284B2 (ja) * | 2006-07-31 | 2013-04-03 | クラスター セブン リミテッド | スプレッドシートおよびその他の文書の記憶および処理 |
CN101127034B (zh) * | 2006-08-18 | 2012-05-23 | 国际商业机器公司 | 数据组织、查询、呈现、存档、恢复、删除、提炼方法及装置和系统 |
US20080168341A1 (en) * | 2007-01-10 | 2008-07-10 | Raymond Payette | Digital spreadsheet formula automation |
US8205150B2 (en) * | 2007-01-22 | 2012-06-19 | Cfph, Llc | Document changes |
US20080222508A1 (en) * | 2007-03-08 | 2008-09-11 | Huy Nguyen | Method and system for comparing spreadsheets |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US20080301542A1 (en) * | 2007-06-01 | 2008-12-04 | Mcgee David | Digital paper-enabled spreadsheet systems |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US8577704B2 (en) * | 2007-12-10 | 2013-11-05 | Modelsheet Software, Llc | Automatically generating formulas based on parameters of a model |
US8108193B2 (en) * | 2008-08-28 | 2012-01-31 | International Business Machines Corporation | Collaboration framework for modeling |
DE102008053296A1 (de) * | 2008-10-27 | 2010-04-29 | Atmel Automotive Gmbh | Schaltung für eine Schleifenantenne und Verfahren zur Abstimmung |
US10685177B2 (en) * | 2009-01-07 | 2020-06-16 | Litera Corporation | System and method for comparing digital data in spreadsheets or database tables |
US20100235848A1 (en) * | 2009-03-11 | 2010-09-16 | Selina Lam | System and method for providing automatic advertising distribution for online computer users |
US20100235239A1 (en) * | 2009-03-11 | 2010-09-16 | Selina Lam | System and method for providing automatic advertising and category distribution for online computer users |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US8578289B2 (en) * | 2010-01-28 | 2013-11-05 | Ebay Inc. | Application module for managing jobs asynchronously |
US9785894B2 (en) | 2010-03-31 | 2017-10-10 | Oracle International Corporation | Simulation of supply chain plans using web service |
US9740994B2 (en) * | 2010-03-31 | 2017-08-22 | Oracle International Corporation | Simulation of supply chain plans using data model |
US9069747B2 (en) | 2010-08-26 | 2015-06-30 | Sap Se | Methods, apparatus, systems and computer readable mediums for use in association with electronic spreadsheets |
CA2718360A1 (en) * | 2010-10-25 | 2011-01-05 | Ibm Canada Limited - Ibm Canada Limitee | Communicating secondary selection feedback |
US8595610B2 (en) * | 2011-01-25 | 2013-11-26 | Infineon Technologies Ag | Method, software and computer system for manipulating aggregated data |
US10140269B2 (en) * | 2013-03-12 | 2018-11-27 | Microsoft Technology Licensing, Llc | Viewing effects of proposed change in document before committing change |
JP6092702B2 (ja) * | 2013-04-25 | 2017-03-08 | 京セラ株式会社 | 通信端末、および情報送信方法 |
US9026897B2 (en) * | 2013-07-12 | 2015-05-05 | Logic9S, Llc | Integrated, configurable, sensitivity, analytical, temporal, visual electronic plan system |
US9116931B2 (en) * | 2013-07-12 | 2015-08-25 | Logic9S, Llc | Integrated, configurable, analytical, temporal, visual electronic plan system |
US20160092045A1 (en) | 2014-09-30 | 2016-03-31 | Splunk, Inc. | Event View Selector |
US20160098463A1 (en) | 2014-10-05 | 2016-04-07 | Splunk Inc. | Event Segment Search Drill Down |
US11231840B1 (en) | 2014-10-05 | 2022-01-25 | Splunk Inc. | Statistics chart row mode drill down |
US9977803B2 (en) | 2015-01-30 | 2018-05-22 | Splunk Inc. | Column-based table manipulation of event data |
US10013454B2 (en) | 2015-01-30 | 2018-07-03 | Splunk Inc. | Text-based table manipulation of event data |
US9922082B2 (en) | 2015-01-30 | 2018-03-20 | Splunk Inc. | Enforcing dependency between pipelines |
US9922084B2 (en) | 2015-01-30 | 2018-03-20 | Splunk Inc. | Events sets in a visually distinct display format |
US9842160B2 (en) | 2015-01-30 | 2017-12-12 | Splunk, Inc. | Defining fields from particular occurences of field labels in events |
US9916346B2 (en) | 2015-01-30 | 2018-03-13 | Splunk Inc. | Interactive command entry list |
US10726037B2 (en) | 2015-01-30 | 2020-07-28 | Splunk Inc. | Automatic field extraction from filed values |
US10061824B2 (en) | 2015-01-30 | 2018-08-28 | Splunk Inc. | Cell-based table manipulation of event data |
US11442924B2 (en) | 2015-01-30 | 2022-09-13 | Splunk Inc. | Selective filtered summary graph |
US11544248B2 (en) | 2015-01-30 | 2023-01-03 | Splunk Inc. | Selective query loading across query interfaces |
US10915583B2 (en) | 2015-01-30 | 2021-02-09 | Splunk Inc. | Suggested field extraction |
US11615073B2 (en) | 2015-01-30 | 2023-03-28 | Splunk Inc. | Supplementing events displayed in a table format |
US10331495B2 (en) | 2016-02-05 | 2019-06-25 | Sas Institute Inc. | Generation of directed acyclic graphs from task routines |
US10795935B2 (en) | 2016-02-05 | 2020-10-06 | Sas Institute Inc. | Automated generation of job flow definitions |
US10642896B2 (en) | 2016-02-05 | 2020-05-05 | Sas Institute Inc. | Handling of data sets during execution of task routines of multiple languages |
US10650045B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Staged training of neural networks for improved time series prediction performance |
US10360069B2 (en) | 2016-02-05 | 2019-07-23 | Sas Institute Inc. | Automated transfer of neural network definitions among federated areas |
US10346476B2 (en) | 2016-02-05 | 2019-07-09 | Sas Institute Inc. | Sketch entry and interpretation of graphical user interface design |
US10650046B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Many task computing with distributed file system |
US10387558B2 (en) * | 2016-02-23 | 2019-08-20 | International Business Machines Corporation | Provision of a separate input interface for user interaction with a spreadsheet |
JP6862993B2 (ja) * | 2017-03-28 | 2021-04-21 | コニカミノルタ株式会社 | 出力制御プログラム及び出力制御方法 |
US11467971B2 (en) * | 2017-08-29 | 2022-10-11 | Workday, Inc. | Systems and methods for accelerating data computation |
US11080462B2 (en) | 2017-11-13 | 2021-08-03 | Workshare Ltd. | Method of comparing two data tables and displaying the results without source formatting |
US10409890B2 (en) * | 2018-01-04 | 2019-09-10 | Apple Inc. | Evaluation of formulas via modal attributes |
US10884571B2 (en) * | 2018-01-11 | 2021-01-05 | Microsoft Technology Licensing, Llc | Dependency-based presence for co-authored documents |
US11810034B2 (en) | 2018-11-02 | 2023-11-07 | Kardin Systems Inc. | Variable resource allocation |
WO2020118354A1 (en) * | 2018-12-11 | 2020-06-18 | Marc William Rautenbach | Improved spreadsheet and method for updating same |
US11054962B1 (en) * | 2019-12-16 | 2021-07-06 | Digits Financial, Inc. | System and method for displaying changes to a number of entries in a set of data between page views |
US11048378B1 (en) * | 2019-12-16 | 2021-06-29 | Digits Financial, Inc. | System and method for tracking changes between a current state and a last state seen by a user |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4020466A (en) * | 1974-07-05 | 1977-04-26 | Ibm Corporation | Memory hierarchy system with journaling and copy back |
US4077059A (en) * | 1975-12-18 | 1978-02-28 | Cordi Vincent A | Multi-processing system with a hierarchial memory having journaling and copyback |
US5055998A (en) * | 1984-12-10 | 1991-10-08 | Wang Laboratories, Inc. | Intermediate spreadsheet structure |
EP0211151B1 (de) * | 1985-05-30 | 1992-09-09 | International Business Machines Corporation | Verfahren zum Steuern der Folge von Editierzellen in einem elektronischen Kalkulationsblatt |
US5021973A (en) * | 1986-01-16 | 1991-06-04 | International Business Machines Corporation | Method for assisting the operator of an interactive data processing system to enter data directly into a selected cell of a spreadsheet |
US4819156A (en) * | 1986-06-13 | 1989-04-04 | International Business Machines Corporation | Database index journaling for enhanced recovery |
US5033009A (en) * | 1989-03-03 | 1991-07-16 | Dubnoff Steven J | System for generating worksheet files for electronic spreadsheets |
US5255356A (en) * | 1989-05-31 | 1993-10-19 | Microsoft Corporation | Method for hiding and showing spreadsheet cells |
US5182793A (en) * | 1989-06-30 | 1993-01-26 | Texas Instruments Incorporated | Computer-aided decision making with a symbolic spreadsheet |
US5093907A (en) * | 1989-09-25 | 1992-03-03 | Axa Corporation | Graphic file directory and spreadsheet |
US5237500A (en) * | 1990-02-27 | 1993-08-17 | Realvalue Corporation | System and process for converting constant dollar financial instruments |
US5214780A (en) * | 1990-03-23 | 1993-05-25 | Sun Microsystems, Inc. | Synchronized journaling system |
US5276607A (en) * | 1990-03-28 | 1994-01-04 | Wordperfect Corporation | Method for optimal recalculation |
US5231577A (en) * | 1990-04-06 | 1993-07-27 | Microsoft Corporation | Method and system for processing formatting information in a spreadsheet |
US5095429A (en) * | 1990-08-28 | 1992-03-10 | Pillar Corporation | Method for prioritizing data in financial information system |
US5293615A (en) * | 1990-11-16 | 1994-03-08 | Amada Carlos A | Point and shoot interface for linking database records to spreadsheets whereby data of a record is automatically reformatted and loaded upon issuance of a recalculation command |
JPH04324540A (ja) * | 1991-04-25 | 1992-11-13 | Kobe Nippon Denki Software Kk | テキスト変更管理方式 |
CA2074769C (en) * | 1991-08-09 | 2001-03-20 | International Business Machines Corporation | Formula processor |
US5416895A (en) * | 1992-04-08 | 1995-05-16 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
US5371675A (en) * | 1992-06-03 | 1994-12-06 | Lotus Development Corporation | Spreadsheet program which implements alternative range references |
US5303146A (en) * | 1993-03-11 | 1994-04-12 | Borland International, Inc. | System and methods for improved scenario management in an electronic spreadsheet |
-
1993
- 1993-03-11 US US08/031,379 patent/US5303146A/en not_active Expired - Lifetime
- 1993-12-10 US US08/165,237 patent/US5499180A/en not_active Expired - Lifetime
-
1994
- 1994-02-28 CA CA002116651A patent/CA2116651A1/en not_active Abandoned
- 1994-03-09 EP EP94301687A patent/EP0615200B1/de not_active Expired - Lifetime
- 1994-03-09 DE DE69425684T patent/DE69425684T2/de not_active Expired - Fee Related
-
1996
- 1996-02-07 US US08/597,794 patent/US6438565B1/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7416136B2 (en) | 2004-03-04 | 2008-08-26 | Parsytec Computer Gmbh | Method for preprocessing surface data, method for quality assessment and for quality management of strip material and apparatus for controlling the processing of strip material |
Also Published As
Publication number | Publication date |
---|---|
EP0615200B1 (de) | 2000-08-30 |
DE69425684D1 (de) | 2000-10-05 |
EP0615200A3 (de) | 1995-06-14 |
US5499180A (en) | 1996-03-12 |
US6438565B1 (en) | 2002-08-20 |
EP0615200A2 (de) | 1994-09-14 |
CA2116651A1 (en) | 1994-09-12 |
US5303146A (en) | 1994-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69425684T2 (de) | System und Verfahren zur Verwaltung elektronischer Modellierungssysteme | |
DE60008498T2 (de) | Verfahren und System zum Addieren und Löschen von Elementen in einem Bereich von mit Namen versehenen Zellen entsprechend verschiedener Methoden in einem elektronischen Kalkulationsblatt | |
DE69331025T2 (de) | System und Verfahren für Rechnerschnittstellen | |
DE69429658T2 (de) | Computer-bedieneroberfläche für dokumente mit vielfältigem inhalt | |
DE60133343T2 (de) | Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion | |
DE3881331T2 (de) | Flexible Fensterverwaltung auf einer Rechneranzeige. | |
DE3586790T2 (de) | In linie-dynamischer editor fuer gemischte objectdokumente. | |
DE4301766C2 (de) | Verfahren zum Darstellen eines doppelseitigen, umwendbaren elektronischen Papiers | |
DE3586274T2 (de) | Vieldaten-edierungsgeraet mit gebrauch von attributstroemen fuer textobjekte. | |
DE3586273T2 (de) | Implizite erzeugung einer superblockstruktur in einem vieldaten-edierungsgeraet. | |
DE3586272T2 (de) | Integriertes vieldaten-edierungsgeraet. | |
DE69525243T2 (de) | System zum binden von dokumentteilen und editoren in einer mensch-maschinen-schnittstelle | |
DE60319229T2 (de) | Verfahren und system zur erweiterung der api eines dateisystems | |
DE69732547T2 (de) | Verfahren und Gerät zum Zusammenklappen und zur Ausdehnung auserwählter Bereiche von Arbeitsräumen auf einem von einem Rechner kontrollierten Anzeigesystem | |
DE60314563T2 (de) | Überlagerung mit elektronischer Tinte | |
DE68923492T2 (de) | Verfahren zum Zugriff auf ausgewählte Fenster in einem Mehrprozessbetriebssystem. | |
DE69600794T2 (de) | Graphische entwicklungs- und verwaltungsumgebung für anwendungsprogramme | |
DE69528885T2 (de) | Software-notizen | |
DE69127672T2 (de) | Zielorientiertes elektronisches Formblattsystem | |
DE68922116T2 (de) | Dokumentverarbeitungssystem und Verfahren zur Verwendung darin. | |
DE69232110T2 (de) | Darstellungssystem von Geschichtsinhalt für einen Informationsprozessor | |
DE60203525T2 (de) | Vorrichtung und verfahren in einer büroapplikation zur bereitstellung von inhaltsabhängiger hilfeinformation | |
DE69026885T2 (de) | Dynamische Selektion von Datenformaten für rekursiv geschachtelte logische Elemente | |
DE19959765B4 (de) | Datei-Editor für mehrere Datenuntermengen | |
DE4334524A1 (de) | Dokumentverarbeitungsvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |