Column Headings¶
If the generateOneRowPerAttribute attribute on the CostModelWatchPoints element is set to “true”, each worksheet into which data is output contains the following columns. (When set to “false”, then columns for each value appear under the “formula” column are added to the spreadsheet.)
- bomLineNumber: This is a number starting from 1 (from 2 in the case of rollups) that is unique to each part/assembly for which rows are generated.
- bomDepth: Starting with "1", this number is incremented by one for each level in an assembly/rollup. Thus, immediate children of a top-level assembly is at level 2, their children will be at 3.
- Part Number: Number of the part
- CAD File Name: Name of the CAD file.
- Scenario: Default is “initial”.
- ScenarioType: Rollup, part, or assembly. Since aPriori doesn't generate any data for rollups other than the parts and/or assemblies that they contain, "rollup" never actually appears.
-
ScenarioFullName: When
generateStandardColumnsoutput format is“partNumber.scenarioName”.-
If
generateStandardColumns=”false”, the line“<Formula Heading="ScenarioFullName">displayName</Formula>”returns“partNumber.scenarioName”for virtual parts, and the Node value of process group/routingSheet Metal/Machining” for a costed CAD part. -
Consider using
“<Formula>componentName</Formula>”instead.
-
-
Digital Factory: This is blank if the row represents a gcd attribute value.
- ProcessGroup: This is blank if the row represents a gcd attribute value.
- Process: The process or operation name from which the cost output has been generated. This is null if the row represents a gcd attribute/value
- Level: One of "component", "process" or "operation".
-
Leaf: Boolean value. Set to true if the process/operation is a leaf node in a template.
- HasChildren: Boolean value. Set to true if the process/operation has child operations for which data has been output in this report. Note that this is a value that is computed while the report is being generated, not from the process model. Use this if your output has, for example, both "3 Axis Mill" and "Milling" and you want to create a pivot that picks up just "milling" or just "3 Axis Mill".
-
Node: The name of the Node represented by this row in the report (blank for gcds).
- GcdType: The type of the gcd represented in this row. This could be either the gcd type for the operation from which we're grabbing an output or the type of the gcd who's attribute we're printing out.
- Gcd: The name of the actual gcd
- Gcd Display Name: Display name for gcd.
- CostView: The cost view from which this report was generated ("current", "last saved", "previous")"current".
- Tag: The value of the tag generated for this row (see xml language spec).
- Formula: The name of the formula (or gcd attribute) represented by this row. (This is not present if generateOneRowPerAttribute is set to false)
- Value: The value represented by the row. (not present if generateOneRowPerAttribute is set to false)
the generateOneRowPerAttribute attribute on the CostModelWatchPoints element is set to false, then the formula and value columns are replaced by a single row for each node or GCD, containing columns for each specified attribute.
<reports>¶
Attributes:¶
- templatePath: The relative file path to the Excel template to be used as the basis for generating data. If this is blank, no template is used.
- traverseAssemblies: If true, the data generation traverses into assemblies generating data not only for the assembly itself but for contained subassemblies and parts. This is exhaustive and there's no way to specify how many levels to go down.
- generateXml: If true, the report output is generated as an XML document as opposed to an Excel spreadsheet.
-
generateThumbnails: Incorporate thumbnail images of the report's components, and true part nesting layouts where available, by specifying:
generateThumbnails="true"For example,
<reports generateThumbnails="true" imageFormat="JPEG" jpegQuality="0.85" ...>Note the following attributes:
imageFormat(PNG (default), or JPEG)jpegQuality(0.0 <= value <= 1.0, Java default of 0.75 if unset)
-
generateCsv: If true, the report output is generated as a comma-separated values (CSV) document as opposed to an Excel spreadsheet.
- useTabSeparator: When used with generateCsv, the columns are separated by tabs rather than commas.
- outputDir: Full path to the directory the output is saved in; this is used if the directory exists and the user doesn't change the directory through the file chooser.
-
outputName: Saved name of the file, which is used if the user doesn't modify it in the file chooser.
- promptSave: Defaults to true; if false, no dialogs are displayed after you select the report to generate. outputDir must be specified if this is set to false. As the file chooser usually handles overwriting but is suppressed, files sharing names are saved as duplicates, for example, foo(1).xls, foo(2).xls. Note that in conjunction with suppressing the "Would you like to view the report?" dialog, error dialogs are also suppressed, so the user needs to be aware of any reports that don't generate.
-
fileExtension: Specify
.xls, .xlsx, or.xlsmfor Excel reports, this is forced. templatePath extensions take precedence over this property. - appendDateToOutput: If true, concatenate a date timestamp onto the end of the file before the extension.
- dateFormat: Customize formatting for the date timestamp, such as
yyy-MM-dd_hh-mm-ss
Important notes¶
- If both generateXml and generateCsv are set to true, XML takes precedence.
-
If you set the generateCsv to true, a
.csvfile generated for each<CostModelWatchPoints>element. The name of the file has the sheetName appended to the name that you give to the file in the UI. The contents of the summary tab end up in a file that just contains the root filename.- For example, if you select
myPartCostTracking.csvas the filename, thenmyPartCostTracking.csvcontain the summary tab, whilemyPartCostTracking_sheetName.csvcontain the data that would have gone into sheetName this Excel output.
- For example, if you select
-
Both CSV and XML output is streamed to disk so unlike Excel does not build any in-memory structures before writing the data to disk.
Child Elements:¶
<``CostModelWatchpoint``> (one or more)
<CostModelWatchpoints>¶
Attributes:¶
- sheetName: The name of the tab to output the data. This is a required attribute. aPriori recommends that you use "ap_output" as a default.
- rangeName: The name of the "named range" to create in Excel representing the data output by this CostModelWatchpoint element. If rangeName is null, a range is created using sheetName.
- generateOneRowPerAttribute: If set to "false", the spreadsheet contains one row per node or gcd with the attribute values as separate columns rather than one row per attribute/value pair.
- revisitScenarios: If set to "true", the system does not filter out duplicate visits to scenarios. This might occur while traversing assemblies for example, and if you want to aggregate costs or deal with counts of scenarios in an assembly or rollup, you have to revisit them.
- suppressRollups: If set to true, the system does not generate a row for the rollup itself in the cost outputs.
-
generateStandardColumns: Defaults to true. When you set to false, the system does not generate the standard set of columns, and it is up to the report author to ensure that there is enough key information in each generated row to make appropriate distinctions. Attributes that are generated as standard outputs can now be named explicitly and generate the following columns:
- bomLineNumber
- bomDepth
- Part Number
- Scenario
- ScenarioType
- ScenarioFullName
- Digital Factory
- ProcessGroup
- Process
- Level
- Leaf
- HasChildren
- Node
- GcdType
- Gcd
- Gcd Display Name
- CostView
- Tag
-
generateFailedOperationResults: Defaults to false. If true, data for failed operations is generated.
- generateSetupAxes: If you want to generate rows to represent all the setup axes in the part, set the value to true. You cannot select which attributes to get out of setup axes; you get all of them
- generateDtcMetrics: Defaults to false. If true, all Design to Cost metrics appropriate for each scenario are output on the component row where they can be accessed for aP Analytics Ad Hoc reports. This has no affect on OOB Reports
- outputDuplicateProcAndOpData: If you want to generate duplicate rows for process & operation output, you must set revisitScenarios to true.
Child Elements:¶
<Node> (one or more)
<node>¶
Attributes:¶
- name: The name of the process/operation for which this node specification applies. "*" means all nodes.
- processGroup: The name of the process group for which this operation applies, which defaults to all.
- isLeaf: If true, only generate the specified output for leaf nodes
- level: One of "component", "process", "operation" (not relevant yet (future expansion))
- tag: Optionally, the tag to generate for each row within this Node spec. Note that if the node spec contains another node spec by virtue of OperationNodes, then the embedded node spec do not inherit the tag value of this node.
- isProcess: If true, only nodes that represent processes are processed
- isOperation: If true, only nodes that represent operations are processed.
Child Elements:¶
<``CSL``>(only 1 allowed)<``OperationNodes``>(only 1 allowed)<``GcdTypes``>(only 1 allowed) This works whether it is in a<Node>within an<``OperationNodes``>element. If it isn't within<``OperationNodes``>, the only relevant<``GcdType``>will be Component.
<OperationNodes>¶
Attributes:¶
None
Child Elements:¶
<``Node``> (one or more)
<CSL>¶
Attributes:¶
- getAllFormulas: If true then no <Formula> child nodes are needed, and a row will be generated for every single cost model output for the current node.
- suppressZeros: no row is generated for any <Formula> that has a value of 0.
- suppress: if true, no CSL outputs are generated for the current node.
Child Elements¶
<``Formula``><``Macro``>
<Formula>¶
There can be zero or more <Formula> elements as children of the <CSL> element. The value of each element must be the name of an output for which a row should be generated.
Note:
It is impractical to list all the possible formula values. To extract a list of all valid formula values for the current node, run a report that specifies the getAllFormulas attribute to the <CSL> tag.
Attributes:¶
Heading: If provided, this becomes the column heading when generateOneRowPerAttr is TRUE, or it becomes the value of the "attribute" column when generateOneRowPerAttr is false. If no heading is provided, the formula (attribute) name is used as the heading.
<MACRO>¶
Specify an Excel formula to be output. Can be used within both the <CSL> and <Gcd> tags.
Attributes:¶
Heading: If provided, this becomes the column heading when generateOneRowPerAttr is TRUE, or it becomes the value of the "attribute" column when generateOneRowPerAttr is false. If no heading is provided, the formula (attribute) name is used as the heading.
<GcdTypes>¶
The <``GcdTypes``> element, which is a child of a <Node> and potentially a sibling to a <CSL> node serves two roles
- It specifies which (or possibly all) the Gcds for which CSL outputs are to be generated.
- It can also specify which Gcd attributes should be generated into the current sheet.
You can have a <``Node``> element with only <``GcdTypes``> as children. You can use this approach to create a worksheet with just GCD attribute values and no CSL output values.
Attributes¶
None
Child Elements:¶
<Gcd>
<Gcd>¶
Attributes:¶
- Name: The name of a GCD type such as "CurvedWall", "PlanarFace", or "*" for all.
- getAllAttributes: Specifies that you want every attribute output for the GCD. Analogous to getAllFormulas in the CSL element.
- generateRelations: If true, a row is generated for each relation that this GCD has. There is no way to specify which attributes. The code generates them all.
ChildElements:¶
<Attribute> is an exact analog of the <Formula> element inside a <CSL> construct.
<Attribute>¶
This performs the same function for the <``Gcd``> tag that <``Formula``> performs for the <``CSL``> tag. See "<Formula>" for more information.
Note:
It is impractical to list all the possible attribute values. To extract a list of all valid attribute values for the current node, run a report that specifies "getAllAttributes="true"" to the <gcd> tag.