2016-03-28 18 views
0

Ich habe Tableau Desktop 9.2, Professional Edition. Ich möchte in der Lage sein, einen geplanten Job zu haben, der eine Arbeitsmappe öffnet, ein Dashboard aktualisiert und eine PDF generiert. Kann jemand einen Weg vorschlagen?Kann ein Tableau-Bericht ohne Tableau Server programmgesteuert aktualisiert werden?

UPD. Ich stieß auf this Ansatz, vorgeschlagen von Dafang Wu.

Mein aktueller AutoIt Skript

Local $tableaufile = "C:\test.twb" 

WinActivate($tableaufile); 
WinWaitActive($tableaufile); 

Send("!f",0); 
Send("D"); 

WinWaitActive("Print to PDF"); 
Send("{ENTER}"); Send enter key 
WinWaitActive("Save PDF"); 
Send("test unique name"); 
Send("{ENTER}"); 

ist leider funktioniert das nicht: wenn ich das Skript in SciTE Skript-Editor öffnen und drücken Sie F5, wird der Prozess nicht beendet - ich muss Ctrl-Break - und Es gibt keine PDF-Datei.

UPD2. Korrigiert den ersten WinWait-Anruf und wechselte zu MouseClick - immer noch keine Freude.

Local $tableaufile = "C:\Users\Dimitri Shvorob\Documents\My Tableau Repository\Workbooks\test.twb" 
WinActivate($tableaufile); 
WinWait("Tableau - test", 10); 
Send("!f",0); 
Send("D"); 
MouseClick("Left", 829, 523); 
MouseClick("Left", 1248, 690); 
WinKill("Tableau - test"); 

Antwort

0

Mit Hilfe von Dafang habe ich das Skript zu arbeiten. Ein Problem mit meinen vorherigen Versuchen ist, dass diese mit der bereits geöffneten Arbeitsmappe ausgeführt werden sollten. (Duh!)

$tableau = "C:\Program Files\Tableau\Tableau 9.2\bin\tableau.exe" 

Run($tableau); 
WinWait("Tableau - Book1"); 
Send("!f"); 
Send("^o"); 

WinWait("Open"); 
Send("Graham"); 
Send("{ENTER}"); 

WinWait("Tableau - Graham"); 

Send("!f"); 
Send("D"); 

WinWait("Print to PDF"); 
Send("{ENTER}"); 

WinWait("Save PDF"); 
Send("Graham Test"); 
Send("{ENTER}"); 

WinKill("Tableau - Graham"); 
0

Sie könnten das gleiche tun die TabCmd mit wie diese

tabcmd login -s http://tableauserver -u *user* -p *password* 
tabcmd export "Project/Dashboardname?:refresh=yes" --width 1920 --height 1080 --png -f "\\server\path\dashboardname.png" 
Verwandte Themen