I'm running an eCommerce store and I am being provided with a daily data feed of info like Item Number, Price, Description, Inventory Status, etc.
Some notes:
I know the URL of the .xls file
I need to modify the Item Number on the .xls for all products to add two letters to the beginning
Price and Inventory Status on the website database need to be updated daily for each item, matched up by Item Number
If Item Number does not exist, new item is created with all information contained in the excel sheet
This all needs to be fully automated (this is the part I need the most assistance with)
I used to have a company that took care of this for $50/month, but I now have access to the data myself. My programming experience is limited to web languages (PHP, HTML, etc.) and some basic C++. A side question would be whether or not it's worth taking this responsibility upon myself or if I should continue working with a company who has systems in place to handle this already.
If you can get the CSV instead of the XLS, load it yourself into a new table, update what you need and then insert the rows into your production table.
If you're stuck with the XLS, find a library for PHP that will allow you to parse it and then write the records to the new table.
As for your second question, yes, it's absolutely worthwhile to cutout the thieves who are charging you $600/year for something that should take you an hour or two to write yourself.
Good luck.
There are two suggestions here. One involves using mysqlimport, the other TOAD. If you need more explanation of how to implement this, expand your question.
Related
I'm an artist and have implemented an art show application for our local art group using Google Forms. The application allows for an artist to submit a variable number of painting entries (up to a maximum amount which varies from show to show). This presents a classic master (single instance of artist information such as name, phone, email, etc.) detail (multiple instances of painting information such as title, media, image, etc.) relationship. It's a classic problem that a relational database solves. However, the ease of creating a Google Form and ease in which folks can work with spreadsheet data makes a compelling case to solve this problem using sheets. As each painting detail is entered into the form (using conditional questions up to max entries) Google adds those detail cells horizontally extending the row. To date, I've managed to address the problem with a hodge-podge of very specific macros and other brute force methods to get this data lined up in columns so that it is workable (i.e., sort, slice/dice). I was about to attempt a crude generic script to try and solve this general problem but as I look at similar questions I see solutions that are 10 times more compact and efficient than anything I could cook up. This is by no means my specific problem but rather a general need by Google forms users who process master/detail information and end up with unmanageable data strung out in rows of endless variable lengths. If Google was smart they would build this master/detail feature in and gain a raft of new form users. Anyway, here is a view of the simulated captured form data: and the desired result.
https://docs.google.com/spreadsheets/d/1Lxuc6uCIkLXyx5evuWIEHULTAOwFwmjT627igC0JbfQ/edit?usp=sharing
Master - Details from Google Forms
The data in columnar format can now be processed with ease. My thinking was to make this generic so I could apply it to any number of form applications that ask for fixed and variable information. To do that I was going to set up variables for the starting cell of the detail data (in this case D or 4) ) the maximum number of detail clusters (in this case it was 5) and the number of cells in each
detail cluster (in this case 3). The master information (name info) gets repeated as rows are inserted for each cell cluster. Ideally, the last cell cluster on a row could be determined on the fly rather than specifying a max. The first cell in a detail cluster would be a required form field so it's absence would indicate the end of the detail clusters on a row.
I get weak in the knees when I think about using arrays and was leaning toward doing this with lots of copying and pasting by way of macros when I thought I might seek some help from those who do this with seeming ease.
I had similar situation: form with the start block, followed by repeated blocks of same questions. I successfully unwrapped it and pushed everything to BigQuery database by using Apps Script.
My guess is that you don't have tons of data, so you can keep everything in Google Sheets. You posted no code, but the strategy should be like this:
Use another sheet in the same spreadsheet for writing your data with the desired structure.
Keep the sheet that form writes into intact, you don't want to mess up GF->GS automation.
Use onFormSubmit event to process new rows that form writes into GS sheet.
Yes, you'll have to play with the arrays and use something like DetailsStartColumn(4) and DetailsWidth(3) to process horizontals blocks, detect filled/empty blocks and write them into your database on another sheet.
Arrays in Apps Script are fine, they are a great tool once you learn them, they are one of the reasons why I like JavaScript ;-)
I get monthly data feeds from source that i need to import into database but the problem is that the feed changes every month, sometimes there are more columns and sometimes there are less columns. There is no consistency whatsoever.
How do I manage and automate these data feeds?
Rather than expertise and out of box thinking, I think this needs a forthright response that automation is impossible unless the data provider commits to a particular column structure.
I have an Access database that keeps track of many different aspects of my companies performance and I would like to add functionality to keep track of the hours the employees are working.
The hours are all kept track of on a website called timetracker. They have a few reporting options including XML and CSV files. The site has a favorite report feature to get the same data in the format that I want it every week.
What I would like to do is find the best process for getting the data from this website, into a table in my database that I can reference.
I will not be the one executing whatever process I come up with and I would really like it to be as easy as possible for whoever it is that does have to do it.
Right now I have a linked table that is an XML file in our SharePoint folder. I was thinking that maybe we could just run the report and download the file every week then just save it over the old file with the correct sheet names and it should update.
What I am wondering is if anyone can come up with an easier process for doing this that would take the least amount of time and be easiest to write down instructions for that anyone could execute.
(Would it maybe be possible to create some sort of macro to actually download the report automatically?)
I'm new here and downloaded the salesforce project as reference for a problem I've been having.
I have various currencies and wish to throw them into an input box as per the salesforce example, so that conversion is performed on a table box column on the fly. I also want EUR to be default.
I've inferred some points and read through the official Qlikview pdf tutorial for others but I just can't seem to figure one thing out: I get what's going on in the 'currency' script - it's creating several tables and referencing the previous one each time for clarity based on whether the initial table has several currency rows (both web view and a quick download available # http://eu-b.demo.qlik.com/detail.aspx?appName=Salesforce.qvw).
What I don't get (probably amongst other things) is why in the properties of the currency input box, under pre-defined values it has:
=concat(distinct CURRENCY,';')
I simply want my currency data to be separated as new lines as one would expect from an inpux box (and how it is currently displaying with salesforce) but because I'm concating my values, they're separated by ';' as instructed.
Once this is done I need to think about converting the values to EUR in my main table, so that it displays the amounts in the currency selected from the input box.
Please be as informative as possible if you've the answer as I'm new here - provide me with actual resources I can learn from if you can't be bothered to type much. Also I'm currently trialing Qlik and therefore cannot open external files easily. If I complete my first project with it (looking good so far), I'll go ahead and purchase a personal license. Thanks so much!
I am looking for the best way to store a set of data on my server, then from within an App I am building, retrieve random parts of that data. I am building an App that will present the end-user with study related questions. I have 40 subjects, with 50 multiple choice questions per subject, a few sample questions for each subject and only 1 correct answer per question. I have been considering using phpMyAdmin going down the SQL route, but considering I already have all of my data neatly arranged in an excel sheet with columns for 'Subject' 'Sample question bank' 'Real question bank' 'Answer bank' with the respective excel sheets (containing the actual content) listed under the Sample, Real and Answer Question Bank columns.
Is entering in and restructuring manually, all of my data, really the only/best way for me to move forward? Or is there another method, perhaps one of storing and accessing Excel files on a server, and being able to call data from a given column. The way my data is arranged, I will never need a specific question, the only pair of data that must match is the proper Answer to a question. All of my other calls for data within the Application will be random. i.e. I will be populating the App with 20/30/40 random questions from within a particular subject.
I apologize in advance if I am violating any rules or if my etiquette is improper. Thanks very much for anyones input or suggestions.
Import your existing spreadsheet into mysql.
Create a table with the specified column names.
From Excel save as CSV file
install mysql, if you haven't
setup admin account.
launch mysql
to import the CSV.
from mysql use INFILE
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
and your whole spreadsheet is now in mysql.
Then use php or perl to make a web-based interface. Of course, other programming languages are just as good.