Automation für die Generierung von Berichten [geschlossen]
Frage
Wir Stata werden unter Verwendung von Daten für alle unsere Agenturen in einem Kreis jeden Monat zu kombinieren und zu analysieren. Ich mag irgendwie Berichte der Datenanalyse erstellen automatisch für diese monatlichen Berichte. Der Bericht enthält eine Übersichtstabelle der gemeldeten Indikatoren, ein paar Grafiken der wichtigsten Indikatoren und eine Analysetabelle statistisch signifikante Unterschiede in den Datengruppen zeigt. Ich mag diese im PDF sein und per E-Mail automatisch an die Agenturen aus. Irgendwelche Ideen auf Software kann ich verwenden, um dies zu automatisieren?
Lösung
Da Sie Stata verwenden die Analyse zu tun, können Sie es zulassen, das schwere Heben der Berichts Automatisierung auch tun.
Der Trick ist, mit einem Stata-Paket wie -rtfutil- die Tabellen und Grafiken exportieren Sie zu einem einzigen Dokument beschreiben. An diesem Punkt müssen Sie, dass, bevor eine E-Mail, es zu PDF konvertieren.
Hier einig Beispielcode für die Verwendung der Erstellung eines Dokuments mit einem Tisch und zwei Grafiken (plus einige Textabsätzen) in einem RTF-Dokument (mit dem System-Datensatz „auto.dta“ als Beispiel) -rtfutil- automatisieren:
******
clear
//RTF UTILITY FOR INSERTING GRAPHICS & TABLES//
local sf "/users/ppri/desktop/"
//SETUP
sysuse auto, clear
twoway scatter mpg price, mlabel(make) || lfitci mpg price
graph export "`sf'myplot1.eps", replace
twoway scatter price mpg, mlabel(make) by(for)
graph export "`sf'myplot2.eps", replace
**
tempname handle1
//RTFUTIL
rtfopen `handle1' using "`sf'mydoc1.rtf", replace
file write `handle1' _n _tab "{\pard\b SAMPLE DOCUMENT \par}" _tab _n
file write `handle1' _n "{\line}"
// Figure1
file write `handle1' "{\pard\b FIGURE 1: Plot of Price\par}" _n
rtflink `handle1' using "`sf'myplot1.eps"
// Figure2
file write `handle1' _n "{\page}" _n /*
*/ "{\pard Here is the plot and a paragraph about it. Here is the plot and a paragraph about it. Here is the plot and a paragraph about it. Here is the plot and a paragraph about it.....blah blah blah blah blah \line}" _n
file write `handle1' _n "{\line}"
file write `handle1' "{\pard\b FIGURE2: Plots of Price vs. MPG\par}" _n
rtflink `handle1' using "`sf'myplot2.eps"
// Table Title
file write `handle1' _n "{\page}" _n
file write `handle1' _n "{\par\pard}" _n /*
*/ "{\par\pard HERE IS A TABLE WITH THE CARS: \par\pard}" _n
file write `handle1' _n "{\par\pard}" _n
// Summary Table
rtfrstyle make mpg weight, cwidths(2000 1440 1440) local(b d e)
listtex make foreign mpg if mpg<15, /*
*/ handle(`handle1') begin("`b'") delim("`d'") end("`e'") /*
*/ head("`b'\ql{\i Make}`d'\qr{\i Foreign}`d'\qr{\i MPG }`e'")
file write `handle1' _n "{\line}"
file write `handle1' _n _tab(2) /*
*/ "{\pard\b Sources: Census Data, etc... \par}" _n _n
**
rtfclose `handle1'
******
Damit wird die Elemente setzt alles, was Sie über in ein RTF-Dokument gefragt (Vorsicht bei allen Fragen mit Verpackung dieses Codes beim Kopieren / Einfügen ist es von der Webseite).
In Ihrer Frage, Sie haben auch eine PDF während dieses Prozesses erstellen wollen. Hier finden Sie gehen müssen einige nicht-Stata-Lösung zu verwenden. Wenn Sie Mac OS X verwenden können Sie das Terminal -convert- Dienstprogramm oder Automator verwenden, um dies zu tun, oder sind hier einige andere Lösungen: http://codesnippets.joyent.com/posts/show/1601
Ich benutze keine Fenster, so dass ich bin mir nicht sicher über Lösungen mit diesem Betriebssystem. Viel Glück.