简体   繁体   English

将Excel集成为数据库管理的一部分

[英]Integrating Excel as part of database management

I realize this is not a very specific question that is open to different opinions, but answering it requires technical expertise that I do not currently have. 我意识到这不是一个可以接受不同意见的非常具体的问题,但是要回答这个问题需要我目前没有的专业技术知识。

My team of 10 people continually maintains and updates a SQL database of approximately 1 million records and 100 fields. 我的10人团队不断维护和更新大约100万个记录和100万个字段的SQL数据库。 We are a market research outfit - most of the data points are modeled assumptions that we need to update frequently as new information becomes available. 我们是市场研究机构-大多数数据点都是建模假设,随着新信息的发布,我们需要经常进行更新。

We use a .NET web interface to update/insert/delete. 我们使用.NET Web界面进行更新/插入/删除。 However, this interface is clunky and slow. 但是,此接口笨拙且缓慢。 For example: 例如:

  • We cannot copy/paste in a row of numbers; 我们不能连续复制/粘贴数字; eg, budgeted amounts across several time periods; 例如,多个时间段的预算金额;
  • We cannot copy/paste similar dimension values across multiple records; 我们无法跨多个记录复制/粘贴相似的维度值;
  • We cannot create new records and fill it's contents quickly 我们无法创建新记录并快速填充其内容
  • Cannot assess the effect of your changes on your dataset, as you could with Excel 无法像使用Excel那样评估更改对数据集的影响

Most of us are more inclined to navigate data, change values and test our assumptions in Excel, and then go back and make changes in the .NET interface. 我们大多数人更倾向于浏览数据,更改值并在Excel中测试我们的假设,然后返回并在.NET界面中进行更改。

My question is: 我的问题是:

  • is it possible for multiple users to simultaneously use Excel as a content management system for a custom SQL database? 多个用户是否可以同时使用Excel作为自定义SQL数据库的内容管理系统? I would design a workbook with tabs that would be specifically designed to upload to the database, and on other tabs analysts could quickly and easily perform their calculations, copy/paste, etc. 我将设计一个工作簿,其中包含专门用于上传到数据库的选项卡,而在其他选项卡上,分析人员可以快速轻松地执行计算,复制/粘贴等操作。
  • If Excel is not ideal, are there other CMS solutions out there that I could adapt to my database? 如果Excel不理想,是否还有其他我可以适应数据库的CMS解决方案? I was looking at something like this, but I have no idea if it is ideal: http://sqlspreads.com/ 我当时在看这样的东西,但我不知道它是否理想: http//sqlspreads.com/
  • If the above is not realistic, are there ways that a .NET CMS interface can be optimized to 1) run queries faster 2) allow copy/paste, or 3) other optimization? 如果上述做法不切实际,是否可以通过某种方式将.NET CMS接口优化为1)更快地运行查询2)允许复制/粘贴,或3)其他优化?

Having multiple people working on one Excel sheet won't work. 在一个Excel工作表上让多个人工作将不起作用。 What you want to do it create an Excel template that is the same for everyone. 您想要执行的操作将创建一个每个人都相同的Excel模板。 Then you have have everyone entering data in on their templates. 然后,让每个人都在其模板上输入数据。 Write a script that takes this template and uploads it to the database table. 编写一个使用此模板并将其上载到数据库表的脚本。 You can have a template for each table/view and then you have join tables or views to get a bigger picture of all the data. 您可以为每个表/视图都有一个模板,然后可以有联接表或视图以对所有数据有更全面的了解。

it's possible to do something like that in Excel - but it's not that easy. 可以在Excel中执行类似的操作-但这并不容易。 I created such a solution for one of my customers. 我为一位客户创建了这样的解决方案。 400 to 500 users are downloading data from a MS-SQL server into Excel. 400至500个用户正在将数据从MS-SQL服务器下载到Excel。 The data can be changed there and uploaded back to the server then. 可以在此处更改数据,然后将其上传回服务器。 This works for pure line by line as well as for more complex reporting decks. 这适用于纯逐行以及更复杂的报告平台。 But as I said: to built such a solution isn't a quick one. 但是正如我说的那样:建立这样的解决方案不是一个快速的解决方案。

Personally I would try to improve the .NET frontend. 我个人将尝试改进.NET前端。 Because if it is so slow then I would guess you are doing something wrong there. 因为如果速度太慢,那么我猜你在那里做错了。 On the end of the day it doesn't make such a great difference what kind of frontend you use. 归根结底,您使用哪种前端并没有太大的不同。 You will always face similar problems. 您将始终面临类似的问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM