CloudFabrix Documentation
Asset IntelligenceOps IntelligenceObservabilityRobotic Data
  • Getting Started
  • CloudFabrix Overview
  • AIOps Platform
  • AIOps Solutions
  • CloudFabrix RDA
    • RDA - Overview
      • RDA - Terminology and Artifacts
    • RDA - Installation
      • Linux OS
      • Windows OS
      • Mac OS
      • RDA Client
      • Worker Nodes
      • Event Gateway
      • Edge Collector
      • Log Shippers
        • Filebeat
        • Fluentd
        • Rsyslog
        • Syslog (udp)
        • Splunk forwarder (Windows and Linux)
        • Winlogbeat (Windows)
      • RDA Log Archives
    • RDA - Administration
      • RDA - Configuration
    • RDA - User Guide
      • RDA - AIOps Studio
        • AIOps Studio - Solution Packages
        • AIOps Studio - Pipelines
        • AIOps Studio - Explore
        • AIOps Studio - Administration
        • RDA CLI in UI
        • AIOps Studio - Examples
          • File Operations
          • Loop Operations
          • Data Management Operations - cfxdm
          • Data mapping - cfxdm - dm:eval
          • Filters - cfxdm - dm:filter
          • Data mapping - cfxdm - dm:map
          • Metadata - cfxdm-dm:metadata
          • Data mapping - cfxdm - dm:functions
            • Any_non_null
            • Concat
            • Datetime
            • Date and Timestamp
            • Evaluate
            • Fixed
            • Highest
            • Join
            • jsonDecode
            • Lower
            • Lowest
            • Match
            • Minutes_Between
            • Replace
            • Seconds_Between
            • Slice
            • Split
            • Strip
            • To_Numeric
            • Ts_To_Datetimestr
            • Upper
            • When_Null
          • Data Mapping cfxdm - dm:sort
          • Data Mapping cfxdm - dm:head
          • Data Mapping cfxdm - dm: tail
          • Data Mapping cfxdm - dm: dedup
          • Data Mapping cfxdm - dm:selectcolumns
          • Data Mapping cfxdm - dm:fixcolumns
          • Data Mapping cfxdm - dm:mergecolumns
          • Data Mapping cfxdm - dm:describe
          • Data Mapping cfxdm - dm:save
          • Data Mapping cfxdm - dm:savedlist
          • Data Mapping cfxdm - dm:recall
          • Data Mapping cfxdm - dm:concat
          • Data Mapping cfxdm - dm:groupby
          • Data Mapping cfxdm - dm:to_type
          • Data Mapping cfxdm - dm:enrich
          • Data Mapping cfxdm - dm:dns_ip_to_name
          • Data Mapping cfxdm - dm:dns_name_to_ip
        • AIOps Studio - Datasource Examples
          • Elasticsearch (v1)
      • RDA - Data Management (cfxdm)
        • cfxdm - dm:filter
        • cfxdm - dm:map
        • cfxdm - dm:functions
        • cfxdm - dm:sort
        • cfxdm - dm:head
        • cfxdm - dm:tail
        • cfxdm - dm:dedup
        • cfxdm - dm:selectcolumns
        • cfxdm - dm:mergecolumns
        • cfxdm - dm:describe
        • cfxdm - dm:hist
        • cfxdm - dm:bin
        • cfxdm - dm:fixcolumns
        • cfxdm - dm:save
        • cfxdm - dm:savedlist
        • cfxdx - dm:recall
        • cfxdm - dm:concat
        • cfxdm - dm:groupby
        • cfxdm - dm:enrich
        • cfxdm - dm:to_type
        • cfxdm - dm:dns_ip_to_name
        • cfxdm - dm:dns_name_to_ip
        • cfxdm - files:loadfile
      • RDA Terminal
        • Examples using Terminal / Commandline
    • RDA - Bot Documentation
    • RDA - Datasource Integrations
      • AppDynamics
      • Dynatrace
      • Dell EMC Unity
      • Elasticsearch
      • Infoblox NetMRI
      • Kubernetes Cluster
      • Linux OS
      • Microsoft Windows Server OS
      • Nagios XI
      • NetApp Clustered ONTAP
      • PRTG Network Monitor
      • VMware vCenter
      • VMware vRealize Operations
    • RDA - Python API
      • Class CaaSDataset
      • Class CaaSClient
      • Python API Example
    • RDA - FAQ
      • Download and Installation
      • Troubleshooting
  • CFXQL - CFX Query Language
    • CFXQL User Interface
  • Operations Intelligence Analytics (OIA)
    • Solution Overview
      • Navigating cfxOIA
      • Any title
    • Administration Guide
      • Active Directory Integration
      • Add Customer
      • First Steps
      • OIA Users
      • Add New Users and Assign Roles
      • Add Environment
      • Add Gateway
      • Add DataSource
      • Add Project
      • Project Configuration
      • Stacks
      • Teams
    • User Guide
      • Incidents
        • Incident
        • Stack
      • Alerts
      • Outcomes
  • INTEGRATIONS
    • Zabbix
    • AppDynamics
    • Dynatrace
    • NetApp C Mode
    • NetApp 7 Mode
    • Splunk Enterprise
    • VMware vCenter
  • OBSERVABILITY
  • Observability - IT Infrastructure Monitoring (cfxPulse)
    • Getting Started
    • Solution Overview
    • Installing cfxPulse Collector
    • Administrator Quick Start Guide
      • Prerequisites
      • Accessing cfxPulse
      • Configuration of cfxPulse
      • Setting Up Monitoring
      • Monitoring Using Prometheus Agents
      • How to add Prometheus Agent Details
      • Discovery of Devices
      • Monitoring Dashboard
    • End User Quick Start Guide
      • Portal Navigation
      • Monitoring Analysis
      • Monitoring
      • Alerts and Incidents
      • Reports
      • NOC/Ops
      • Configuration Backups
      • Interacting With Tabular Reports
      • Creating Custom Dashboards
  • Observability - Log Monitoring & Analytics (CFX LogAnalytics or CLA)
    • Getting Started
    • Solution Overview
    • Solution Key Components
    • Log Forwarding
      • Install and Configure Logstash
      • Sending Logs to Logstash Forwarder
    • Log Collection
      • Collecting Logs from Linux
    • Log Transformation & Enrichment
    • Logstash Installation
      • How to install Java / Logstash on client side
  • Asset Intelligence Analytics (AIA) Solution
    • Getting Started
    • Solution Overview
    • AIA Roles
      • Platform Admin
        • Managed Service Provider (MSP)
        • Authentication Server
        • Set Up Services
        • Organizations
        • Users
      • Organization Admin
        • My Organizations
      • Organization Executive
      • Organization User
    • AIA Tasks, Functions
      • Home Page Navigation
      • Filters
      • Settings Menu
      • Notifications
      • Authentical Server
      • How to Add, Edit, Delete MSP
      • Actions
        • Services
        • Files
        • Dictionaries
        • Discovery Jobs
        • Snapshots
        • Clambda Jobs
        • State Operations
        • Replacement Rate
      • Details
        • Overall
        • POR Insights
        • HW Assets
        • SW Assets
        • Contracts
        • App Dependency
        • Asset List
    • AIA API
    • Enterprise Discovery
      • cfxEdgeCollector
        • Deployment of cfxEdgeCollector
        • Configuration of cfxEdgeCollector
        • cfxEdgeCollector Command Line Options
        • cfxEdgeCollector Help Command
        • Working With cfxEdgeCollector
        • cfxEdgeCollector Auto Export
    • Asset Intelligence & Analytics (AIA) (Delete)
  • CloudFabrix SaaS
    • Signup
    • Navigation
    • User Roles
  • Support
    • Contact Support
Powered by GitBook
On this page
  • Eval
  • Example 1:
  • Example 2:
  • Example 3:
  • Example 4:
  • Example 5:
  • Example 6
  • Example 7
  • Example 8
  • Example 9
  • Example 10
  1. CloudFabrix RDA
  2. RDA - User Guide
  3. RDA - AIOps Studio
  4. AIOps Studio - Examples

Data mapping - cfxdm - dm:eval

PreviousData Management Operations - cfxdmNextFilters - cfxdm - dm:filter

Last updated 3 years ago

Eval

Given an expression evaluates the expression string. If performed on the data frame row, it evaluates bypassing the row as a dictionary. If performed on a single value, it expects an additional argument 'key' to be used in the expression.

@param expr: The expression to evaluate. @param key: An optional 'key' if evaluated on a single value instead of a dictionary.

This function allows users to dynamically evaluate expressions from a string-based input. If a user passes in a string to eval, it evaluates the input string as an expression. RDA eval internally maps to Python language eval.

  • Eval is a built-in- function used in python, eval function parses the expression argument and evaluates it as a python expression. In simple words, the eval function evaluates the “String” like a python expression and returns the result as an integer.

  • Eval function is used in situations or applications that need to evaluate mathematical expressions. Also if the user wants to evaluate the string into code then can use the eval function, because the eval function evaluates the string expression and returns the integer as a result.

Example 1:

Step 1: Create an empty eval_example_1 using AIOps studio as shown in the below screenshot.

This pipeline provides example usage of eval to remove starting and ending characters from a

start using the index mechanism

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. ##### This pipeline creates a simple as array of elements called vmlist. ##### RDA function eval is used to demo this example. ##### This function array index pattern to strip or remove starting and ##### ending characters and returns the elements using eval @dm:empty --> @dm:addrow vmlist = "['vm-1','vm-2','vm-3']" --> @dm:eval vmlist = "vmlist[1:-1]"

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA uses the function eval to use search pattern as mentioned in the pipeline code and strips the characters at index '1' and '-1' (last index from right), return the string. Eval in the current pipeline uses the underlying Python eval function to perform the logic. In this example, vmlist is an array of vm elements and the pipeline uses the 'eval' function to remove '[1:-1]' and returns the output string as shown below.

Example 2:

Step 1: Create an empty eval_example_2 using AIOps studio as shown in the below screenshot.

This pipeline provides example usage of eval to remove starting and ending characters from a string using inbuilt library functions lstrip, rstrip that are available.

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. ##### This pipeline creates a simple as array of elements called vmlist. ##### RDA function eval is used to demo this example. ##### This pipeline uses lstrip and rstrip library functions ##### and rturns the string. @dm:empty --> @dm:addrow vmlist = "['vm-1','vm-2','vm-3']" --> @dm:eval vmlist = "vmlist.lstrip('[').rstrip(']')"

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA uses the function eval to use library functions lstrip and rstrip to remove starting char '[' and ending char ']'. Eval in the current pipeline uses the underlying Python eval function to perform the logic. In this example, vmlist is an array of vm elements and the pipeline uses 'eval' and underlying library functions to strip the characters and returns the output a string as shown below.

Example 3:

Step 1: Create an empty eval_example_3 using AIOps studio as shown in the below screenshot.

This pipeline provides example usage of eval using expression to substitute string based on the logic.

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. ##### This pipeline adds bunch of rows with ipaddress, hostname and ids ##### Some of the elements (ipaddress or hostname), are added empty ##### to demo the eval use case ##### RDA function eval is used to demo this example. ##### In this pipeline, eval uses expression to evaluate and substitute ##### its value based on whether string is empty or non-empty ##### If it is non-empty, value is used or if empty, default string is ##### substituted as shown in the output @dm:empty --> @dm:addrow ipaddress = '10.10.1.1' & hostname = 'host-1-1' & id = 'a1' --> @dm:addrow ipaddress = '10.10.1.2' & id = 'a2' --> @dm:addrow ipaddress = '10.10.1.1' & id = 'a3' --> @dm:addrow hostname = 'host-1-1' & id = 'a4' --> @dm:addrow d = 'a4' --> @dm:eval hostname = "'' + str(hostname) if hostname else 'Empty Hostname' " --> @dm:eval ipaddress = "'' + str(ipaddress) if ipaddress else 'Empty IPAddress' " --> @dm:map from = 'hostname,ipaddress' & to = 'IP_or_Hostname' & func = 'any_non_null'

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA uses the function eval along with the expression(s) that are part of the pipeline to evaluate expression based on an empty or non-empty string within the expression and substitute default value in case of an empty string (or else, provide value). In this example, ipaddress and hostname are evaluated within the expression. Once evaluated, empty and non-empty strings are substituted as per pipeline logic and return the output as a string as shown below.

Example 4:

Step 1: Create an empty eval_math_example_1 using AIOps studio as shown in the below screenshot.

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. ##### This pipeline adds bunch of rows with integer columns column1, column2 and ids ##### to demo the eval use case with math functions ##### In this pipeline, eval uses integer conversion followed by math function ##### as expression to calculate values and substitute its value based on underlying ##### library function (pow) @dm:empty --> @dm:addrow column1 = '0' & column2 = '1' & id = 'a1' --> @dm:addrow column1 = '1' & column2 = '2' & id = 'a2' --> @dm:addrow column1 = '2' & column2 = '4' & id = 'a3' --> @dm:addrow column1 = '3' & column2 = '8' & id = 'a4' --> @dm:addrow column1 = '4' & column2 = '16' & id = 'a5' --> @dm:eval column3 = " pow(2,(int(column2))) "

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA uses the function eval along with 'integer' conversion and math function 'pow' to perform the mathematical operation, substitute the resulting values, and returns column3 with new values as shown in the below screenshot.

In the above example, RDA uses 'dm:eval' in conjunction with the underlying mathematical expression (along with integer conversion and math function 'pow')

Example 5:

Step 1: Create an empty eval_math_example_2 using AIOps studio as shown in the below screenshot.

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. ##### This pipeline adds bunch of rows with ##### id, cluster info, date, budget, actual amount allocated to a dummy org. ##### to demo the eval use case with math function ##### In this pipeline, RDA uses eval function along with integer conversion ##### followed by math addition as expression to calculate values. In addition, ##### pipeline adds a new column 'variance' to extract values. ##### RDA dm:filter is used to selectively pick only required columns and print the #### output. @dm:empty --> @dm:addrow id = '0' & cluster = 'clust-a' & date ='2014-01-01' & budget = '11000' & actual = '10000' --> @dm:addrow id = '1' & cluster = 'clust-a' & date ='2014-02-01' & budget = '1200' & actual = '1000' --> @dm:addrow id = '2' & cluster = 'clust-b' & date ='2014-03-01' & budget = '200' & actual = '100' --> @dm:addrow id = '3' & cluster = 'clust-b' & date ='2014-04-01' & budget = '200' & actual = '300' --> @dm:addrow id = '4' & cluster = 'clust-c' & date ='2014-05-01' & budget = '400' & actual = '450' --> @dm:addrow id = '5' & cluster = 'clust-c' & date ='2014-06-01' & budget = '700' & actual = '1000' --> @dm:addrow id = '6' & cluster = 'clust-c' & date ='2014-07-01' & budget = '1200' & actual = '1000' --> @dm:addrow id = '7' & cluster = 'clust-c' & date ='2014-08-01' & budget = '200' & actual = '100' --> @dm:eval variance = " str( int(budget) + int(actual) )" --> *dm:filter * get id, date, cluster, budget, actual, variance

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA uses the function 'dm:eval' along with 'integer' conversion and addition in calculating variance values. This pipeline also uses dm:filter to print selective columns after variance calculation. Output is as shown below screenshot.

Example 6

Step 1: Create an empty eval_date_example_1 using AIOps studio as shown in the below screenshot.

This pipeline provides example usage of eval using an expression for the 'date' string.

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. ##### This pipeline adds bunch of rows with integer values to a column name 'Daily' ##### Pipeline uses RDA 'to_type' function to convert string values to integer, ##### uses dm:eval function and math functions to calculate integer to value ##### in milliseconds, finally use 'change-time-format' to convert milliseconsds ##### to date string. ##### In this pipeline, RDA uses eval, to_type, change-time-format functions ##### along with integer and milliseconds conversion @dm:empty --> @dm:addrow Daily = '1' --> @dm:addrow Daily = '2' --> @dm:addrow Daily = '3' --> @dm:addrow Daily = '4' --> @dm:addrow Daily = '5' --> @dm:addrow Daily = '6' --> @dm:to_type columns = "Daily" & type = int --> @dm:eval Daily = 'int(time_now_as_ms()) - (24*60*60*1000 * Daily )' --> @dm:change-time-format columns = 'Daily' & from_format = 'ms' & to_format = '%Y-%m-%d'

Add the above pipeline code and save the pipeline as shown below.

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA uses the function eval along with other RDA functions 'time_now_as_ms', 'change-time-format' to display 'date' in proper user readable format as shown below.

Similar to the above example, users can try other expressions using other columns.

Example 7

Step 1: Create an empty eval_wwpn_example_1 using AIOps studio as shown in the below screenshot.

This pipeline provides example usage of eval to properly format WWPN that is stored as a string. This example is especially useful for network/storage element manipulation that uses WWPN.

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. ##### This pipeline creates a WWWPN string WWPN "c050760aa8ac0070" ##### RDA function eval is used to demo this example ##### Below code snippet converts above WWPN to standard format : c0:50:76:0a:a8:ac:00:70 @dm:empty --> @dm:addrow WWPN = "c050760aa8ac0070" --> @dm:eval WWPN = "WWPN[0:2] + ':' + WWPN[2:4] + ':' + WWPN[4:6] + ':' + WWPN[6:8] + ':' + WWPN[8:10] + ':' + WWPN[10:12] + ':' + WWPN[12:14] + ':' + WWPN[14:16]"

Add the above pipeline code and save the pipeline as shown below.

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA uses the function eval along with other RDA functions to convert WWPN that is fed as a string (WWPN stored as a standard string format) to consumable WWPN format as shown in the below screen capture.

Example 8

Step 1: Create an empty eval_wwn_to_wwpn_wwnn_example_1 using AIOps studio as shown in the below screenshot.

This pipeline provides example usage of eval for WWN that is stored as a string and converted into WWPN / WWNN. This example is especially useful for network/storage element manipulation that uses WWPN/WWNN.

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.

##### This pipeline creates a WWN Example: (When WWNN and ##### WWPN reported as single ##### value/String) - WWN: 50:06:01:60:C8:E0:06:A8:50:06:01:64:48:E0:06:A8 ##### RDA function eval is used to demo this example ##### Below code snippet converts above ##### WWN: 50:06:01:60:C8:E0:06:A8:50:06:01:64:48:E0:06:A8 ##### Below bots splits the WWN to WWNN and WWPN as ##### WWNN: 50:06:01:60:C8:E0:06:A8 ##### WWPN: 50:06:01:64:48:E0:06:A8

@dm:empty --> @dm:addrow WWN = "50:06:01:60:C8:E0:06:A8:50:06:01:64:48:E0:06:A8" --> @dm:map attr = 'WWN' & func = 'replace' & oldvalue = ':' & newvalue = '' --> @dm:map from = 'WWN' & to = 'WWNN' --> @dm:map from = 'WWN' & to = 'WWPN' --> @dm:eval WWNN = "WWNN[0:2] + ':' + WWNN[2:4] + ':' + WWNN[4:6] + ':' + WWNN[6:8] + ':' + WWNN[8:10] + ':' + WWNN[10:12] + ':' + WWNN[12:14] + ':' + WWNN[14:16]" --> @dm:eval WWPN = "WWPN[16:18] +':'+ WWPN[18:20] + ':' + WWPN[20:22] + ':' + WWPN[22:24] + ':' + WWPN[24:26] + ':' + WWPN[26:28] + ':' + WWPN[28:30] + ':' + WWPN[30:32]"

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA uses the function eval along with other RDA functions to convert WWN that is fed as a string (WWN stored as a standard string format) to consumable WWNN and WWPN format as shown in the below screen capture.

Example 9

Step 1: Create an empty eval_mac_example_1 using AIOps studio as shown in the below screenshot.

This pipeline provides example usage of eval function to convert a MAC address which is in non-standard format to standard format by filling in appropriate 0 char buffer at respective places. MAC is treated as string input in the current example and with a dot (.) as a delimiter

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. ##### This pipeline creates a MAC Example in a non-standard format ##### MAC: 7eb60ae8c202 ##### RDA uses eval and other function to convert non-standard format ##### to standard MAC representation @dm:empty --> @dm:addrow MAC = "7eb60ae8c202" --> @dm:eval MAC = "MAC[0:2]+':'+MAC[2:4] + ':'+MAC[4:6] + ':'+MAC[6:8] + ':'+MAC[8:10] + ':'+MAC[10:12]"

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA converts raw MAC address to appropriate MAC using eval function using RDA pipeline as shown in the below screen capture.

Example 10

Step 1: Create an empty eval_mac_example_2 using AIOps studio as shown in the below screenshot.

This pipeline provides example usage of eval function to convert a MAC address which is in a non-standard format and also missing some of the digits that are needed for MAC address representation. An example MAC is as shown below (in standard string format):

MAC: 7e.b6.a.e8.c2.2

The below example pipeline captures a mechanism to convert incorrect MAC address correct MAC address format. This example pipeline is useful for any network/storage pipelines where accurate MAC address representation is required

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. ##### This pipeline creates a MAC Example in a non-standard format ##### and missing chars in MAC: 7e.b6.a.e8.c2.2 ##### RDA uses eval and other function to convert non-standard format ##### to standard MAC representation (First, it converts single digit ##### to 2 digits by adding 0 (zero) as prefix and 2nd bot ##### replaces '.' (dot) with ':' (colon) ) @dm:empty --> @dm:addrow MAC = "7e.b6.a.e8.c2.2" --> @dm:eval MAC = '".".join([s.zfill(2) for s in MAC.split(".")])' --> @dm:map attr = 'MAC' & func = 'replace' & oldvalue = '.' & newvalue = ':'

Step 3: Click verify button to make sure syntax and pipeline code is correct (as shown below)

Step 4: Click execute button and execute the pipeline. RDA will execute the pipeline without any errors (as shown below)

Step 5: RDA converts raw MAC address to appropriate MAC using eval function using RDA pipeline as shown in the below output screen capture.

Empty eval_example_1 pipeline
Successful execution of eval pipeline without any errors.
Output after executing pipeline
Empty pipeline
Pipeline code added and saved
Click on verify the pipeline code to make sure there are no errors in the pipeline
Executing pipeline without any errors.
Output after executing pipeline
Pipeline coded added to eval_example_3 and saving the pipeline code.
Click verify button will validate pipeline and prints 'OK' for pipeline code snippet.
Partial execution of the flow eval_example_3 pipeline - Fig a
Rest of the eval_example_3 pipeline execution - Fig b
Non-empty strings are substituted ASIS whereas empty strings are substituted with default string ('Empty Hostname, Empty IPAddress)'
Empty pipeline created
Code snippet is added to above created pipeline and saved to AIOps Studio
AIOps will verify the pipeline code syntax and prints 'OK' as shown above
RDA executes pipeline without any errors
RDA uses 'eval' along with integer conversion and math function 'pow'
Adding the pipeline code and saving it under AIOps studio.
AIOps will verify the pipeline code syntax and prints 'OK' as shown above
RDA executes pipeline without any errors
Empty 'eval_date_example_1' pipeline.
Pipeline codesnippet added and saved under AIOps studio
Pipeline codesnippet is added to AIOps studio example and click verify will print 'OK'
RDA prints human readable date string
Empty 'eval_wwpn_example_1' pipeline
Pipeline codesnippet added and saved under AIOps studio
Pipeline code snippet is added to AIOps studio example and click verify will print 'OK'
Pipeline coverts standard string format based WWPN to consumable WWPN format
RDA converts WWPN from string format to proper WWPN using eval function using RDA pipeline
Empty 'eval_wwn_to_wwpn_wwnn_example_1 ' pipeline
Pipeline codesnippet added and saved under AIOps studio
Pipeline code snippet is added to AIOps studio example and click verify will print 'OK'
RDA converts WWN from string format to proper WWPN/WWNN using eval function using RDA pipeline
RDA converts WWPN from string format to proper WWPN/WWNN using eval function using RDA pipeline
Empty 'eval_mac_example_1 ' pipeline
Pipeline codesnippet added and saved under AIOps studio
Pipeline code snippet is added to AIOps studio example and click verify will print 'OK'
RDA converts raw MAC address to appropriate MAC using eval function using RDA pipeline
RDA converts raw MAC address to appropriate MAC format as shown in the above screen shot
Empty 'eval_mac_example_2 ' pipeline
Pipeline codesnippet added and saved under AIOps studio
Pipeline code snippet is added to AIOps studio example and click verify will print 'OK'
RDA converts MAC address to appropriate MAC using eval function using RDA pipeline
RDA output for MAC address conversion using pipeline