> For the complete documentation index, see [llms.txt](https://docs.cloudfabrix.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudfabrix.io/rda/rda-userguide/rda-aiops-studio/examples-jupyter/cfxdx-dm-concat.md).

# Data Mapping cfxdm - dm:concat

**dm: concat:** This cfxdm function allows the user to merge two or more named datasets.

**dm:concat** synta&#x78;**:**&#x20;

* **names** (mandatory)**:** List of two or more named datasets, supports regex

{% hint style="info" %}
Please refer **to dm: save** and **dm: savedlist** functions on how to create and list named datasets.
{% endhint %}

Use **dm: savedlist** tag to list saved datasets

### Example 1:

Step 1: Create an empty **dm\_concat\_example\_1** using AIOps studio as shown in the below screenshot.

![Empty pipeline](/files/-MfePwY94A1JsyxP_Esl)

Step 2: Add the following pipeline code/commands into the above-created pipeline as shown in the below screenshot:

You can copy the below code into your pipeline and execute that in your environment.

\
*`###### Pipeline created two datasets simulating two alerting systems (PRTG, vrOPS) and`*\
*`###### generates data and saves into dataset.`*\
*`###### Pipeline uses dm:concat function to concatenate two datasets that are stored in RDA`*\
*`##### Pipeline also uses, dm:save and dm:savedlist`* \
\
*`####### PRTG Alerts Sections`* \
*`@dm:empty`* \
*`--> @dm:addrow prtg_alert_id = 'PRTG111122' & description = 'VM Outage' & priority = 'P0'`*\
&#x20;*`--> @dm:addrow prtg_alert_id = 'PRTG111123' & description = 'Increase CPU' & priority = 'P1'`* \
*`--> @dm:addrow prtg_alert_id = 'PRTG111124' & description = 'Disk resize' & priority = 'P1'`* \
*`--> @dm:addrow prtg_alert_id = 'PRTG111125' & description = 'App Install' & priority = 'P2'`* \
*`--> @dm:addrow prtg_alert_id = 'PRTG111126' & description = 'DB bounce' & priority = 'P0'`* \
*`--> @dm:save name = "prtg-alerts"`*\
\
*`####### vrOPS Alerts Sections`* \
*`--> @c:new-block`*\
*`--> @dm:empty`* \
*`--> @dm:addrow alert_id = 'vrOps22221' & description = 'Outage' & priority = 'P0'`* \
*`--> @dm:addrow alert_id = 'vrOps22222' & description = 'Increase CPU' & priority = 'P1'`* \
*`--> @dm:addrow alert_id = 'vrOps22223' & description = 'Disk resize' & priority = 'P1'`* \
*`--> @dm:addrow alert_id = 'vrOps22224' & description = 'App Install' & priority = 'P2'`* \
*`--> @dm:addrow alert_id = 'vrOps22225' & description = 'DB bounce' & priority = 'P0'`* \
*`--> @dm:save name = "vrops-alerts"`*\
\
*`--> @c:new-block`* \
*`--> @dm:concat names = 'prtg-alerts|vrops-alerts'`* \
*`--> dm:save name = 'consolidated-alerts'`*\
*`--> @c:new-block --> *dm:savedlist`*<br>

![Pipeline code added to RDA](/files/-MfeSIUwmMW6QxJ-i6CT)

Step &#x33;**:** Click verify button to verify the pipeline. RDA will verify the pipeline without any errors (as shown below)

![Pipeline code verified ](/files/-MfeSx1UoV-xvIRVMrcb)

Step &#x35;**:** Click execute button to execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

![Screenshot -1 ](/files/-MfeTs3bXugDZzTL2zba)

![Screenshot -2 (Execution of pipeline without any errors)](/files/-MfeUD3AvxI84o36XKjD)

Step 6: Verify that the incidents-summary dataset is part of the dm: savedlist and dm:recall call as shown in the below screenshot.

![](/files/-MfeUuit2s4dWQEhr9Bd)
