BookmarkSubscribeRSS Feed
FrankPoppe
Quartz | Level 8

Hi,

 

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.

6 REPLIES 6
Patrick
Opal | Level 21

@FrankPoppe

Below picture shows you how to drill from a job to its associated nodes. Then it's the name attribute per node.

 

Capture.JPG

FrankPoppe
Quartz | Level 8

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.

 

Name and Node Type.png

Patrick
Opal | Level 21

@FrankPoppe

Then just dig a bit deeper.

Capture.JPG

 

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).

FrankPoppe
Quartz | Level 8

@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 UGT icon.png 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.

Patrick
Opal | Level 21

@FrankPoppe

"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.

Capture.JPG

FrankPoppe
Quartz | Level 8

@Patrick

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!

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to connect to databases in SAS Viya

Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 6 replies
  • 1408 views
  • 0 likes
  • 2 in conversation