These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

Trying to come up with a production based excel spreadsheet/work book

Author
Damien Sohl
School of Applied Knowledge
Caldari State
#1 - 2012-04-13 22:52:42 UTC
Hi,

So as the title says I'm trying to come up with a spreadsheet to help manage industrial and production related tasks as well as keep an accurate inventory of assets needed to complete builds. I did DL the crucible 1.6 database and related zip files as well as MS SQL server 2012, hell if I know how to use that.

So my question is what would be the best way to going about getting data into a workable spreadsheet form without having to input everything manually.

I'm assuming MSSQL is the best way to go?

mxzf
Shovel Bros
#2 - 2012-04-14 15:39:19 UTC
It depends on what info you want to get out of it and how you want it sorted and laid out. It also depends on your computer skillset and how comfortable you are with manipulating data.

The first method that comes to my mind would be to dump the needed information into a text file and then do a series of Find and Replace All operations to convert it into a CSV file that Excel can read. That may or may not be the simplest thing for you to do though.
LifeHatesMe
LifeHatesUsAll
#3 - 2012-04-14 15:46:29 UTC
I agree with above poster. Based on your strengths you will determine how you write it. I guess the real question is what your good at? SQL? Excel Macros? What? :P

CSV is a good idea, cause most of the time it works pretty well between different programs.
Damien Sohl
School of Applied Knowledge
Caldari State
#4 - 2012-04-14 16:11:53 UTC  |  Edited by: Damien Sohl
Well as it stands right now I know what an Excel spreadsheet looks like...

I'm approaching things as a complete beginner as I've never done any type of DB manipulation at all, at least that I'm aware of.

Right now I'd like to keep things somewhat simple.

I think a good first goal would be to be able to select a BPO/BPC and have it populate the relevant fields with minerals/component parts needed.

down the road I would also like to be able to compare against skill set (API related functionality???) and have the modified data input automatically.

is there an ability to place a drop down list in Excel? ie select a BPO/BPC and the program updates the appropriate minerals required fields? or am I looking at doing something completely different.

I know there are programs out there that would meet my requirements. I would, however, like to actually learn some of this stuff by doing.

Thanks in advance.

I also have zero experience with MSSQL.
mxzf
Shovel Bros
#5 - 2012-04-14 16:58:08 UTC
Ok, Excel can do what you're looking for, but you're going to end up getting a crash-course in some decently advanced Excel techniques. As long as that doesn't scare you too much, and you're willing to read the Help files and ask for help if still stuck, you should do ok.

The basic structure you're going to want is a big workbook with multiple pages. You'll want to have one or more main page(s) which you pick what you want to do and set the skills/prices/etc and then one or more data page(s) with the actual database information on it.

For the dropdowns you will want to use "Data Validation" to create the dropdown list (by using a Named Range consisting of the BPO names) and then VLOOKUP or HLOOKUP (depending on your chosen layout) to pull in the values from the database sheet(s) by having Named Ranges that the lookup functions run on.

I would suggest looking up and reading about all of the terms I capitalized in that last paragraph, they're the main tools you will use in Excel to do this.

To get the data from the database, I would suggest somehow getting a text dump of the database (I don't have MSSQL, so I'm not much help with that specifically) and then opening a good text editor (I recommend Notepad++) and formatting it into CSV format

Example CSV:
valueA1,valueB1,valueC1
valueA2,valueB2,valueC2
valueA3,valueB3,valueC3
(the commas between cells and line returns between rows are the important thing)

Hint: stuff like 'Replace all: "], [" with ","' is good for changing stuff into CSV format.

Once you have stuff in CSV format, you can then import it into your Excel workbook as your database page(s).
Damien Sohl
School of Applied Knowledge
Caldari State
#6 - 2012-04-14 18:03:17 UTC
Ok that is definitely a good start, and no I don't mind crash courses on the advanced stuff. My concern is that as I add more functionality down the road won't the spreadsheet itself get more and more bloated and slower as well? I think some of the more advanced end goals would be to include the following.

total minerals needed for parts completion for cap ships.

partial builds ie 6 BS's off a 10 run copy.

a way to find all mins I own and what systems/stations their in.

cross checking of skills for updated mineral counts for builds.

overall component build time/hull build time.

maybe some type of limited market/contract information for pricing.

as well as other things I haven't thought of yet.

I know I'll have to dive into the API stuff for some of the above I'm curious if Excel can support that type of programming?
mxzf
Shovel Bros
#7 - 2012-04-14 18:22:05 UTC  |  Edited by: mxzf
Yes, Excel can do all of that stuff. It's not always the most efficient of things, but it will do all of that if you want to enough. It will get a bit bigger and bloated, but not too too much.

Personally I would probably do something like writing a Python script to check assets and pull down API info and dump them into a CSV file when you get to the point of needing API calls, but that's a bit more advanced than you want right now.

For now I would suggest working in Excel to get the basic functionality working and then expand from that when you want another feature added in. It might be better in the long run to make a fully standalone program, but it's also a much more advanced project. Excel will do the job just fine though, and is much easier to work with if you're not an experienced programmer.
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#8 - 2012-04-14 18:47:30 UTC
Couple of notes:
All the tables are available on my site in XLS form. Not csv, as there's new lines encoded in it.
You can get the figures from my site, precalculated, using the blueprint calculator.

http://www.fuzzwork.co.uk/blueprints/xml/4310/7/5 for example. Just fill in the typeid, the ME and your PE. Thic can be done on the fly, with something like excel or google apps calc. Saves you from having to work out the formulas to get the right figures back.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

LifeHatesMe
LifeHatesUsAll
#9 - 2012-04-14 19:34:43 UTC
Damien Sohl wrote:
Well as it stands right now I know what an Excel spreadsheet looks like...

I'm approaching things as a complete beginner as I've never done any type of DB manipulation at all, at least that I'm aware of.

I also have zero experience with MSSQL.
Interesting, could I ask what your audience is? Or is this just a script your writing for yourself?
Damien Sohl
School of Applied Knowledge
Caldari State
#10 - 2012-04-14 19:58:19 UTC
right now it's just a thing I'm doing for myself I figure since I like building things it would be a way to pick up some decent program skills.

I'd like to start off on the right path and not have to convert to something else should I find down the road that I want to take the production sheet in a different direction.

mxzf
Shovel Bros
#11 - 2012-04-14 20:47:30 UTC
Damien Sohl wrote:
I'd like to start off on the right path and not have to convert to something else should I find down the road that I want to take the production sheet in a different direction.

Then it just depends on how lofty of goals you have. Excel will go a long ways and do quite well, but it tends to be a bit more about quick and dirty system that works than a highly polished system. It just depends on how polished of a final system you're looking for and how much work you want to put into it.

I would say just stick with Excel, it'll do the job just fine and is much easier to learn.
Damien Sohl
School of Applied Knowledge
Caldari State
#12 - 2012-04-14 20:55:20 UTC
mxzf wrote:
Damien Sohl wrote:
I'd like to start off on the right path and not have to convert to something else should I find down the road that I want to take the production sheet in a different direction.

Then it just depends on how lofty of goals you have. Excel will go a long ways and do quite well, but it tends to be a bit more about quick and dirty system that works than a highly polished system. It just depends on how polished of a final system you're looking for and how much work you want to put into it.

I would say just stick with Excel, it'll do the job just fine and is much easier to learn.


Well eventually I wouldn't mind having a more "polished" product GUI extensive features list etc etc. But for now I guess I would be content with actually coming up with something that works. So it looks like Excel will be the go to for now.

I assume if I have any questions I can ask for help here?
mxzf
Shovel Bros
#13 - 2012-04-15 02:30:53 UTC
That sounds like a good plan. And you don't seem to be having any issues asking for help on here Blink

Typically, this forum will be a better resource for your questions about the Eve-specific things and help files/google will be your best non-Eve resources, but most of us are fairly knowledgeable and willing to answer questions for someone trying to figure stuff out (especially because Excel is a pretty well known program around here, lol).
Cassi Watson
Farscape Creations
#14 - 2012-04-16 07:55:36 UTC
SELECT t.typeID
, t.typeName, g.groupName
, c.categoryName, b.techLevel
, wasteFactor = b.wasteFactor/100.0
, b.productionTime, b.researchMaterialTime
, b.researchCopyTime, b.researchProductivityTime
, b.maxProductionLimit, t.basePrice

, tritanium = ISNULL(mt.quantity,0)
, pyerite = ISNULL(mp.quantity,0)
, mexallon = ISNULL(mx.quantity,0)
, isogen = ISNULL(mi.quantity,0)
, nocxium = ISNULL(mn.quantity,0)
, zydrine = ISNULL(mz.quantity,0)
, megacyte = ISNULL(mg.quantity,0)
, t.portionSize, b.productivityModifier

FROM invTypes t
JOIN invGroups g on t.groupID = g.groupID
JOIN invCategories c ON c.categoryID = g.categoryID
JOIN invBlueprintTypes b on b.productTypeID = t.typeID

LEFT JOIN invTypeMaterials mt on mt.typeID = t.typeID and mt.materialTypeID = 34
LEFT JOIN invTypeMaterials mp on mp.typeID = t.typeID and mp.materialTypeID = 35
LEFT JOIN invTypeMaterials mx on mx.typeID = t.typeID and mx.materialTypeID = 36
LEFT JOIN invTypeMaterials mi on mi.typeID = t.typeID and mi.materialTypeID = 37
LEFT JOIN invTypeMaterials mn on mn.typeID = t.typeID and mn.materialTypeID = 38
LEFT JOIN invTypeMaterials mz on mz.typeID = t.typeID and mz.materialTypeID = 39
LEFT JOIN invTypeMaterials mg on mg.typeID = t.typeID and mg.materialTypeID = 40

ORDER by
t.typeID, b.techLevel, c.categoryName, g.groupName, t.typeName

That query will return what your looking for, just put it into a CVS or copy drop into excel and your good to go
Sidrat Flush
School of Applied Knowledge
#15 - 2012-04-16 09:21:32 UTC
Personally I use Access to create the queries in order to obtain the data I need to write my worksheets. Although I haven't made the Access database available (yet) the worksheet is fully open and editable so you can see all the formulas and links.

I will be making the access db available but will wait till the new data dump is out to do that.

Good luck, have fun and if you're not planning on releasing your work, keep it simple.

Its time to stand up against the bad empire based CEO telling falsehoods about what new characters can accomplish and pushing them towards an in game experience of drudgery and loneliness keeping them in the shadow of ignorance for at nest their own profit at worse apathy towards all the experiences that Eve has to offer.

Cassi Watson
Farscape Creations
#16 - 2012-04-16 14:45:31 UTC
Sidrat Flush wrote:
Personally I use Access to create the queries in order to obtain the data I need to write my worksheets. Although I haven't made the Access database available (yet) the worksheet is fully open and editable so you can see all the formulas and links.

I will be making the access db available but will wait till the new data dump is out to do that.

Good luck, have fun and if you're not planning on releasing your work, keep it simple.


I'm allergic to access :P