09-13-2017 09:41 AM
Sometimes I feel the need to query the metadata to report on the jobs we have, the steps in the jobs, etc.
In DI Studio you can open a job and then click on a step, and you will see in the Basic Properties pane a field "Node Type".
For transmations that are 'user generated' (which also encompasses the ones deliverd with DI Studio) this is the Name attribute in the metadata Prototype object that represents the transformation. When reporting on jobs I can use those values (although there is no direct metadata association; you have to find them through Property objects with the ObjectName "Class" and a matching DefaultValue attribute).
But where do those values come from when a built-in transformation is selected? I would expect them to be represented in the metadata as well, but I can not find it.
This is not a blocking issue, but I am really curious.
09-14-2017 03:20 AM
Below picture shows you how to drill from a job to its associated nodes. Then it's the name attribute per node.
09-14-2017 09:31 AM
Sorry, but it is not that simple. What you see there is the name of the step in the job, i.e. name the instantation of a transformation. That can be set to whatever name the developers seems appropriate.
Under the Basic Properties you see that Name attribute as well, but you also get the Node Type. That remains the same and denotes the transformation used, whatever the name of the step is.
I would like to find that text.
09-14-2017 05:37 PM - edited 09-14-2017 05:41 PM
Then just dig a bit deeper.
Another way to figure out where stuff lives besides of using Metabrowse:
1. Create a simple DIS job
2. Export the job
3. Open the .spk with WinZip or the like
4. Inspect the XML's (ie.search for the name of your transformation).
09-16-2017 03:07 PM
@Patrick Thanks for your reactions. But still this is not what I am looking for. The TransformRole attribute ususally points in the right direction, but:
- the value is never the same as what you see as Node Type;
- for some steps is does not add useful information.
I do not think you can find it from the jobs and the steps, because it must be an attribute of the original transformation, not an attribute of the instance in the job (i.e., the step). And those two are not linked by a metadata association.
But for a part I now know the answer: for User Generated Transformations (including the ones SAS delivers with DI Studio, i.e. all transformations that have a icon) it is the name of the Prototype object that represents that transformation.
But the other transformations,(and those are the one mostly used) are not represented by a Prototype object, and I do not know where they reside in the metadata.
I haven't tried yet to find them by analyzing the .SPK files. But I think that will lead nowhere, because you cannot Extract them, so they are never in a package.
09-16-2017 05:10 PM - edited 09-16-2017 06:11 PM
"I haven't tried yet to find them by analyzing the .SPK files. But I think that will lead nowhere, because you cannot Extract them, so they are never in a package."
No they aren't. But there must be some information in the .spk what prototype to use as else the import into another environment couldn't work in my mind.
Looking into a simple .spk the attribute value for "TransformRole" appears to be the closest you'll find in SAS Metadata.
09-19-2017 11:23 AM
I think you are right that this is the closest I will get, for the more elaborate transformations.
For the User Generated Transformation you can find the Prototype in the metadata by selecting the one that, like step in your screenshot, has an assiocated Property with a Name attribute with the value Class, and the same value for the DefaultValue attribute. (There is no direct metadata association!)
But this keeps me wondering where in the metadata the Prototype (or whatever) object can be found that represents the original transformation. Because there is no Prototype object that has a Property associated with the DefaultValue in your screenshot.
But thanks for your efforts!