TeX/Latex and all their friends are the best solution for any type of reports (sorry if I am biased).
I use them for probably the most unlike application. Construction reports - as in Building Construction! I have been doing so for quite a long time. The reports include anything from graphs to financial summaries and commissioning data for electro-mechanical services.
Some pointers, before you automate anything write a few static reports. Define what changes weekly/monthly such as graphs, tables etc. and then automate via python/lua or whatever language you are comfortable.
At the moment - I just import tables via PgfplotsTable. This makes it easy to interface with external programs via csv delimited tables. The datatool package also provides similar functionality. All graphs are automated via LaTeX. No need to struggle to interface with external programs.
Use LaTeX to start with and PGF/TikZ for graphics. Get some pointers from Tufte for presentation and readability. It is not necessary to buy anything.
One of the drawbacks I had at the beginning was to convince people to give sections of the content in plain text files and to get them to divorce excel.
I have never tried to include the source directly inside the .tex file but in case your trouble is with the metapost code it may help to start with a known-good stand-alone source.
I did this recently, so I suspect that it still works (although I have edited out some stuff I think is not needed so do let me know if it fails). Here is the input file. It draws the Venn diagram for the union.
% set.mp
% MetaPost input file with chapter one pictures.
verbatimtex
%&latex
\documentclass{book}
\begin{document}
etex
input venn
outputtemplate := "%j-%2c.mps";
beginfig(0);
draw_venn_two(false,true,true,true);
% Label the sets (from pp 29 pf MetaPost manual)
picture pa, pb;
pa = thelabel(btex \tiny $A$ etex, (.9venn_circle_left_shift,1.15venn_circle_top_shift));
pb = thelabel(btex \tiny $B$ etex, (1.1venn_circle_right_shift,1.15venn_circle_top_shift));
unfill bbox pa;
draw pa;
unfill bbox pb;
draw pb;
endfig;
end
At a (Linux) command line I ran the four commands
mpost set.mp
followed by
tex mproof set-00.mps
followed by
dvips -Pwww -omproof.ps mproof
finally followed by
gv mproof.ps
;
this last pops up a viewer for the figure.
To include it in my doc I used this.
\begin{center}
\includegraphics[width=0.33\textwidth]{set-00.mps}
\end{center}
This is inside Beamer. I don't see that I did anything special to get the graphicx system to recognize the .mps ending but I may have forgot the details; let me know.
(Edit: someone changed what I wrote and in particular dropped the necessary initial paragraph. I added something like it back.)
Best Answer
For powerful graphics I would recommend Asymptote. It has a C++-type object-oriented syntax and is not that difficult to learn. Some of the main strong points are (but look at the gallery on the webpage):
Here is a nice one from the gallery of Asymptote examples by GaƩtan Marris
with the code that generated it