Frage

Ich bin über die ersten Phasen der Gestaltung eines Rohstoffhandel Anwendung einzugeben. Eine wichtige Funktion dieser Anwendung ist die Erfassung und Auswertung von Preisinformationen. Preise in diesem Markt ist nicht festgelegt. Es ist in der Regel ein Markt-Benchmark +/- eine Prämie. Zum Beispiel: (A und B sind Markt Benchmarks)

  • Preis = A + $ 1
  • Preis = A + 0,5 (A-B)

Der endgültige Preis der Transaktion berechnet, um die Preisformel über eine vereinbarte Zeit angewandt werden. Zum Beispiel; Der endgültige Preis könnte der Durchschnitt von A + $ 1 über die Woche vor und Woche im Anschluss an das Laden der Ware.

, die an die Händler dieses Detail in Excel erfassen, die ihnen die Flexibilität, um Setup erlaubt die Formeln erforderlich, aber diese Informationen macht es nie in unsere Abrechnungssysteme und die Tabellen nicht leben Prognosen der Markt Benchmarks machen Preisprognosen verbunden eine manuelle und langsame Aufgabe.

Ich suche Eingabe in Bezug auf welche Werkzeuge / Techniken, die ich verwenden kann, um, zu speichern und auszuwerten Formeln in einer Anwendung eingeben.

Wir werden SQL Server oder Oracle als Datenbank verwenden und die Client-Plattform ist noch nicht festgelegt, aber Sie können WinForms / WPF, ASP.NET oder ein Java-Webapp nehmen.

Ich weiß, dass dies eine ziemlich große Frage ist, aber wir sind nicht weit genug um genauer zu sein, was Technologien verwendet werden.

Danke

War es hilfreich?

Lösung

Ich wette Ihre Benutzer wie die Flexibilität der Formeln in Excel eingeben, also würde ich einen Ansatz wie folgt vorschlagen: -

  1. Schreiben Sie etwas, damit sie Formeln in Ihre Anwendung mit der Art von Operatoren eingeben, die sie tatsächlich mit Keywords für die verschiedenen Basispreise verwenden. Dies kann nur als String gespeichert entfernt werden.
  2. Überprüfen Sie diese eine Positivliste Ansatz (könnte ziemlich schwierig sein, vielleicht müssen Sie einige Stack-basierten Parsingalgorithmen nachschlagen). Sie ermöglichen könnten.: + - / * () {numerische Konstanten} {Schlüsselwörter für die Basispreise}
  3. Übersetzen dieser Formeln in etwas, das Ihre Datenbank in der SELECT-Liste verstehen kann. Wenn die Formeln, die sie ähnlich sind geben, was Sie in SQL tun kann, könnte dies nicht allzu schwierig sein. Die Schlüsselwörter erhalten in Spaltennamen gedreht und alles andere kann in Ruhe gelassen werden.

Dann werden Sie in der Lage sein, die Daten zurück zur Auswahl, über die Zeiträume von durchschnittlich usw. durch in den speziellen formual Einstecken und es über die historischen Daten und / oder Vorhersagen ausgeführt wird.

Schritt 2 hat einige Tricks, um es, aber es wäre alles andere einfach (und effizient) machen.

Andere Tipps

Haben Sie darüber nachgedacht, mit Excel zu integrieren? Auf diese Weise müssen Sie nicht versuchen, Excel hebeln aus ihren Kupplungen (Business-Anwender ADORE Excel), und sie bekommen alle Tricks zu verwenden, sie im Laufe der Jahre gelernt haben. Sie pumpen nur die Daten hin und her zwischen der App und Excel VBA (oder aber sie sagen, Menschen mit Excel in diesen Tagen zu integrieren) und Sie sind ziemlich gut zu gehen.

Ich habe eine lächerlich einfache Lösung für Hank 'Proposition bezogen. Erstellen Sie eine Datenbank und modelliert es nach Ihren Excel-Tabellen. Exportieren Sie die Excel-Daten und importieren sie in die Datenbank. Erstellen Sie ODBC-Anschlüsse auf den Client-Rechnern auf die Datenbank zu verweisen. In Excel können Sie auf die Datenquellen verbinden. Auf diese Weise Ihre Kunden keine Probleme mit Änderungen an der Benutzeroberfläche haben.

Interessantes Szenario. WARNUNG: Diese Antwort wird auf einige Ideen basieren ich für die Annäherung an das Problem hatte und beziehen sich möglicherweise nicht am besten Praktiken

.

Ich würde versuchen, um zu sehen, ob Sie Ihre potentielle Formel Regeln in einfachere Konstruktionen einkochen können. Dies würde dann können Sie Ihre Regeln zusammen komponieren komplexe Formeln erstellen. Sie würden dann in der Lage sein müssen, die Regeln in der Datenbank zu speichern, die entweder mit einem DSL oder eine XML-Regel-Datei durchgeführt werden können.

Es klingt wie Ihre aktuelle Szenario-Formel in Excel funktioniert ziemlich gut aus, aber hat ein paar Macken. Haben Sie darüber nachgedacht einige erweiterte Makros oder Automatisierung treffen? Sie könnten wahrscheinlich die meisten Ihrer Ziele erreichen, ohne Ihre Kunden jemals Excel zu verlassen.

Viel Glück.

Wenn die Daten aus einer vertrauenswürdigen Quelle (big if) Sie Datenbank-Ausdrücke in einer Spalte speichern und dann eine SELECT-Anweisung on the fly erstellen, um sie auszuführen.

Sie können eine symbolische Mathematik-Paket verwenden, wie zum Beispiel GiNaC , um die Formeln zu interpretieren Sie in der Eingabe Tabellen.

Danke für die Antworten.

Der Anwender sich weg von Excel erhalten mögen. Sie kämpfen mit mehreren Benutzern versuchen, und Aktualisierung der Daten einzugeben. Ich könnte untersuchen, welche Optionen VSTO zum Einbetten kleine Excel-Sheets in Anwendungen gibt.

Ich bin Neigung eine eingebettete ‚Sprache‘ zu verwenden, die Formeln zu speichern und auszuwerten.

einen einfachen Parser eingegeben Formeln verwandeln sich in SQL wahrscheinlich eine vernünftige Idee ist, wie die Variablen in den Gleichungen Zeitreihen sind Vektoren nicht skalare Datenpunkte und der SQL-Ansatz sollte es einfacher machen, die Ergebnisse über die erforderlichen Zeiträume zu berechnen.

Danke

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top