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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cloudfabrix.io/rda/rda-userguide/rda-aiops-studio/examples-jupyter/cfxdx-dm-concat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
