How to assign report template name in Command-line argument

support
How to assign report template name in Command-line argument guoguodigital  2019-03-21 12:27
 

Hi There:
I'm trying to use Command-line interface to export a specified report:

C:\skylinedaily\SkylineCmd.exe --in=D:\test.sky --report-name=Main\Name_of_report --report-file=D:\Name_of_report.csv --report-format=CSV --report-conflict-resolution=overwrite

But it always returned wit this error:
Error: The report M does not exist. If it has spaces in its name, use "double quotes" around the entire list of command parameters.

It seems like the name of report is in correct. But how Can I tell the software to use a specific report template in a specific folder?

Cheers,
George

 
 
Nick Shulman responded:  2019-03-21 14:02
I think you just need to get rid of the "Main\", and have:
--report-name=Name_of_report

Skyline always assumes that the report is going to be in the group called "main".

I bet the problem that you are running into is that SkylineCmd.exe and Skyline-Daily.exe store their settings in different places. That is, when you run:
c:\skylinedaily\Skyline-Daily.exe
it is using different settings than when you run:
c:\skylinedaily\SkylineCmd.exe

So, while Skyline-Daily.exe knows about your report, when it gets called from "SkylineCmd.exe" there are a different set of settings (this is different behavior than what happens when you use SkylineDailyRunner.exe instead of SkylineCmd.exe).

There are a couple of ways that you can get that report to be available from SkylineCmd.exe.
One is to use the "--report-add" command line argument.

(Another thing that would probably also work would be to temporarily copy "Skyline-Daily.exe" to "SkylineCmd.exe", but you probably would not want to do that if the "--report-add" thing works).
-- Nick
 
guoguodigital responded:  2019-03-28 15:49
Hi, Nick Thanks for the great support:
I have successfully output the report via these step:
1. run the Skyline-Daily.exe in GUI mode and create (or copy) a report template in "main" category.
2. call the same Skyline-Daily.exe in CMD mode and specify the template name.
Hope that will be helpful to other user.
Cheers,
George
 
Brendan MacLean responded:  2019-04-03 18:17
I think I understand, but the one issue with calling Skyline-daily.exe directly in CMD mode is that it will not pipe output to the console. Though, you could use the --log-file=path/to/file argument to have the output piped to a file. It doesn't look like this argument is documented in the reference currently on the website, but it is in Help > Documentation > Command Line in Skyline-daily, or at the command-line itself with the new --help argument.

Is that what you are using? Otherwise, I don't see how you would get the output text without running SkylineCmd.exe or SkylineRunner.exe.

--Brendan
 
Brendan MacLean responded:  2019-04-03 18:19
I have tended to use --report-add=path/to/file.skyr as Nick suggests to ensure my pipelines have the required report no matter what. It seems like you could also use Settings > Document Settings - Reports to add the report you want to your document template and then it should always be around when you open the document, right?

Thanks for the interesting discussion of the available command-line options.

--Brendan