Hello everyone,

I have the following problem. I am developing an OR application, and it currently is at the prototype stage.

I need to send the solutions from the prototype for inspection to a few people, some less tech-savy than others.

The format I've been using is an excel workbook with a few spreadsheet. Furthermore, I extract some charts with R/matplotlib.

However, the workbooks can get too big to handle Excel/Calc and the charts are static, i.e. cannot be changed once generated.

I was wondering if there were no other alternative to excel workbooks for passing and visualizing small datasets. Like a file-based BI/Olap system for desktops with an excel workbook interface and point-and-click controls.

Ideally, the alternative would use a standard file format (excel, hdf, ...) to store the solutions' data (variable values) and would allow some querying (select, dice, drill, aggregate, ...) and some visualization , with little or no coding required. It would also be nice if it were cross-platform free and easy to install.

In this way, anyone could open and inspect the workbooks as they like

I know there are web/server based solutions, but I am looking for something desktop- and file- based that requires minimum configuration and that can thus be used without requiring 3rd-party hosting solutions.

I saw pentaho and knime advertise "desktop" versions. Weka could be used as well. But I need to try them out.

Do you have any software to suggest? Or a different way to solve the problem?

TIA

asked 17 Feb, 11:20

Andrea%20T's gravatar image

Andrea T
384418
accept rate: 0%

edited 17 Feb, 13:05


Since you mentioned R, I would go with that. Do the analysis in an R notebook, and either store the data in an SQL-compliant database (say, using SQLite) or in R objects (perhaps using either the archivist or feather R package). If you want a more conventional method for storing the data, there are R packages to read and write Excel or CSV files. The graphics in the notebook will be reproduced from the current data whenever the user reruns the notebook. There are R packages such as DT that will allow you to display tables, filter what you see, sort and so on. If you wanted something even more complicated, you might want to build an interactive application using Shiny. Shiny apps can be run locally (in a web browser) without requiring a web server.

To share with others, they would just have to install R, whatever R packages you used (archivist, feather, an Excel/CSV package or perhaps RSQLite; possibly ggplot2 and/or plotly if you want moderately fancy graphics; maybe DT for tables; maybe Shiny for a fancier, more interactive approach), SQLite or some other SQL package if you go that route, and optionally (but recommended) RStudio (makes futzing with the notebooks easy). All the software is FOSS, installation is easy, and you could arguably create a bundle for them to download and install. Installation should be easy, and instructions on how to run the bundle should be relatively uncomplicated (especially if they use RStudio).

I know that there are notebook packages for Python (Jupyter?), but I'm not a Python user and thus have no experience with them.

link

answered 17 Feb, 11:56

Paul%20Rubin's gravatar image

Paul Rubin ♦♦
14.5k412
accept rate: 19%

Thanks. Indeed I used Jupyter with R and Python in the past.

The problem I have with that is that the other colleagues have little or no experience with that software. So if someone wanted to inspect the solution by himself he'd had to ask me for either an excel file or some generated chart anyway.

I actually need a desktop software with a point-and-click interface, so just like Excel/Calc but with a few "additions", although I realize these requirements could be very hard to satisfy in practice

(17 Feb, 13:32) Andrea T

Will the user's pointing and clicking only be to examine the data, or will they need to enter/edit data? A Shiny application would provide a point-and-click interface (in a browser) for examining the data (slicing or filtering, updating plots, choosing variables for plot axes, ...). You could include data entry/editing as well with a bit more work.

(17 Feb, 13:58) Paul Rubin ♦♦

Ok, then I would guess I need to look into shiny, maybe the python version as we're using mainly that. The net says it's bokeh or dash)

(17 Feb, 14:47) Andrea T

There's a gallery of Shiny apps to show off what it can do: https://shiny.rstudio.com/gallery/. I would not be surprised if something similar exists for the Python alternatives.

(17 Feb, 15:48) Paul Rubin ♦♦
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×3

Asked: 17 Feb, 11:20

Seen: 156 times

Last updated: 17 Feb, 15:48

OR-Exchange! Your site for questions, answers, and announcements about operations research.