Hi,
I am new to this forum, so I may not follow completely the standard way of doing analysis here. However, I do think something I have to say is interesting.
The software I use is:
Sqlite - for database needs. For me it handled more than half million records.
R - for statistical needs. It is a programming languange. It is easy to learn for the basic features and it is really flexible
Latex - for reporting needs. It is much better than Word and you can learn in a week or so.
Inkscape - for diagram needs. I don't know Visio, but I believe Inkscape does its job when it comes to simple diagrams. I also think it would be good for advanced stuff, but this is not tested.
Python - for scripting needs. I don't like repiting my analysis over and over again. I usually write a script and do things automatically. This is faster and more reliable. I used python to generate automatically reports, graphs and statistical analysis using data from Sqlite.
Pyqt - for interface needs. At some point I grew tired of writing code everytime, so I used Pyqt to create small programs. For example, a program I did was able to make graphs directly from the database using SQL language.
I used those softwares to analyse pricing and I had good results. I am fond of scripting now, it just improves your life when you get it to work. Besides, with Python you can create your own programs and this is just really useful when you do similar analysis many times.