I don't have all the columns for mapping to target schema
These are the rest target columns what to do if the mapping column is not there? and where should i add the rest additional columns from source?
parentId
metadata
name
dataSetId
labels
Page 1 / 1
Hi. The only required field for target schema is “name”. Which you can set it as “tag” for example, or “externalId” as well, if it is a good asset identifier (i.e. asset title).
Other fields in target schema are not mandatory. However, I would recommend you to create a Dataset first and assign the assets to that dataSetId. See this documentation for why use datasets.
Other source fields I would include as “metadata” ({“areaId”:value,”isActive”:value, “updatedDate”:value “createdDate”:value}. As for “categoryId”, if you can find names for each category, I would create labels, (see documentation) so you can filter, group, list, etc. them. If not, you could also include them as metadata.
Does that help? :)
Hey Andrian Gasper, Thank you for the detailed explanation! Your guidance is incredibly helpful.
I have another doubt
I have these files i added the assets file to asset transformation where should I add the rest files in which resource type? like asset2children,timeseries2assets,workitem2assets these files
Without knowing the contents of the files my suggestion would be the following:
You could add “workorders” as “events” in CDF. Then you can use “workorders2assets” to connect them to assets via the “assetIds” field in “events”. Alternatively you can use “relationships” (see documentation).
For “asset2children” you can use it to create the asset hierarchy (see structure an asset hierarchy). If it doesn’t fit, then you can use “relationships” as well.
For “timeseries” and “timeseries2assets”, similar to “events”, you can connect them to “assets” via “assetId” field in “timeseries”. (timeseries).
Use similar approach for “workitems2assets” based on the data in the file. Try map “workitems” to a CDF resource (my guess would be “events”), then use the data from “workitems2assets” to map them to assets via the “assetId(s)” field or “relationships”.
@Andrian Gasper Thank You so much Your guidance is helpful. I will try if I face any issues I will get back to you.
@Andrian Gasper Hi
I have done the transformation for assets as per your input but i am getting this error
Request with id 608afd10-0683-9791-9d1-29938ac to https://az-eastus-1.cognitedata.com/api/v1/projects/a-cf-sandbox/assets failed with status 400: Reference to unknown parent with externalId WMT:23-1ST STAGE COMP LUBE OIL SYS-PH.
Data in CSV
key
categoryId
sourceDb
parentExternalId
updatedDate
createdDate
externalId
isCriticalLine
description
tag
areaId
isActive
WMT:23-1ST STAGE COMP LUBE OIL SYS-PH
1157
workmate
WMT:23-XX-9106
11-12-2013 14:35
13-12-2012 13:02
WMT:23-1ST STAGE COMP LUBE OIL SYS-PH
FALSE
1ST STAGE COMP LUBE OIL SYS ON PH
23-1ST STAGE COMP LUBE OIL SYS-PH
1004
TRUE
Hi @Sumit Bondlewad This error indicated that the parent asset externalId you are referencing to does not exist. To solve you can:
Either make sure that the parent asset exists in CDF with such externalId
Or in your SQL, include a if/else clause, to check if the parent asset exists before assigning the parent externalId.
Hi @Andrian Gasper Sorry to disturb you but I need your small help
I am still confused I have these above CSV and I stored all CSV in a staging area in CDF but in transformation, I am not getting which file will go in which resource type like time series, Datapoints, assets, assets hierarchy, events Can you tell me which file I have to store in the resource type that would be helpful.
Hi Sumit.
So: assets → Create Update Assets asset2children → Create Update Asset hierarchy workorder → Create Events workorder2asset → Update Events (connect them to assets) workorder2items → not sure, maybe Relationships workitems → Create Events workitem2asset → Update Events (connect them to assets) timeseries2asset → Update Timeseries (connect them to assets) timeseries → Create Timeseries dataPoints → Create Data Points (connect them to timeseries)
Hi @Andrian Gasper I wanted to take a moment to express my gratitude for your valuable input and assistance. Your time and expertise are greatly appreciated. Thank you for your thoughtful contributions.