{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "from seeq import spy\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"background-color: #EEFFEE;text-align: left;\">Logged in to <strong>http://localhost:34216/api</strong> successfully as <strong>mark.derbecker@seeq.com (Mark Derbecker [Admin])</strong></div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Log into Seeq Server if you're not using Seeq Data Lab:\n",
    "# spy.login(url='http://localhost:34216', credentials_file='../credentials.key')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# spy.assets\n",
    "\n",
    "The `spy.assets` submodule provides a framework for creating templates and building them into asset trees full of signals, conditions and scalars.\n",
    "\n",
    "With `spy.assets`, you can:\n",
    "\n",
    "* Map tags from external datasources like OSIsoft PI, Honeywell PHD and others to user-friendly and purpose-built asset trees\n",
    "* Leverage object-oriented design principles like _encapsulation_, _inheritance_, _composition_, and _mixins_ to increase reuse and consistency while still accommodating the many exceptions that naturally occur in manufacturing scenarios\n",
    "* Convert units of measure, re-sample data, and apply data cleansing tools to raw data\n",
    "* Add high-value calculations to asset templates with simple dependency referencing syntax\n",
    "\n",
    "The work you do with `spy.assets` is (by default) sandboxed to a particular workbook that you own. As a result, you can easily experiment with new asset structures and calculations before publishing to your broader organization."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Concepts\n",
    "\n",
    "There are several important concepts to understand as we dive in to the `spy.assets` submodule:\n",
    "\n",
    "* An **asset** is simply a container (with associated _properties_) that has children. Those children can be other assets and/or _attributes_ (signals, conditions and scalars).\n",
    "* An **attribute** is a signal, condition or scalar that is a child of an asset and is said to be _contained_ by that asset. This is a similar concept to OSIsoft Asset Framework's _attribute_.\n",
    "* A **property** is a named value (with optional units of measure) that captures metadata associated with assets, signals, conditions and scalars. They correspond to the columns in a metadata DataFrame.\n",
    "* A **component** is an asset that is a child of another asset and is said to be _contained_ by the parent asset. For example, a _Furnace_ asset may contain a _Blast Air Blower_.\n",
    "* A **template** defines the set of _attributes_ and _components_ that comprise a particular Asset. A template corresponds to a class of asset like _Furnace_, _Well_, _Pump_.\n",
    "* A **reference** is a link to a signal, condition or scalar that exists somewhere else. If you are mapping a flat list of tags into an asset hierarchy, the asset hierarchy contains _references_ to those tags."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## How Python fits in\n",
    "\n",
    "A template is specified in Python by defining a [class](https://docs.python.org/3/tutorial/classes.html) that derives from `spy.assets.Asset` or `spy.assets.Mixin` (more about _mixins_ later). These classes can have member functions and data members, just like any other Python class.\n",
    "\n",
    "Classes can have special member functions that represent _attributes_. They are _decorator_ with the `spy.assets.Asset.Attribute` decorator, which tells the SPy framework to use them to define attributes for the asset. Similarly, the `spy.assets.Asset.Component` decorated indicates to the SPy framework that a _component_ is being defined as a child of the asset, which is usually a different Python class instance that derives from `spy.assets.Asset` or `spy.assets.Mixin`.\n",
    "\n",
    "You'll see how it works in the examples that follow."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Getting Started\n",
    "\n",
    "First we need to import the Python modules we will need and log in:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "from seeq.spy.assets import Asset\n",
    "\n",
    "# Show all data in DataFrame output -- don't truncate it\n",
    "pd.set_option('display.max_colwidth', -1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Preparing the Ingredients\n",
    "\n",
    "There are two main steps to creating an asset tree, and they're similar to cooking in your kitchen: First you find and prepare the \"ingredients\", then you use them in a \"recipe\".\n",
    "\n",
    "The \"ingedients\" are the signals, conditions and/or scalars that already exist in Seeq, either as indexed items from external datasources or as items you've imported to the internal Seeq database. You will create a DataFrame that represents the _metadata_ ingredients, and those ingredients will be used by `spy.assets.build()` to create another DataFrame full of new items to be pushed as an asset tree.\n",
    "\n",
    "For this example, we're going to map a flat tag structure into an asset template called `HVAC`. We will use Seeq's built-in Example Data.\n",
    "\n",
    "Let's search for all the \"flat list\" example data tags that have the pattern `Area <letter>_<sensor name>`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"background-color: #EEFFEE;text-align: left;\">Query successful</div><table><tr><td style=\"background-color: #EEFFEE;\"></td><td style=\"background-color: #EEFFEE;\">Count</td><td style=\"background-color: #EEFFEE;\">Time</td></tr><tr style=\"background-color: #EEFFEE;\"><td>Results</td><td>69</td><td>00:00:00.06</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>Name</th>\n",
       "      <th>Description</th>\n",
       "      <th>Type</th>\n",
       "      <th>Value Unit Of Measure</th>\n",
       "      <th>Datasource Name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>C69C1EC7-BF7D-4646-AC75-667636CEB6A8</td>\n",
       "      <td>Area B_Compressor Stage_TEST</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>54.200.148.162</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B7E23252-C1F7-4038-AE0E-45C944C02695</td>\n",
       "      <td>Area B_Compressor Stage_AsInt32</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>54.200.148.162</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>466601D7-01DF-473D-A887-41AB6601357E</td>\n",
       "      <td>Area D_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5E442E67-B264-4684-B0C1-2BD819FB92A1</td>\n",
       "      <td>Area K_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>010C08AE-3255-446C-8B31-49A21DA47D2C</td>\n",
       "      <td>Area J_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                     ID                             Name  \\\n",
       "0  C69C1EC7-BF7D-4646-AC75-667636CEB6A8  Area B_Compressor Stage_TEST      \n",
       "1  B7E23252-C1F7-4038-AE0E-45C944C02695  Area B_Compressor Stage_AsInt32   \n",
       "2  466601D7-01DF-473D-A887-41AB6601357E  Area D_Relative Humidity          \n",
       "3  5E442E67-B264-4684-B0C1-2BD819FB92A1  Area K_Wet Bulb                   \n",
       "4  010C08AE-3255-446C-8B31-49A21DA47D2C  Area J_Relative Humidity          \n",
       "\n",
       "   Description          Type Value Unit Of Measure Datasource Name  \n",
       "0 NaN           StoredSignal  string                54.200.148.162  \n",
       "1 NaN           StoredSignal  NaN                   54.200.148.162  \n",
       "2 NaN           StoredSignal  %                     Example Data    \n",
       "3 NaN           StoredSignal  °F                    Example Data    \n",
       "4 NaN           StoredSignal  %                     Example Data    "
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hvac_metadata_df = spy.search({\n",
    "    'Name': 'Area ?_*'\n",
    "})\n",
    "\n",
    "hvac_metadata_df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `hvac_metadata_df` _metadata_ DataFrame serves as the \"ingredients\" for the recipe that we will define a little later.\n",
    "\n",
    "In order to build the HVAC assets, we must add three important columns to our _metadata_ DataFrame:\n",
    "\n",
    "* `Build Asset` specifies the name of the asset that a row metadata applies to. In our case, that will be `Area X`, where X is a letter differentiating the different areas of the plant that an HVAC system serves.\n",
    "* `Build Path` specifies the path through the asset hierarchy where you want the asset to live.\n",
    "\n",
    "We will create these columns using the power of Pandas DataFrames:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>Name</th>\n",
       "      <th>Description</th>\n",
       "      <th>Type</th>\n",
       "      <th>Value Unit Of Measure</th>\n",
       "      <th>Datasource Name</th>\n",
       "      <th>Build Asset</th>\n",
       "      <th>Build Path</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>C69C1EC7-BF7D-4646-AC75-667636CEB6A8</td>\n",
       "      <td>Area B_Compressor Stage_TEST</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>54.200.148.162</td>\n",
       "      <td>Area B</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B7E23252-C1F7-4038-AE0E-45C944C02695</td>\n",
       "      <td>Area B_Compressor Stage_AsInt32</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>54.200.148.162</td>\n",
       "      <td>Area B</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>466601D7-01DF-473D-A887-41AB6601357E</td>\n",
       "      <td>Area D_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area D</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5E442E67-B264-4684-B0C1-2BD819FB92A1</td>\n",
       "      <td>Area K_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area K</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>010C08AE-3255-446C-8B31-49A21DA47D2C</td>\n",
       "      <td>Area J_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area J</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>D9564789-631A-4389-AD9F-BF5CA3D32F57</td>\n",
       "      <td>Area E_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area E</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>ADDCD9EA-9034-4618-9C7F-5F2A01555415</td>\n",
       "      <td>Area I_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area I</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>10AEE93B-A930-4520-B306-59777FE02E01</td>\n",
       "      <td>Area J_Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area J</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>79BFC10D-A937-415F-BB32-ECA23ED1B9BB</td>\n",
       "      <td>Area C_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area C</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>D0B58317-EAB6-4D6F-8B05-2711BCDC528A</td>\n",
       "      <td>Area D_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area D</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0D6B7162-1AD0-4E56-9B4E-A6A9FADE3EF5</td>\n",
       "      <td>Area B_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area B</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>A8FC1656-87C1-4821-A9FB-44B3F783CBDD</td>\n",
       "      <td>Area I_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area I</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>E03D80EF-7A1F-4CBB-B558-574FE9AD4693</td>\n",
       "      <td>Area F_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area F</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>5AD080FC-EE3E-4A05-ACD5-7E5148F76405</td>\n",
       "      <td>Area C_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area C</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>FCE21545-38E1-4362-827B-64BFBDD8F24D</td>\n",
       "      <td>Area B_Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area B</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>82304364-3F4C-4386-8205-2CF9361BDA03</td>\n",
       "      <td>Area B_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area B</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>46D04795-DF47-4ABF-BC52-A2C407F28651</td>\n",
       "      <td>Area A_Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area A</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>8D47A6FF-E4F1-41EF-8087-2AC597FDDA97</td>\n",
       "      <td>Area K_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area K</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>6F4CDCEC-012D-497B-9625-934C7D9ECF9B</td>\n",
       "      <td>Area B_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area B</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>71D95F45-630D-43A0-9E27-754455EFFC27</td>\n",
       "      <td>Area A_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area A</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>DD0293FA-3DDF-4BCF-846E-8E36C1FA24EB</td>\n",
       "      <td>Area A_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area A</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>46F1AA23-A44C-4F4B-B3BA-101DEEFA302B</td>\n",
       "      <td>Area G_Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area G</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>9E438723-EE4F-417F-81A8-9DD1F0958116</td>\n",
       "      <td>Area Z_Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area Z</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>9A7ECFB5-05CB-4FCE-89CC-40BDC14E255A</td>\n",
       "      <td>Area H_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area H</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>880B844C-E122-4B9F-8BEE-CD5A8C5513B7</td>\n",
       "      <td>Area C_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area C</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>ADDC4244-A4B5-44BF-A0EA-91298155A7AB</td>\n",
       "      <td>Area C_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area C</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>0B5B64E9-0E47-43A5-B211-8771AAB0E63A</td>\n",
       "      <td>Area K_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area K</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>44019AB0-EC1F-45DB-ACF0-19D000EC4205</td>\n",
       "      <td>Area D_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area D</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>E03D4508-B213-40D7-98F6-DB8A2B310A7D</td>\n",
       "      <td>Area B_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area B</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>195E1BEF-8A5E-4C7E-89A9-1DD42349F767</td>\n",
       "      <td>Area A_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area A</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>491B1100-66B6-4112-ACE7-69A94982BD86</td>\n",
       "      <td>Area H_Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area H</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>05F1E1B8-9DCC-4895-807F-4AF21E369523</td>\n",
       "      <td>Area E_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area E</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>A996C247-27AF-468F-A805-7D98509399F6</td>\n",
       "      <td>Area Z_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>m</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area Z</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>B6A8BCB7-9443-4937-8F3F-BFF382355218</td>\n",
       "      <td>Area Z_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area Z</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>31A5F80F-3560-427D-ACFB-24071BFCF5BD</td>\n",
       "      <td>Area I_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area I</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>EB45D7B9-9CDA-4785-BEAD-62B56AB6C59C</td>\n",
       "      <td>Area J_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area J</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>62695C27-2C75-41D3-B832-EAEF7111CEB6</td>\n",
       "      <td>Area G_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area G</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>0FC3F8F3-2422-4733-8485-CEB10DB1AA36</td>\n",
       "      <td>Area H_Optimizer</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area H</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>CF79D761-D69C-4578-B042-1FF4FF687E80</td>\n",
       "      <td>Area H_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area H</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>14C3293A-66E2-4430-90B5-97C1CE281453</td>\n",
       "      <td>Area I_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area I</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>E62AB05F-26F7-41DE-B461-45BE4EAB808D</td>\n",
       "      <td>Area K_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area K</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>66B95DB4-380F-4A19-AB39-BFCEECDE151A</td>\n",
       "      <td>Area D_Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area D</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>C391C73C-B5BE-47D2-BBFB-4BAA50B8B201</td>\n",
       "      <td>Area Z_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area Z</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>EF71B2C8-33C7-4CD7-B344-376EB71DE537</td>\n",
       "      <td>Area A_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area A</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>7E684605-8554-4501-AC31-697876862ED8</td>\n",
       "      <td>Area B_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area B</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>9B5BEABC-F11B-4B69-A424-4F3370DEA86A</td>\n",
       "      <td>Area H_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area H</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>41356CC5-EF21-4F67-BE0B-1D6E7F8507E8</td>\n",
       "      <td>Area E_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area E</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>16E917C2-0807-43C1-A8B7-2C9A976220E2</td>\n",
       "      <td>Area Z_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area Z</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>D7DAB11D-4531-43B5-96BF-F9300FCA50C7</td>\n",
       "      <td>Area J_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area J</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>919D07B9-4BDC-4397-B9FB-7E151ED1D780</td>\n",
       "      <td>Area D_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area D</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>E4AC82F7-E9D4-4174-9902-3E080052C9FB</td>\n",
       "      <td>Area K_Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area K</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>D1449E9D-9DE0-4231-9BA7-904D97AC6910</td>\n",
       "      <td>Area E_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area E</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>9159E3DD-A1E0-475F-B9E4-C802FC7F4F47</td>\n",
       "      <td>Area J_Wet Bulb</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area J</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>35A021AD-3B1A-4BE3-B0FE-C50B740E43E8</td>\n",
       "      <td>Area C_Compressor Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area C</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63</th>\n",
       "      <td>5E0770A3-CB0C-426D-8412-B32F26662574</td>\n",
       "      <td>Area H_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area H</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64</th>\n",
       "      <td>01E720B0-9293-4F35-B83F-45DA16C4563D</td>\n",
       "      <td>Area A_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area A</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>8A9BFBBB-20E5-45AD-9CA4-8C3F0C951D88</td>\n",
       "      <td>Area Z_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area Z</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66</th>\n",
       "      <td>AA5D47EA-DD31-4F9C-9759-24F2269496D4</td>\n",
       "      <td>Area G_Compressor Stage</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>string</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area G</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>2FBC4789-F42E-48CB-8B24-6BED615905B8</td>\n",
       "      <td>Area C_Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area C</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>D97DDD9A-18EB-49F4-9DD7-3CDBA4D44C58</td>\n",
       "      <td>Area I_Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>Area I</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>69 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                      ID                             Name  \\\n",
       "0   C69C1EC7-BF7D-4646-AC75-667636CEB6A8  Area B_Compressor Stage_TEST      \n",
       "1   B7E23252-C1F7-4038-AE0E-45C944C02695  Area B_Compressor Stage_AsInt32   \n",
       "2   466601D7-01DF-473D-A887-41AB6601357E  Area D_Relative Humidity          \n",
       "3   5E442E67-B264-4684-B0C1-2BD819FB92A1  Area K_Wet Bulb                   \n",
       "4   010C08AE-3255-446C-8B31-49A21DA47D2C  Area J_Relative Humidity          \n",
       "5   D9564789-631A-4389-AD9F-BF5CA3D32F57  Area E_Wet Bulb                   \n",
       "6   ADDCD9EA-9034-4618-9C7F-5F2A01555415  Area I_Compressor Stage           \n",
       "7   10AEE93B-A930-4520-B306-59777FE02E01  Area J_Temperature                \n",
       "8   79BFC10D-A937-415F-BB32-ECA23ED1B9BB  Area C_Relative Humidity          \n",
       "9   D0B58317-EAB6-4D6F-8B05-2711BCDC528A  Area D_Optimizer                  \n",
       "10  0D6B7162-1AD0-4E56-9B4E-A6A9FADE3EF5  Area B_Relative Humidity          \n",
       "11  A8FC1656-87C1-4821-A9FB-44B3F783CBDD  Area I_Optimizer                  \n",
       "12  E03D80EF-7A1F-4CBB-B558-574FE9AD4693  Area F_Compressor Power           \n",
       "13  5AD080FC-EE3E-4A05-ACD5-7E5148F76405  Area C_Optimizer                  \n",
       "14  FCE21545-38E1-4362-827B-64BFBDD8F24D  Area B_Temperature                \n",
       "15  82304364-3F4C-4386-8205-2CF9361BDA03  Area B_Compressor Stage           \n",
       "16  46D04795-DF47-4ABF-BC52-A2C407F28651  Area A_Temperature                \n",
       "17  8D47A6FF-E4F1-41EF-8087-2AC597FDDA97  Area K_Compressor Power           \n",
       "18  6F4CDCEC-012D-497B-9625-934C7D9ECF9B  Area B_Compressor Power           \n",
       "19  71D95F45-630D-43A0-9E27-754455EFFC27  Area A_Compressor Power           \n",
       "20  DD0293FA-3DDF-4BCF-846E-8E36C1FA24EB  Area A_Relative Humidity          \n",
       "21  46F1AA23-A44C-4F4B-B3BA-101DEEFA302B  Area G_Temperature                \n",
       "22  9E438723-EE4F-417F-81A8-9DD1F0958116  Area Z_Temperature                \n",
       "23  9A7ECFB5-05CB-4FCE-89CC-40BDC14E255A  Area H_Compressor Stage           \n",
       "24  880B844C-E122-4B9F-8BEE-CD5A8C5513B7  Area C_Compressor Stage           \n",
       "25  ADDC4244-A4B5-44BF-A0EA-91298155A7AB  Area C_Wet Bulb                   \n",
       "26  0B5B64E9-0E47-43A5-B211-8771AAB0E63A  Area K_Optimizer                  \n",
       "27  44019AB0-EC1F-45DB-ACF0-19D000EC4205  Area D_Compressor Stage           \n",
       "28  E03D4508-B213-40D7-98F6-DB8A2B310A7D  Area B_Optimizer                  \n",
       "29  195E1BEF-8A5E-4C7E-89A9-1DD42349F767  Area A_Optimizer                  \n",
       "..                                   ...               ...                  \n",
       "39  491B1100-66B6-4112-ACE7-69A94982BD86  Area H_Temperature                \n",
       "40  05F1E1B8-9DCC-4895-807F-4AF21E369523  Area E_Optimizer                  \n",
       "41  A996C247-27AF-468F-A805-7D98509399F6  Area Z_Optimizer                  \n",
       "42  B6A8BCB7-9443-4937-8F3F-BFF382355218  Area Z_Compressor Power           \n",
       "43  31A5F80F-3560-427D-ACFB-24071BFCF5BD  Area I_Compressor Power           \n",
       "44  EB45D7B9-9CDA-4785-BEAD-62B56AB6C59C  Area J_Compressor Stage           \n",
       "45  62695C27-2C75-41D3-B832-EAEF7111CEB6  Area G_Optimizer                  \n",
       "46  0FC3F8F3-2422-4733-8485-CEB10DB1AA36  Area H_Optimizer                  \n",
       "47  CF79D761-D69C-4578-B042-1FF4FF687E80  Area H_Compressor Power           \n",
       "48  14C3293A-66E2-4430-90B5-97C1CE281453  Area I_Wet Bulb                   \n",
       "49  E62AB05F-26F7-41DE-B461-45BE4EAB808D  Area K_Compressor Stage           \n",
       "50  66B95DB4-380F-4A19-AB39-BFCEECDE151A  Area D_Temperature                \n",
       "51  C391C73C-B5BE-47D2-BBFB-4BAA50B8B201  Area Z_Relative Humidity          \n",
       "52  EF71B2C8-33C7-4CD7-B344-376EB71DE537  Area A_Wet Bulb                   \n",
       "53  7E684605-8554-4501-AC31-697876862ED8  Area B_Wet Bulb                   \n",
       "54  9B5BEABC-F11B-4B69-A424-4F3370DEA86A  Area H_Wet Bulb                   \n",
       "55  41356CC5-EF21-4F67-BE0B-1D6E7F8507E8  Area E_Relative Humidity          \n",
       "56  16E917C2-0807-43C1-A8B7-2C9A976220E2  Area Z_Wet Bulb                   \n",
       "57  D7DAB11D-4531-43B5-96BF-F9300FCA50C7  Area J_Compressor Power           \n",
       "58  919D07B9-4BDC-4397-B9FB-7E151ED1D780  Area D_Compressor Power           \n",
       "59  E4AC82F7-E9D4-4174-9902-3E080052C9FB  Area K_Temperature                \n",
       "60  D1449E9D-9DE0-4231-9BA7-904D97AC6910  Area E_Compressor Stage           \n",
       "61  9159E3DD-A1E0-475F-B9E4-C802FC7F4F47  Area J_Wet Bulb                   \n",
       "62  35A021AD-3B1A-4BE3-B0FE-C50B740E43E8  Area C_Compressor Power           \n",
       "63  5E0770A3-CB0C-426D-8412-B32F26662574  Area H_Relative Humidity          \n",
       "64  01E720B0-9293-4F35-B83F-45DA16C4563D  Area A_Compressor Stage           \n",
       "65  8A9BFBBB-20E5-45AD-9CA4-8C3F0C951D88  Area Z_Compressor Stage           \n",
       "66  AA5D47EA-DD31-4F9C-9759-24F2269496D4  Area G_Compressor Stage           \n",
       "67  2FBC4789-F42E-48CB-8B24-6BED615905B8  Area C_Temperature                \n",
       "68  D97DDD9A-18EB-49F4-9DD7-3CDBA4D44C58  Area I_Relative Humidity          \n",
       "\n",
       "    Description          Type Value Unit Of Measure Datasource Name  \\\n",
       "0  NaN           StoredSignal  string                54.200.148.162   \n",
       "1  NaN           StoredSignal  NaN                   54.200.148.162   \n",
       "2  NaN           StoredSignal  %                     Example Data     \n",
       "3  NaN           StoredSignal  °F                    Example Data     \n",
       "4  NaN           StoredSignal  %                     Example Data     \n",
       "5  NaN           StoredSignal  °F                    Example Data     \n",
       "6  NaN           StoredSignal  string                Example Data     \n",
       "7  NaN           StoredSignal  °F                    Example Data     \n",
       "8  NaN           StoredSignal  %                     Example Data     \n",
       "9  NaN           StoredSignal  NaN                   Example Data     \n",
       "10 NaN           StoredSignal  %                     Example Data     \n",
       "11 NaN           StoredSignal  NaN                   Example Data     \n",
       "12 NaN           StoredSignal  kW                    Example Data     \n",
       "13 NaN           StoredSignal  NaN                   Example Data     \n",
       "14 NaN           StoredSignal  °F                    Example Data     \n",
       "15 NaN           StoredSignal  string                Example Data     \n",
       "16 NaN           StoredSignal  °F                    Example Data     \n",
       "17 NaN           StoredSignal  kW                    Example Data     \n",
       "18 NaN           StoredSignal  kW                    Example Data     \n",
       "19 NaN           StoredSignal  kW                    Example Data     \n",
       "20 NaN           StoredSignal  %                     Example Data     \n",
       "21 NaN           StoredSignal  °F                    Example Data     \n",
       "22 NaN           StoredSignal  °F                    Example Data     \n",
       "23 NaN           StoredSignal  string                Example Data     \n",
       "24 NaN           StoredSignal  string                Example Data     \n",
       "25 NaN           StoredSignal  °F                    Example Data     \n",
       "26 NaN           StoredSignal  NaN                   Example Data     \n",
       "27 NaN           StoredSignal  string                Example Data     \n",
       "28 NaN           StoredSignal  NaN                   Example Data     \n",
       "29 NaN           StoredSignal  NaN                   Example Data     \n",
       "..  ..                    ...  ...                            ...     \n",
       "39 NaN           StoredSignal  °F                    Example Data     \n",
       "40 NaN           StoredSignal  NaN                   Example Data     \n",
       "41 NaN           StoredSignal  m                     Example Data     \n",
       "42 NaN           StoredSignal  kW                    Example Data     \n",
       "43 NaN           StoredSignal  kW                    Example Data     \n",
       "44 NaN           StoredSignal  string                Example Data     \n",
       "45 NaN           StoredSignal  NaN                   Example Data     \n",
       "46 NaN           StoredSignal  NaN                   Example Data     \n",
       "47 NaN           StoredSignal  kW                    Example Data     \n",
       "48 NaN           StoredSignal  °F                    Example Data     \n",
       "49 NaN           StoredSignal  string                Example Data     \n",
       "50 NaN           StoredSignal  °F                    Example Data     \n",
       "51 NaN           StoredSignal  %                     Example Data     \n",
       "52 NaN           StoredSignal  °F                    Example Data     \n",
       "53 NaN           StoredSignal  °F                    Example Data     \n",
       "54 NaN           StoredSignal  °F                    Example Data     \n",
       "55 NaN           StoredSignal  %                     Example Data     \n",
       "56 NaN           StoredSignal  °F                    Example Data     \n",
       "57 NaN           StoredSignal  kW                    Example Data     \n",
       "58 NaN           StoredSignal  kW                    Example Data     \n",
       "59 NaN           StoredSignal  °F                    Example Data     \n",
       "60 NaN           StoredSignal  string                Example Data     \n",
       "61 NaN           StoredSignal  °F                    Example Data     \n",
       "62 NaN           StoredSignal  kW                    Example Data     \n",
       "63 NaN           StoredSignal  %                     Example Data     \n",
       "64 NaN           StoredSignal  string                Example Data     \n",
       "65 NaN           StoredSignal  string                Example Data     \n",
       "66 NaN           StoredSignal  string                Example Data     \n",
       "67 NaN           StoredSignal  °F                    Example Data     \n",
       "68 NaN           StoredSignal  %                     Example Data     \n",
       "\n",
       "   Build Asset                    Build Path  \n",
       "0   Area B      My HVAC Units >> Facility #1  \n",
       "1   Area B      My HVAC Units >> Facility #1  \n",
       "2   Area D      My HVAC Units >> Facility #1  \n",
       "3   Area K      My HVAC Units >> Facility #1  \n",
       "4   Area J      My HVAC Units >> Facility #1  \n",
       "5   Area E      My HVAC Units >> Facility #1  \n",
       "6   Area I      My HVAC Units >> Facility #1  \n",
       "7   Area J      My HVAC Units >> Facility #1  \n",
       "8   Area C      My HVAC Units >> Facility #1  \n",
       "9   Area D      My HVAC Units >> Facility #1  \n",
       "10  Area B      My HVAC Units >> Facility #1  \n",
       "11  Area I      My HVAC Units >> Facility #1  \n",
       "12  Area F      My HVAC Units >> Facility #1  \n",
       "13  Area C      My HVAC Units >> Facility #1  \n",
       "14  Area B      My HVAC Units >> Facility #1  \n",
       "15  Area B      My HVAC Units >> Facility #1  \n",
       "16  Area A      My HVAC Units >> Facility #1  \n",
       "17  Area K      My HVAC Units >> Facility #1  \n",
       "18  Area B      My HVAC Units >> Facility #1  \n",
       "19  Area A      My HVAC Units >> Facility #1  \n",
       "20  Area A      My HVAC Units >> Facility #1  \n",
       "21  Area G      My HVAC Units >> Facility #1  \n",
       "22  Area Z      My HVAC Units >> Facility #1  \n",
       "23  Area H      My HVAC Units >> Facility #1  \n",
       "24  Area C      My HVAC Units >> Facility #1  \n",
       "25  Area C      My HVAC Units >> Facility #1  \n",
       "26  Area K      My HVAC Units >> Facility #1  \n",
       "27  Area D      My HVAC Units >> Facility #1  \n",
       "28  Area B      My HVAC Units >> Facility #1  \n",
       "29  Area A      My HVAC Units >> Facility #1  \n",
       "..     ...                               ...  \n",
       "39  Area H      My HVAC Units >> Facility #1  \n",
       "40  Area E      My HVAC Units >> Facility #1  \n",
       "41  Area Z      My HVAC Units >> Facility #1  \n",
       "42  Area Z      My HVAC Units >> Facility #1  \n",
       "43  Area I      My HVAC Units >> Facility #1  \n",
       "44  Area J      My HVAC Units >> Facility #1  \n",
       "45  Area G      My HVAC Units >> Facility #1  \n",
       "46  Area H      My HVAC Units >> Facility #1  \n",
       "47  Area H      My HVAC Units >> Facility #1  \n",
       "48  Area I      My HVAC Units >> Facility #1  \n",
       "49  Area K      My HVAC Units >> Facility #1  \n",
       "50  Area D      My HVAC Units >> Facility #1  \n",
       "51  Area Z      My HVAC Units >> Facility #1  \n",
       "52  Area A      My HVAC Units >> Facility #1  \n",
       "53  Area B      My HVAC Units >> Facility #1  \n",
       "54  Area H      My HVAC Units >> Facility #1  \n",
       "55  Area E      My HVAC Units >> Facility #1  \n",
       "56  Area Z      My HVAC Units >> Facility #1  \n",
       "57  Area J      My HVAC Units >> Facility #1  \n",
       "58  Area D      My HVAC Units >> Facility #1  \n",
       "59  Area K      My HVAC Units >> Facility #1  \n",
       "60  Area E      My HVAC Units >> Facility #1  \n",
       "61  Area J      My HVAC Units >> Facility #1  \n",
       "62  Area C      My HVAC Units >> Facility #1  \n",
       "63  Area H      My HVAC Units >> Facility #1  \n",
       "64  Area A      My HVAC Units >> Facility #1  \n",
       "65  Area Z      My HVAC Units >> Facility #1  \n",
       "66  Area G      My HVAC Units >> Facility #1  \n",
       "67  Area C      My HVAC Units >> Facility #1  \n",
       "68  Area I      My HVAC Units >> Facility #1  \n",
       "\n",
       "[69 rows x 8 columns]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# We can use Pandas' string extraction capabilities to create the Build Asset column\n",
    "hvac_metadata_df['Build Asset'] = hvac_metadata_df['Name'].str.extract('(Area .)_.*')\n",
    "\n",
    "# We will specify a simple path in a new tree where we want these to live\n",
    "hvac_metadata_df['Build Path'] = 'My HVAC Units >> Facility #1'\n",
    "\n",
    "hvac_metadata_df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Writing the Recipe\n",
    "\n",
    "The recipe that turns the ingredients into an asset structure is specified using Python classes that derive from `Asset` or `Mixin`.\n",
    "\n",
    "First let's define our `HVAC` class:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "class HVAC(Asset):\n",
    "    \n",
    "    @Asset.Attribute()\n",
    "    def Temperature(self, metadata):\n",
    "        # We use simple Pandas syntax to select for a row in the DataFrame corresponding to our desired tag\n",
    "        return metadata[metadata['Name'].str.endswith('Temperature')]\n",
    "    \n",
    "    @Asset.Attribute()\n",
    "    def Relative_Humidity(self, metadata):\n",
    "        # All Attribute functions must take (self, metadata) as parameters\n",
    "        return metadata[metadata['Name'].str.contains('Humidity')]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This Python code defines an `HVAC` asset that has two attributes: `Temperature` and `Relative Humidity`. (The underscore will, by default, automatically be replaced with a space.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can feed the \"ingredients\" into the \"recipe\" using the `spy.assets.build()` function. This command will build a new set of asset and signal definitions based on the `hvac_metadata_df` _metadata_ DataFrame. Each unique combination of `Build Path` and `Build Asset` will be treated as a different asset, and the `metadata` argument that is passed in to the `Asset.Attribute()` decorated functions will only contain the rows for a particular `Build Path` / `Build Asset` pair."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Asset</th>\n",
       "      <th>Build Result</th>\n",
       "      <th>Datasource Name</th>\n",
       "      <th>Description</th>\n",
       "      <th>ID</th>\n",
       "      <th>Name</th>\n",
       "      <th>Object</th>\n",
       "      <th>Path</th>\n",
       "      <th>Reference</th>\n",
       "      <th>Referenced Name</th>\n",
       "      <th>Template</th>\n",
       "      <th>Type</th>\n",
       "      <th>Value Unit Of Measure</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0D6B7162-1AD0-4E56-9B4E-A6A9FADE3EF5</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area B_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>FCE21545-38E1-4362-827B-64BFBDD8F24D</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area B_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area B</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>466601D7-01DF-473D-A887-41AB6601357E</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area D_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>66B95DB4-380F-4A19-AB39-BFCEECDE151A</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area D_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area D</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>64ABB7B7-A9B7-4986-9B8B-96D8324EABF3</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area K_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>E4AC82F7-E9D4-4174-9902-3E080052C9FB</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area K_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area K</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>010C08AE-3255-446C-8B31-49A21DA47D2C</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area J_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10AEE93B-A930-4520-B306-59777FE02E01</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area J_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area J</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>41356CC5-EF21-4F67-BE0B-1D6E7F8507E8</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area E_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>BBE998D9-1B23-4593-AD0A-2A70B2077921</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area E_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area E</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Area I</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>D97DDD9A-18EB-49F4-9DD7-3CDBA4D44C58</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area I_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Area I</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>76D0DCEB-7DA7-40B8-8E05-5E1E6AF22839</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area I_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Area I</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area I</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Area C</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>79BFC10D-A937-415F-BB32-ECA23ED1B9BB</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area C_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Area C</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2FBC4789-F42E-48CB-8B24-6BED615905B8</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area C_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>Area C</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area C</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>Area F</td>\n",
       "      <td>No matching metadata row found for \"Relative_Humidity\"</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>Area F</td>\n",
       "      <td>No matching metadata row found for \"Temperature\"</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Area F</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>DD0293FA-3DDF-4BCF-846E-8E36C1FA24EB</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area A_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>46D04795-DF47-4ABF-BC52-A2C407F28651</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area A_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area A</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A3CFC8E6-CC3E-42BB-A0BB-7532967C0B8A</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area G_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>46F1AA23-A44C-4F4B-B3BA-101DEEFA302B</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area G_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area G</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C391C73C-B5BE-47D2-BBFB-4BAA50B8B201</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area Z_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>9E438723-EE4F-417F-81A8-9DD1F0958116</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area Z_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area Z</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5E0770A3-CB0C-426D-8412-B32F26662574</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area H_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>491B1100-66B6-4112-ACE7-69A94982BD86</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area H_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>StoredSignal</td>\n",
       "      <td>°F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Area H</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>&lt;seeq.spy.assets._model.BuildContext object at 0x000001702D1BC5C0&gt;</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>BuildContext</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Asset                                            Build Result  \\\n",
       "0   Area B  Success                                                  \n",
       "1   Area B  Success                                                  \n",
       "2   Area B  Success                                                  \n",
       "3   Area D  Success                                                  \n",
       "4   Area D  Success                                                  \n",
       "5   Area D  Success                                                  \n",
       "6   Area K  Success                                                  \n",
       "7   Area K  Success                                                  \n",
       "8   Area K  Success                                                  \n",
       "9   Area J  Success                                                  \n",
       "10  Area J  Success                                                  \n",
       "11  Area J  Success                                                  \n",
       "12  Area E  Success                                                  \n",
       "13  Area E  Success                                                  \n",
       "14  Area E  Success                                                  \n",
       "15  Area I  Success                                                  \n",
       "16  Area I  Success                                                  \n",
       "17  Area I  Success                                                  \n",
       "18  Area C  Success                                                  \n",
       "19  Area C  Success                                                  \n",
       "20  Area C  Success                                                  \n",
       "21  Area F  No matching metadata row found for \"Relative_Humidity\"   \n",
       "22  Area F  No matching metadata row found for \"Temperature\"         \n",
       "23  Area F  Success                                                  \n",
       "24  Area A  Success                                                  \n",
       "25  Area A  Success                                                  \n",
       "26  Area A  Success                                                  \n",
       "27  Area G  Success                                                  \n",
       "28  Area G  Success                                                  \n",
       "29  Area G  Success                                                  \n",
       "30  Area Z  Success                                                  \n",
       "31  Area Z  Success                                                  \n",
       "32  Area Z  Success                                                  \n",
       "33  Area H  Success                                                  \n",
       "34  Area H  Success                                                  \n",
       "35  Area H  Success                                                  \n",
       "36  NaN     NaN                                                      \n",
       "\n",
       "   Datasource Name  Description                                    ID  \\\n",
       "0   Example Data   NaN           0D6B7162-1AD0-4E56-9B4E-A6A9FADE3EF5   \n",
       "1   Example Data   NaN           FCE21545-38E1-4362-827B-64BFBDD8F24D   \n",
       "2   NaN            NaN           NaN                                    \n",
       "3   Example Data   NaN           466601D7-01DF-473D-A887-41AB6601357E   \n",
       "4   Example Data   NaN           66B95DB4-380F-4A19-AB39-BFCEECDE151A   \n",
       "5   NaN            NaN           NaN                                    \n",
       "6   Example Data   NaN           64ABB7B7-A9B7-4986-9B8B-96D8324EABF3   \n",
       "7   Example Data   NaN           E4AC82F7-E9D4-4174-9902-3E080052C9FB   \n",
       "8   NaN            NaN           NaN                                    \n",
       "9   Example Data   NaN           010C08AE-3255-446C-8B31-49A21DA47D2C   \n",
       "10  Example Data   NaN           10AEE93B-A930-4520-B306-59777FE02E01   \n",
       "11  NaN            NaN           NaN                                    \n",
       "12  Example Data   NaN           41356CC5-EF21-4F67-BE0B-1D6E7F8507E8   \n",
       "13  Example Data   NaN           BBE998D9-1B23-4593-AD0A-2A70B2077921   \n",
       "14  NaN            NaN           NaN                                    \n",
       "15  Example Data   NaN           D97DDD9A-18EB-49F4-9DD7-3CDBA4D44C58   \n",
       "16  Example Data   NaN           76D0DCEB-7DA7-40B8-8E05-5E1E6AF22839   \n",
       "17  NaN            NaN           NaN                                    \n",
       "18  Example Data   NaN           79BFC10D-A937-415F-BB32-ECA23ED1B9BB   \n",
       "19  Example Data   NaN           2FBC4789-F42E-48CB-8B24-6BED615905B8   \n",
       "20  NaN            NaN           NaN                                    \n",
       "21  NaN            NaN           NaN                                    \n",
       "22  NaN            NaN           NaN                                    \n",
       "23  NaN            NaN           NaN                                    \n",
       "24  Example Data   NaN           DD0293FA-3DDF-4BCF-846E-8E36C1FA24EB   \n",
       "25  Example Data   NaN           46D04795-DF47-4ABF-BC52-A2C407F28651   \n",
       "26  NaN            NaN           NaN                                    \n",
       "27  Example Data   NaN           A3CFC8E6-CC3E-42BB-A0BB-7532967C0B8A   \n",
       "28  Example Data   NaN           46F1AA23-A44C-4F4B-B3BA-101DEEFA302B   \n",
       "29  NaN            NaN           NaN                                    \n",
       "30  Example Data   NaN           C391C73C-B5BE-47D2-BBFB-4BAA50B8B201   \n",
       "31  Example Data   NaN           9E438723-EE4F-417F-81A8-9DD1F0958116   \n",
       "32  NaN            NaN           NaN                                    \n",
       "33  Example Data   NaN           5E0770A3-CB0C-426D-8412-B32F26662574   \n",
       "34  Example Data   NaN           491B1100-66B6-4112-ACE7-69A94982BD86   \n",
       "35  NaN            NaN           NaN                                    \n",
       "36  NaN            NaN           NaN                                    \n",
       "\n",
       "                 Name  \\\n",
       "0   Relative Humidity   \n",
       "1   Temperature         \n",
       "2   Area B              \n",
       "3   Relative Humidity   \n",
       "4   Temperature         \n",
       "5   Area D              \n",
       "6   Relative Humidity   \n",
       "7   Temperature         \n",
       "8   Area K              \n",
       "9   Relative Humidity   \n",
       "10  Temperature         \n",
       "11  Area J              \n",
       "12  Relative Humidity   \n",
       "13  Temperature         \n",
       "14  Area E              \n",
       "15  Relative Humidity   \n",
       "16  Temperature         \n",
       "17  Area I              \n",
       "18  Relative Humidity   \n",
       "19  Temperature         \n",
       "20  Area C              \n",
       "21  Relative Humidity   \n",
       "22  Temperature         \n",
       "23  Area F              \n",
       "24  Relative Humidity   \n",
       "25  Temperature         \n",
       "26  Area A              \n",
       "27  Relative Humidity   \n",
       "28  Temperature         \n",
       "29  Area G              \n",
       "30  Relative Humidity   \n",
       "31  Temperature         \n",
       "32  Area Z              \n",
       "33  Relative Humidity   \n",
       "34  Temperature         \n",
       "35  Area H              \n",
       "36  NaN                 \n",
       "\n",
       "                                                                Object  \\\n",
       "0   NaN                                                                  \n",
       "1   NaN                                                                  \n",
       "2   NaN                                                                  \n",
       "3   NaN                                                                  \n",
       "4   NaN                                                                  \n",
       "5   NaN                                                                  \n",
       "6   NaN                                                                  \n",
       "7   NaN                                                                  \n",
       "8   NaN                                                                  \n",
       "9   NaN                                                                  \n",
       "10  NaN                                                                  \n",
       "11  NaN                                                                  \n",
       "12  NaN                                                                  \n",
       "13  NaN                                                                  \n",
       "14  NaN                                                                  \n",
       "15  NaN                                                                  \n",
       "16  NaN                                                                  \n",
       "17  NaN                                                                  \n",
       "18  NaN                                                                  \n",
       "19  NaN                                                                  \n",
       "20  NaN                                                                  \n",
       "21  NaN                                                                  \n",
       "22  NaN                                                                  \n",
       "23  NaN                                                                  \n",
       "24  NaN                                                                  \n",
       "25  NaN                                                                  \n",
       "26  NaN                                                                  \n",
       "27  NaN                                                                  \n",
       "28  NaN                                                                  \n",
       "29  NaN                                                                  \n",
       "30  NaN                                                                  \n",
       "31  NaN                                                                  \n",
       "32  NaN                                                                  \n",
       "33  NaN                                                                  \n",
       "34  NaN                                                                  \n",
       "35  NaN                                                                  \n",
       "36  <seeq.spy.assets._model.BuildContext object at 0x000001702D1BC5C0>   \n",
       "\n",
       "                            Path Reference           Referenced Name Template  \\\n",
       "0   My HVAC Units >> Facility #1  True      Area B_Relative Humidity  HVAC      \n",
       "1   My HVAC Units >> Facility #1  True      Area B_Temperature        HVAC      \n",
       "2   My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "3   My HVAC Units >> Facility #1  True      Area D_Relative Humidity  HVAC      \n",
       "4   My HVAC Units >> Facility #1  True      Area D_Temperature        HVAC      \n",
       "5   My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "6   My HVAC Units >> Facility #1  True      Area K_Relative Humidity  HVAC      \n",
       "7   My HVAC Units >> Facility #1  True      Area K_Temperature        HVAC      \n",
       "8   My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "9   My HVAC Units >> Facility #1  True      Area J_Relative Humidity  HVAC      \n",
       "10  My HVAC Units >> Facility #1  True      Area J_Temperature        HVAC      \n",
       "11  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "12  My HVAC Units >> Facility #1  True      Area E_Relative Humidity  HVAC      \n",
       "13  My HVAC Units >> Facility #1  True      Area E_Temperature        HVAC      \n",
       "14  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "15  My HVAC Units >> Facility #1  True      Area I_Relative Humidity  HVAC      \n",
       "16  My HVAC Units >> Facility #1  True      Area I_Temperature        HVAC      \n",
       "17  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "18  My HVAC Units >> Facility #1  True      Area C_Relative Humidity  HVAC      \n",
       "19  My HVAC Units >> Facility #1  True      Area C_Temperature        HVAC      \n",
       "20  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "21  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "22  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "23  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "24  My HVAC Units >> Facility #1  True      Area A_Relative Humidity  HVAC      \n",
       "25  My HVAC Units >> Facility #1  True      Area A_Temperature        HVAC      \n",
       "26  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "27  My HVAC Units >> Facility #1  True      Area G_Relative Humidity  HVAC      \n",
       "28  My HVAC Units >> Facility #1  True      Area G_Temperature        HVAC      \n",
       "29  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "30  My HVAC Units >> Facility #1  True      Area Z_Relative Humidity  HVAC      \n",
       "31  My HVAC Units >> Facility #1  True      Area Z_Temperature        HVAC      \n",
       "32  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "33  My HVAC Units >> Facility #1  True      Area H_Relative Humidity  HVAC      \n",
       "34  My HVAC Units >> Facility #1  True      Area H_Temperature        HVAC      \n",
       "35  My HVAC Units >> Facility #1  NaN       NaN                       HVAC      \n",
       "36  NaN                           NaN       NaN                       NaN       \n",
       "\n",
       "            Type Value Unit Of Measure  \n",
       "0   StoredSignal  %                     \n",
       "1   StoredSignal  °F                    \n",
       "2   Asset         NaN                   \n",
       "3   StoredSignal  %                     \n",
       "4   StoredSignal  °F                    \n",
       "5   Asset         NaN                   \n",
       "6   StoredSignal  %                     \n",
       "7   StoredSignal  °F                    \n",
       "8   Asset         NaN                   \n",
       "9   StoredSignal  %                     \n",
       "10  StoredSignal  °F                    \n",
       "11  Asset         NaN                   \n",
       "12  StoredSignal  %                     \n",
       "13  StoredSignal  °F                    \n",
       "14  Asset         NaN                   \n",
       "15  StoredSignal  %                     \n",
       "16  StoredSignal  °F                    \n",
       "17  Asset         NaN                   \n",
       "18  StoredSignal  %                     \n",
       "19  StoredSignal  °F                    \n",
       "20  Asset         NaN                   \n",
       "21  NaN           NaN                   \n",
       "22  NaN           NaN                   \n",
       "23  Asset         NaN                   \n",
       "24  StoredSignal  %                     \n",
       "25  StoredSignal  °F                    \n",
       "26  Asset         NaN                   \n",
       "27  StoredSignal  %                     \n",
       "28  StoredSignal  °F                    \n",
       "29  Asset         NaN                   \n",
       "30  StoredSignal  %                     \n",
       "31  StoredSignal  °F                    \n",
       "32  Asset         NaN                   \n",
       "33  StoredSignal  %                     \n",
       "34  StoredSignal  °F                    \n",
       "35  Asset         NaN                   \n",
       "36  BuildContext  NaN                   "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "build_df = spy.assets.build(HVAC, hvac_metadata_df)\n",
    "\n",
    "build_df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This new `build_df` DataFrame contains new metadata that represent all the Seeq items that can be pushed into Seeq to realize this simple asset model.\n",
    "\n",
    "Let's look to see if there were any errors during building:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Type</th>\n",
       "      <th>Asset</th>\n",
       "      <th>Path</th>\n",
       "      <th>Build Result</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>NaN</td>\n",
       "      <td>Area F</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>No matching metadata row found for \"Relative_Humidity\"</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>NaN</td>\n",
       "      <td>Area F</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>No matching metadata row found for \"Temperature\"</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>BuildContext</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            Type   Asset                          Path  \\\n",
       "21  NaN           Area F  My HVAC Units >> Facility #1   \n",
       "22  NaN           Area F  My HVAC Units >> Facility #1   \n",
       "36  BuildContext  NaN     NaN                            \n",
       "\n",
       "                                              Build Result  \n",
       "21  No matching metadata row found for \"Relative_Humidity\"  \n",
       "22  No matching metadata row found for \"Temperature\"        \n",
       "36  NaN                                                     "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "build_df[build_df['Build Result'] != 'Success'][['Type', 'Asset', 'Path', 'Build Result']]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As you can see, no matching metadata was found for Area F. If you do a search in Seeq Workbench for `Area F_`, you'll see that there are no `Temperature` or `Relative Humidity` tags for that area. That's fine! When we push, we simply won't add signals for Area F."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"background-color: #EEFFEE;text-align: left;\">Pushed successfully to datasource <strong>Seeq Data Lab [Seeq Data Lab]</strong> and scoped to workbook ID <strong>B4DD96D3-70BE-4F37-A40C-E08C0976003B</strong><br>Click the following link to see what you pushed in Seeq:<br><a href=\"http://localhost:34216/5C7AAAF1-9989-4FAD-8CF5-E348ABCC74F8/workbook/B4DD96D3-70BE-4F37-A40C-E08C0976003B/worksheet/903478B4-083C-46FC-AD67-14951D507934\" target=\"_new\">http://localhost:34216/5C7AAAF1-9989-4FAD-8CF5-E348ABCC74F8/workbook/B4DD96D3-70BE-4F37-A40C-E08C0976003B/worksheet/903478B4-083C-46FC-AD67-14951D507934</a></div><table><tr><td style=\"background-color: #EEFFEE;\"></td><td style=\"background-color: #EEFFEE;\">Asset</td><td style=\"background-color: #EEFFEE;\">Condition</td><td style=\"background-color: #EEFFEE;\">Overall</td><td style=\"background-color: #EEFFEE;\">Relationship</td><td style=\"background-color: #EEFFEE;\">Scalar</td><td style=\"background-color: #EEFFEE;\">Signal</td><td style=\"background-color: #EEFFEE;\">Threshold Metric</td></tr><tr style=\"background-color: #EEFFEE;\"><td>Items pushed</td><td>14</td><td>0</td><td>36</td><td>35</td><td>0</td><td>22</td><td>0</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Asset</th>\n",
       "      <th>Build Result</th>\n",
       "      <th>Datasource Name</th>\n",
       "      <th>Description</th>\n",
       "      <th>ID</th>\n",
       "      <th>Name</th>\n",
       "      <th>Object</th>\n",
       "      <th>Path</th>\n",
       "      <th>Reference</th>\n",
       "      <th>Referenced Name</th>\n",
       "      <th>Template</th>\n",
       "      <th>Type</th>\n",
       "      <th>Value Unit Of Measure</th>\n",
       "      <th>Formula Parameters</th>\n",
       "      <th>Push Result</th>\n",
       "      <th>Datasource Class</th>\n",
       "      <th>Datasource ID</th>\n",
       "      <th>Data ID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>CFA04719-5B9C-4038-97F7-9B5749D0D02B</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area B_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>signal=0D6B7162-1AD0-4E56-9B4E-A6A9FADE3EF5</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area B &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A854D834-1589-4AF3-8512-BFBCC96829CD</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area B_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=FCE21545-38E1-4362-827B-64BFBDD8F24D]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area B &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6F24CB1E-34A1-4972-AC59-220E634DBCF6</td>\n",
       "      <td>Area B</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area B</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>E7D8BE5D-0C93-4A44-8270-0E4A93A45B42</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area D_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=466601D7-01DF-473D-A887-41AB6601357E]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area D &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1E6F7E9E-2EE9-4D90-BFA6-D8CB6217B691</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area D_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=66B95DB4-380F-4A19-AB39-BFCEECDE151A]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area D &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>D62B622B-8C0E-4C5C-A038-71EDC419F479</td>\n",
       "      <td>Area D</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area D</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>79C1C782-75F6-437A-8A8E-A084D07A53C1</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area K_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=64ABB7B7-A9B7-4986-9B8B-96D8324EABF3]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area K &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>52AC0344-DCE0-4B7D-BE85-1864228AE8EC</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area K_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=E4AC82F7-E9D4-4174-9902-3E080052C9FB]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area K &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>87865A47-D5E1-46C2-BDC1-84FE883AE3EA</td>\n",
       "      <td>Area K</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area K</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>ABFF6E24-287D-405E-9E34-10E3BD55A17E</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area J_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=010C08AE-3255-446C-8B31-49A21DA47D2C]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area J &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>609C8A43-DB37-4489-8D8C-15868A4EE75F</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area J_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=10AEE93B-A930-4520-B306-59777FE02E01]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area J &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>91C7B719-9FE6-4E62-B939-9D766CD5DB3D</td>\n",
       "      <td>Area J</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area J</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5CDE6759-33CD-4380-9ECF-665089C69397</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area E_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=41356CC5-EF21-4F67-BE0B-1D6E7F8507E8]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area E &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>AFB1D7F1-D029-460A-9B37-F727C0446A59</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area E_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=BBE998D9-1B23-4593-AD0A-2A70B2077921]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area E &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>23BCCC41-BFB8-4371-BA0F-A324F36C574F</td>\n",
       "      <td>Area E</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area E</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Area I</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>EAAD6154-9C96-44FE-8A45-8D27B6BCE291</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area I_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=D97DDD9A-18EB-49F4-9DD7-3CDBA4D44C58]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area I &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Area I</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2DE00EE3-C684-4BAF-9698-A9D1A88EBC15</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area I_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=76D0DCEB-7DA7-40B8-8E05-5E1E6AF22839]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area I &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Area I</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>F19BA31F-372D-444B-AC66-5C0FEDFFFD2D</td>\n",
       "      <td>Area I</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area I</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Area C</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>57495A85-CBD1-4090-AD16-CCF3BFF8A1A8</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area C_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=79BFC10D-A937-415F-BB32-ECA23ED1B9BB]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area C &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Area C</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5E7CA63F-B3A3-4639-B82F-B5D04AE2E43A</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area C_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=2FBC4789-F42E-48CB-8B24-6BED615905B8]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area C &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>Area C</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3E12D63E-2AE3-4D48-A5B2-568F4F428A73</td>\n",
       "      <td>Area C</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>Area F</td>\n",
       "      <td>No matching metadata row found for \"Relative_Humidity\"</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Type is required for all item definitions</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>Area F</td>\n",
       "      <td>No matching metadata row found for \"Temperature\"</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Type is required for all item definitions</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Area F</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>B2D09126-BDF1-41E4-9DAB-217CB09E45CB</td>\n",
       "      <td>Area F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area F</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>D0BE7EE7-27A2-4E82-B0B4-E80CCDC5B5C7</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area A_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=DD0293FA-3DDF-4BCF-846E-8E36C1FA24EB]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area A &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>AD1C4174-6FA6-436F-B87C-D5E2AE767BC7</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area A_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=46D04795-DF47-4ABF-BC52-A2C407F28651]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area A &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C3411FA5-2D48-4C6F-9006-E1DBACD9D2BF</td>\n",
       "      <td>Area A</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area A</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>BD9FA08F-4735-42C1-9A72-B8D28F00A736</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area G_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=A3CFC8E6-CC3E-42BB-A0BB-7532967C0B8A]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area G &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A0921C68-33D0-40CD-8F81-ACBAFCC8A3A8</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area G_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=46F1AA23-A44C-4F4B-B3BA-101DEEFA302B]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area G &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>36AC139F-952E-4072-822A-958B0AB6BB5D</td>\n",
       "      <td>Area G</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area G</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>DE407E1B-61CC-44F8-989A-163A698DAAD7</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area Z_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=C391C73C-B5BE-47D2-BBFB-4BAA50B8B201]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area Z &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>44E48143-E028-4DAF-A945-09213AA644B6</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area Z_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=9E438723-EE4F-417F-81A8-9DD1F0958116]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area Z &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2CD0EC51-0140-4B62-9DB6-3A63E5535829</td>\n",
       "      <td>Area Z</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area Z</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>DF5FBCA0-733A-4E8C-8BBE-C19D5B40A179</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area H_Relative Humidity</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>[signal=5E0770A3-CB0C-426D-8412-B32F26662574]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area H &gt;&gt; Relative Humidity</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>CB2D2AFC-7C0E-445A-87B3-E0121DB506B5</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area H_Temperature</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>[signal=491B1100-66B6-4112-ACE7-69A94982BD86]</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area H &gt;&gt; Temperature</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>B872D716-5490-40A7-9351-396D7D62CCD9</td>\n",
       "      <td>Area H</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units &gt;&gt; Facility #1 &gt;&gt; Area H</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Asset                                            Build Result  \\\n",
       "0   Area B  Success                                                  \n",
       "1   Area B  Success                                                  \n",
       "2   Area B  Success                                                  \n",
       "3   Area D  Success                                                  \n",
       "4   Area D  Success                                                  \n",
       "5   Area D  Success                                                  \n",
       "6   Area K  Success                                                  \n",
       "7   Area K  Success                                                  \n",
       "8   Area K  Success                                                  \n",
       "9   Area J  Success                                                  \n",
       "10  Area J  Success                                                  \n",
       "11  Area J  Success                                                  \n",
       "12  Area E  Success                                                  \n",
       "13  Area E  Success                                                  \n",
       "14  Area E  Success                                                  \n",
       "15  Area I  Success                                                  \n",
       "16  Area I  Success                                                  \n",
       "17  Area I  Success                                                  \n",
       "18  Area C  Success                                                  \n",
       "19  Area C  Success                                                  \n",
       "20  Area C  Success                                                  \n",
       "21  Area F  No matching metadata row found for \"Relative_Humidity\"   \n",
       "22  Area F  No matching metadata row found for \"Temperature\"         \n",
       "23  Area F  Success                                                  \n",
       "24  Area A  Success                                                  \n",
       "25  Area A  Success                                                  \n",
       "26  Area A  Success                                                  \n",
       "27  Area G  Success                                                  \n",
       "28  Area G  Success                                                  \n",
       "29  Area G  Success                                                  \n",
       "30  Area Z  Success                                                  \n",
       "31  Area Z  Success                                                  \n",
       "32  Area Z  Success                                                  \n",
       "33  Area H  Success                                                  \n",
       "34  Area H  Success                                                  \n",
       "35  Area H  Success                                                  \n",
       "\n",
       "   Datasource Name  Description                                    ID  \\\n",
       "0   Example Data   NaN           CFA04719-5B9C-4038-97F7-9B5749D0D02B   \n",
       "1   Example Data   NaN           A854D834-1589-4AF3-8512-BFBCC96829CD   \n",
       "2   NaN            NaN           6F24CB1E-34A1-4972-AC59-220E634DBCF6   \n",
       "3   Example Data   NaN           E7D8BE5D-0C93-4A44-8270-0E4A93A45B42   \n",
       "4   Example Data   NaN           1E6F7E9E-2EE9-4D90-BFA6-D8CB6217B691   \n",
       "5   NaN            NaN           D62B622B-8C0E-4C5C-A038-71EDC419F479   \n",
       "6   Example Data   NaN           79C1C782-75F6-437A-8A8E-A084D07A53C1   \n",
       "7   Example Data   NaN           52AC0344-DCE0-4B7D-BE85-1864228AE8EC   \n",
       "8   NaN            NaN           87865A47-D5E1-46C2-BDC1-84FE883AE3EA   \n",
       "9   Example Data   NaN           ABFF6E24-287D-405E-9E34-10E3BD55A17E   \n",
       "10  Example Data   NaN           609C8A43-DB37-4489-8D8C-15868A4EE75F   \n",
       "11  NaN            NaN           91C7B719-9FE6-4E62-B939-9D766CD5DB3D   \n",
       "12  Example Data   NaN           5CDE6759-33CD-4380-9ECF-665089C69397   \n",
       "13  Example Data   NaN           AFB1D7F1-D029-460A-9B37-F727C0446A59   \n",
       "14  NaN            NaN           23BCCC41-BFB8-4371-BA0F-A324F36C574F   \n",
       "15  Example Data   NaN           EAAD6154-9C96-44FE-8A45-8D27B6BCE291   \n",
       "16  Example Data   NaN           2DE00EE3-C684-4BAF-9698-A9D1A88EBC15   \n",
       "17  NaN            NaN           F19BA31F-372D-444B-AC66-5C0FEDFFFD2D   \n",
       "18  Example Data   NaN           57495A85-CBD1-4090-AD16-CCF3BFF8A1A8   \n",
       "19  Example Data   NaN           5E7CA63F-B3A3-4639-B82F-B5D04AE2E43A   \n",
       "20  NaN            NaN           3E12D63E-2AE3-4D48-A5B2-568F4F428A73   \n",
       "21  NaN            NaN           NaN                                    \n",
       "22  NaN            NaN           NaN                                    \n",
       "23  NaN            NaN           B2D09126-BDF1-41E4-9DAB-217CB09E45CB   \n",
       "24  Example Data   NaN           D0BE7EE7-27A2-4E82-B0B4-E80CCDC5B5C7   \n",
       "25  Example Data   NaN           AD1C4174-6FA6-436F-B87C-D5E2AE767BC7   \n",
       "26  NaN            NaN           C3411FA5-2D48-4C6F-9006-E1DBACD9D2BF   \n",
       "27  Example Data   NaN           BD9FA08F-4735-42C1-9A72-B8D28F00A736   \n",
       "28  Example Data   NaN           A0921C68-33D0-40CD-8F81-ACBAFCC8A3A8   \n",
       "29  NaN            NaN           36AC139F-952E-4072-822A-958B0AB6BB5D   \n",
       "30  Example Data   NaN           DE407E1B-61CC-44F8-989A-163A698DAAD7   \n",
       "31  Example Data   NaN           44E48143-E028-4DAF-A945-09213AA644B6   \n",
       "32  NaN            NaN           2CD0EC51-0140-4B62-9DB6-3A63E5535829   \n",
       "33  Example Data   NaN           DF5FBCA0-733A-4E8C-8BBE-C19D5B40A179   \n",
       "34  Example Data   NaN           CB2D2AFC-7C0E-445A-87B3-E0121DB506B5   \n",
       "35  NaN            NaN           B872D716-5490-40A7-9351-396D7D62CCD9   \n",
       "\n",
       "                 Name Object                          Path Reference  \\\n",
       "0   Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "1   Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "2   Area B             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "3   Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "4   Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "5   Area D             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "6   Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "7   Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "8   Area K             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "9   Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "10  Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "11  Area J             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "12  Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "13  Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "14  Area E             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "15  Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "16  Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "17  Area I             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "18  Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "19  Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "20  Area C             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "21  Relative Humidity  NaN    My HVAC Units >> Facility #1  NaN        \n",
       "22  Temperature        NaN    My HVAC Units >> Facility #1  NaN        \n",
       "23  Area F             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "24  Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "25  Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "26  Area A             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "27  Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "28  Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "29  Area G             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "30  Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "31  Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "32  Area Z             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "33  Relative Humidity  NaN    My HVAC Units >> Facility #1  True       \n",
       "34  Temperature        NaN    My HVAC Units >> Facility #1  True       \n",
       "35  Area H             NaN    My HVAC Units >> Facility #1  NaN        \n",
       "\n",
       "             Referenced Name Template              Type Value Unit Of Measure  \\\n",
       "0   Area B_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "1   Area B_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "2   NaN                       HVAC     Asset             NaN                    \n",
       "3   Area D_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "4   Area D_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "5   NaN                       HVAC     Asset             NaN                    \n",
       "6   Area K_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "7   Area K_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "8   NaN                       HVAC     Asset             NaN                    \n",
       "9   Area J_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "10  Area J_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "11  NaN                       HVAC     Asset             NaN                    \n",
       "12  Area E_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "13  Area E_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "14  NaN                       HVAC     Asset             NaN                    \n",
       "15  Area I_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "16  Area I_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "17  NaN                       HVAC     Asset             NaN                    \n",
       "18  Area C_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "19  Area C_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "20  NaN                       HVAC     Asset             NaN                    \n",
       "21  NaN                       HVAC     NaN               NaN                    \n",
       "22  NaN                       HVAC     NaN               NaN                    \n",
       "23  NaN                       HVAC     Asset             NaN                    \n",
       "24  Area A_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "25  Area A_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "26  NaN                       HVAC     Asset             NaN                    \n",
       "27  Area G_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "28  Area G_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "29  NaN                       HVAC     Asset             NaN                    \n",
       "30  Area Z_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "31  Area Z_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "32  NaN                       HVAC     Asset             NaN                    \n",
       "33  Area H_Relative Humidity  HVAC     CalculatedSignal  %                      \n",
       "34  Area H_Temperature        HVAC     CalculatedSignal  °F                     \n",
       "35  NaN                       HVAC     Asset             NaN                    \n",
       "\n",
       "                               Formula Parameters  \\\n",
       "0   signal=0D6B7162-1AD0-4E56-9B4E-A6A9FADE3EF5     \n",
       "1   [signal=FCE21545-38E1-4362-827B-64BFBDD8F24D]   \n",
       "2   NaN                                             \n",
       "3   [signal=466601D7-01DF-473D-A887-41AB6601357E]   \n",
       "4   [signal=66B95DB4-380F-4A19-AB39-BFCEECDE151A]   \n",
       "5   NaN                                             \n",
       "6   [signal=64ABB7B7-A9B7-4986-9B8B-96D8324EABF3]   \n",
       "7   [signal=E4AC82F7-E9D4-4174-9902-3E080052C9FB]   \n",
       "8   NaN                                             \n",
       "9   [signal=010C08AE-3255-446C-8B31-49A21DA47D2C]   \n",
       "10  [signal=10AEE93B-A930-4520-B306-59777FE02E01]   \n",
       "11  NaN                                             \n",
       "12  [signal=41356CC5-EF21-4F67-BE0B-1D6E7F8507E8]   \n",
       "13  [signal=BBE998D9-1B23-4593-AD0A-2A70B2077921]   \n",
       "14  NaN                                             \n",
       "15  [signal=D97DDD9A-18EB-49F4-9DD7-3CDBA4D44C58]   \n",
       "16  [signal=76D0DCEB-7DA7-40B8-8E05-5E1E6AF22839]   \n",
       "17  NaN                                             \n",
       "18  [signal=79BFC10D-A937-415F-BB32-ECA23ED1B9BB]   \n",
       "19  [signal=2FBC4789-F42E-48CB-8B24-6BED615905B8]   \n",
       "20  NaN                                             \n",
       "21  NaN                                             \n",
       "22  NaN                                             \n",
       "23  NaN                                             \n",
       "24  [signal=DD0293FA-3DDF-4BCF-846E-8E36C1FA24EB]   \n",
       "25  [signal=46D04795-DF47-4ABF-BC52-A2C407F28651]   \n",
       "26  NaN                                             \n",
       "27  [signal=A3CFC8E6-CC3E-42BB-A0BB-7532967C0B8A]   \n",
       "28  [signal=46F1AA23-A44C-4F4B-B3BA-101DEEFA302B]   \n",
       "29  NaN                                             \n",
       "30  [signal=C391C73C-B5BE-47D2-BBFB-4BAA50B8B201]   \n",
       "31  [signal=9E438723-EE4F-417F-81A8-9DD1F0958116]   \n",
       "32  NaN                                             \n",
       "33  [signal=5E0770A3-CB0C-426D-8412-B32F26662574]   \n",
       "34  [signal=491B1100-66B6-4112-ACE7-69A94982BD86]   \n",
       "35  NaN                                             \n",
       "\n",
       "                                  Push Result Datasource Class  Datasource ID  \\\n",
       "0   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "1   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "2   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "3   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "4   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "5   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "6   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "7   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "8   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "9   Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "10  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "11  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "12  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "13  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "14  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "15  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "16  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "17  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "18  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "19  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "20  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "21  Type is required for all item definitions  NaN              NaN             \n",
       "22  Type is required for all item definitions  NaN              NaN             \n",
       "23  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "24  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "25  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "26  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "27  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "28  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "29  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "30  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "31  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "32  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "33  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "34  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "35  Success                                    Seeq Data Lab    Seeq Data Lab   \n",
       "\n",
       "                                                                                                        Data ID  \n",
       "0   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area B >> Relative Humidity  \n",
       "1   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area B >> Temperature        \n",
       "2   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area B                        \n",
       "3   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area D >> Relative Humidity  \n",
       "4   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area D >> Temperature        \n",
       "5   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area D                        \n",
       "6   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area K >> Relative Humidity  \n",
       "7   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area K >> Temperature        \n",
       "8   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area K                        \n",
       "9   [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area J >> Relative Humidity  \n",
       "10  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area J >> Temperature        \n",
       "11  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area J                        \n",
       "12  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area E >> Relative Humidity  \n",
       "13  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area E >> Temperature        \n",
       "14  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area E                        \n",
       "15  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area I >> Relative Humidity  \n",
       "16  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area I >> Temperature        \n",
       "17  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area I                        \n",
       "18  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area C >> Relative Humidity  \n",
       "19  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area C >> Temperature        \n",
       "20  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area C                        \n",
       "21  NaN                                                                                                          \n",
       "22  NaN                                                                                                          \n",
       "23  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area F                        \n",
       "24  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area A >> Relative Humidity  \n",
       "25  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area A >> Temperature        \n",
       "26  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area A                        \n",
       "27  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area G >> Relative Humidity  \n",
       "28  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area G >> Temperature        \n",
       "29  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area G                        \n",
       "30  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area Z >> Relative Humidity  \n",
       "31  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area Z >> Temperature        \n",
       "32  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area Z                        \n",
       "33  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area H >> Relative Humidity  \n",
       "34  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal} My HVAC Units >> Facility #1 >> Area H >> Temperature        \n",
       "35  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset} My HVAC Units >> Facility #1 >> Area H                        "
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "spy.push(metadata=build_df, errors='catalog')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The asset tree is now available for viewing in Seeq. It is scoped to a workbook that you own called _Data Lab >> Data Lab Analysis_, so you won't see it in any other workbook. If/when you want to publish the tree globally, add the `workbook=None` parameter to your `spy.push()` function call."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Calculated Signals, Conditions and Scalars\n",
    "\n",
    "Now let's do something a little more advanced. We'll define a new class that has calculations alongside references to raw signals. This class will _derive from_ our existing `HVAC` class so that it _inherits_ the references we already defined."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "class HVAC_With_Calcs(HVAC):\n",
    "    \n",
    "    @Asset.Attribute()\n",
    "    def Temperature_Rate_Of_Change(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Signal',\n",
    "            \n",
    "            # This formula will give us a nice derivative in F/h\n",
    "            'Formula': '$temp.lowPassFilter(150min, 3min, 333).derivative() * 3600 s/h',\n",
    "            \n",
    "            'Formula Parameters': {\n",
    "                # We can reference the base class' Temperature attribute here as a dependency\n",
    "                '$temp': self.Temperature(metadata),\n",
    "            }\n",
    "        }\n",
    "    \n",
    "    @Asset.Attribute()\n",
    "    def Too_Hot(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Condition',\n",
    "            'Formula': '$temp.valueSearch(isGreaterThan($threshold))',\n",
    "            'Formula Parameters': {\n",
    "                '$temp': self.Temperature(metadata),\n",
    "                \n",
    "                # We can also reference other attributes in this derived class\n",
    "                '$threshold': self.Hot_Threshold(metadata)\n",
    "            }\n",
    "        }\n",
    "    \n",
    "    @Asset.Attribute()\n",
    "    def Hot_Threshold(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Scalar',\n",
    "            'Formula': '80F'\n",
    "        }"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We'll make some adjustments to our metadata DataFrame to use the new template and then push into Seeq:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"background-color: #EEFFEE;text-align: left;\">Pushed successfully to datasource <strong>Seeq Data Lab [Seeq Data Lab]</strong> and scoped to workbook ID <strong>B4DD96D3-70BE-4F37-A40C-E08C0976003B</strong><br>Click the following link to see what you pushed in Seeq:<br><a href=\"http://localhost:34216/5C7AAAF1-9989-4FAD-8CF5-E348ABCC74F8/workbook/B4DD96D3-70BE-4F37-A40C-E08C0976003B/worksheet/903478B4-083C-46FC-AD67-14951D507934\" target=\"_new\">http://localhost:34216/5C7AAAF1-9989-4FAD-8CF5-E348ABCC74F8/workbook/B4DD96D3-70BE-4F37-A40C-E08C0976003B/worksheet/903478B4-083C-46FC-AD67-14951D507934</a></div><table><tr><td style=\"background-color: #EEFFEE;\"></td><td style=\"background-color: #EEFFEE;\">Asset</td><td style=\"background-color: #EEFFEE;\">Condition</td><td style=\"background-color: #EEFFEE;\">Overall</td><td style=\"background-color: #EEFFEE;\">Relationship</td><td style=\"background-color: #EEFFEE;\">Scalar</td><td style=\"background-color: #EEFFEE;\">Signal</td><td style=\"background-color: #EEFFEE;\">Threshold Metric</td></tr><tr style=\"background-color: #EEFFEE;\"><td>Items pushed</td><td>14</td><td>11</td><td>98</td><td>69</td><td>12</td><td>33</td><td>0</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Asset</th>\n",
       "      <th>Build Result</th>\n",
       "      <th>Datasource Name</th>\n",
       "      <th>Description</th>\n",
       "      <th>Formula</th>\n",
       "      <th>Formula Parameters</th>\n",
       "      <th>ID</th>\n",
       "      <th>Name</th>\n",
       "      <th>Object</th>\n",
       "      <th>Path</th>\n",
       "      <th>Reference</th>\n",
       "      <th>Referenced Name</th>\n",
       "      <th>Template</th>\n",
       "      <th>Type</th>\n",
       "      <th>Value Unit Of Measure</th>\n",
       "      <th>Push Result</th>\n",
       "      <th>Datasource Class</th>\n",
       "      <th>Datasource ID</th>\n",
       "      <th>Data ID</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>11C5FFC3-50A8-4CAB-A572-A744528B012C</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=0D6B7162-1AD0-4E56-9B4E-A6A9FADE3EF5]</td>\n",
       "      <td>CFA04719-5B9C-4038-97F7-9B5749D0D02B</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area B_Relative Humidity</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=FCE21545-38E1-4362-827B-64BFBDD8F24D]</td>\n",
       "      <td>A854D834-1589-4AF3-8512-BFBCC96829CD</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area B_Temperature</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>[temp=A854D834-1589-4AF3-8512-BFBCC96829CD]</td>\n",
       "      <td>CAB4C6CD-CEB0-49D9-8100-944F461BD526</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>[temp=A854D834-1589-4AF3-8512-BFBCC96829CD, th...</td>\n",
       "      <td>9754887F-0614-495C-8A75-26EFCC1C7177</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Area B</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6F24CB1E-34A1-4972-AC59-220E634DBCF6</td>\n",
       "      <td>Area B</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2B247DA0-3C04-449D-9A2A-3E33BF3D3169</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=466601D7-01DF-473D-A887-41AB6601357E]</td>\n",
       "      <td>E7D8BE5D-0C93-4A44-8270-0E4A93A45B42</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area D_Relative Humidity</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=66B95DB4-380F-4A19-AB39-BFCEECDE151A]</td>\n",
       "      <td>1E6F7E9E-2EE9-4D90-BFA6-D8CB6217B691</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area D_Temperature</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>[temp=1E6F7E9E-2EE9-4D90-BFA6-D8CB6217B691]</td>\n",
       "      <td>A16A1308-8687-49CE-A2E9-B9CD3A39CCE4</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>[temp=1E6F7E9E-2EE9-4D90-BFA6-D8CB6217B691, th...</td>\n",
       "      <td>B47E2024-EE83-4C13-A5AE-69ED85C3AE31</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Area D</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>D62B622B-8C0E-4C5C-A038-71EDC419F479</td>\n",
       "      <td>Area D</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>B6C0908D-AB77-4CAC-950E-BF8AF298E7F1</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=64ABB7B7-A9B7-4986-9B8B-96D8324EABF3]</td>\n",
       "      <td>79C1C782-75F6-437A-8A8E-A084D07A53C1</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area K_Relative Humidity</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=E4AC82F7-E9D4-4174-9902-3E080052C9FB]</td>\n",
       "      <td>52AC0344-DCE0-4B7D-BE85-1864228AE8EC</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area K_Temperature</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>[temp=52AC0344-DCE0-4B7D-BE85-1864228AE8EC]</td>\n",
       "      <td>D78880C6-C9FE-4C28-85B8-A806DD1F4728</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>[temp=52AC0344-DCE0-4B7D-BE85-1864228AE8EC, th...</td>\n",
       "      <td>16B3CCD5-7D8D-49B3-AB2F-DDA9A25B416D</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Area K</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>87865A47-D5E1-46C2-BDC1-84FE883AE3EA</td>\n",
       "      <td>Area K</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>001C1FF3-0B23-49E9-96D9-AE6C1CD87E19</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=010C08AE-3255-446C-8B31-49A21DA47D2C]</td>\n",
       "      <td>ABFF6E24-287D-405E-9E34-10E3BD55A17E</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area J_Relative Humidity</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=10AEE93B-A930-4520-B306-59777FE02E01]</td>\n",
       "      <td>609C8A43-DB37-4489-8D8C-15868A4EE75F</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area J_Temperature</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>[temp=609C8A43-DB37-4489-8D8C-15868A4EE75F]</td>\n",
       "      <td>024BF268-C559-4B2C-98CB-8A05F04A77E6</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>[temp=609C8A43-DB37-4489-8D8C-15868A4EE75F, th...</td>\n",
       "      <td>AA3F8742-0C8E-4FD1-9A02-FFB7EFDDFDA9</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Area J</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>91C7B719-9FE6-4E62-B939-9D766CD5DB3D</td>\n",
       "      <td>Area J</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2D8AE41E-FD47-4384-B2BA-6F30AA61C245</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=41356CC5-EF21-4F67-BE0B-1D6E7F8507E8]</td>\n",
       "      <td>5CDE6759-33CD-4380-9ECF-665089C69397</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area E_Relative Humidity</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=BBE998D9-1B23-4593-AD0A-2A70B2077921]</td>\n",
       "      <td>AFB1D7F1-D029-460A-9B37-F727C0446A59</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area E_Temperature</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>[temp=AFB1D7F1-D029-460A-9B37-F727C0446A59]</td>\n",
       "      <td>52B541D1-CF24-429B-B363-8C9232296799</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>[temp=AFB1D7F1-D029-460A-9B37-F727C0446A59, th...</td>\n",
       "      <td>2F4A4114-6D03-43EC-A8A4-C398C24A6281</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>Area E</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>23BCCC41-BFB8-4371-BA0F-A324F36C574F</td>\n",
       "      <td>Area E</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>Area F</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C8336968-5FF8-426E-A2CA-AF78B6E69FB8</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>Area F</td>\n",
       "      <td>No matching metadata row found for \"Relative_H...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Type is required for all item definitions</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>Area F</td>\n",
       "      <td>No matching metadata row found for \"Temperature\"</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Type is required for all item definitions</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>Area F</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>{'$temp': {'Name': 'Temperature', 'Asset': 'Ar...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Signal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Could not find dependency {'Name': 'Temperatur...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>Area F</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>{'$temp': {'Name': 'Temperature', 'Asset': 'Ar...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Condition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Could not find dependency {'Name': 'Temperatur...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>Area F</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>B2D09126-BDF1-41E4-9DAB-217CB09E45CB</td>\n",
       "      <td>Area F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3FFFDDAC-51E1-4E0F-8007-2CCC97B9BEF3</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=DD0293FA-3DDF-4BCF-846E-8E36C1FA24EB]</td>\n",
       "      <td>D0BE7EE7-27A2-4E82-B0B4-E80CCDC5B5C7</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area A_Relative Humidity</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=46D04795-DF47-4ABF-BC52-A2C407F28651]</td>\n",
       "      <td>AD1C4174-6FA6-436F-B87C-D5E2AE767BC7</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area A_Temperature</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>[temp=AD1C4174-6FA6-436F-B87C-D5E2AE767BC7]</td>\n",
       "      <td>B45F75B9-BAC7-47B5-95EB-E3161058C137</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>[temp=AD1C4174-6FA6-436F-B87C-D5E2AE767BC7, th...</td>\n",
       "      <td>58C9608F-3047-4F3C-8B4C-55ABFEFE62E9</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>Area A</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C3411FA5-2D48-4C6F-9006-E1DBACD9D2BF</td>\n",
       "      <td>Area A</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>76ACCCA6-DB95-40F5-9749-CCE570D5048F</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=A3CFC8E6-CC3E-42BB-A0BB-7532967C0B8A]</td>\n",
       "      <td>BD9FA08F-4735-42C1-9A72-B8D28F00A736</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area G_Relative Humidity</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=46F1AA23-A44C-4F4B-B3BA-101DEEFA302B]</td>\n",
       "      <td>A0921C68-33D0-40CD-8F81-ACBAFCC8A3A8</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area G_Temperature</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>[temp=A0921C68-33D0-40CD-8F81-ACBAFCC8A3A8]</td>\n",
       "      <td>D0FA094B-86F4-46E8-AA74-081A8FB2896D</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>[temp=A0921C68-33D0-40CD-8F81-ACBAFCC8A3A8, th...</td>\n",
       "      <td>4C0D3BCB-4727-4FF3-9ED2-BC516B5B14A7</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>Area G</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>36AC139F-952E-4072-822A-958B0AB6BB5D</td>\n",
       "      <td>Area G</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>BBEED632-0331-4B6A-AFE5-8C3F658F8A45</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=C391C73C-B5BE-47D2-BBFB-4BAA50B8B201]</td>\n",
       "      <td>DE407E1B-61CC-44F8-989A-163A698DAAD7</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area Z_Relative Humidity</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=9E438723-EE4F-417F-81A8-9DD1F0958116]</td>\n",
       "      <td>44E48143-E028-4DAF-A945-09213AA644B6</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area Z_Temperature</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>[temp=44E48143-E028-4DAF-A945-09213AA644B6]</td>\n",
       "      <td>ECB2F164-B808-45A9-9BDA-3C1D0F16345B</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>[temp=44E48143-E028-4DAF-A945-09213AA644B6, th...</td>\n",
       "      <td>7ACE1BA8-617C-4FF9-B96B-7F5EFF04BBF8</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>Area Z</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2CD0EC51-0140-4B62-9DB6-3A63E5535829</td>\n",
       "      <td>Area Z</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>80F</td>\n",
       "      <td>NaN</td>\n",
       "      <td>E8FDA3EB-1648-4114-AD3F-2D9486669872</td>\n",
       "      <td>Hot Threshold</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedScalar</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=5E0770A3-CB0C-426D-8412-B32F26662574]</td>\n",
       "      <td>DF5FBCA0-733A-4E8C-8BBE-C19D5B40A179</td>\n",
       "      <td>Relative Humidity</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area H_Relative Humidity</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>%</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=491B1100-66B6-4112-ACE7-69A94982BD86]</td>\n",
       "      <td>CB2D2AFC-7C0E-445A-87B3-E0121DB506B5</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area H_Temperature</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.lowPassFilter(150min, 3min, 333).derivat...</td>\n",
       "      <td>[temp=CB2D2AFC-7C0E-445A-87B3-E0121DB506B5]</td>\n",
       "      <td>B4FD6545-C6E1-431B-9E7D-DF98C0122D03</td>\n",
       "      <td>Temperature Rate Of Change</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$temp.valueSearch(isGreaterThan($threshold))</td>\n",
       "      <td>[temp=CB2D2AFC-7C0E-445A-87B3-E0121DB506B5, th...</td>\n",
       "      <td>E679858E-FA21-43FA-8EA2-C4A84DC88E4D</td>\n",
       "      <td>Too Hot</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>71</th>\n",
       "      <td>Area H</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>B872D716-5490-40A7-9351-396D7D62CCD9</td>\n",
       "      <td>Area H</td>\n",
       "      <td>NaN</td>\n",
       "      <td>My HVAC Units &gt;&gt; Facility #1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>HVAC With Calcs</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Success</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>72 rows × 19 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Asset                                       Build Result Datasource Name  \\\n",
       "0   Area B                                            Success             NaN   \n",
       "1   Area B                                            Success    Example Data   \n",
       "2   Area B                                            Success    Example Data   \n",
       "3   Area B                                            Success             NaN   \n",
       "4   Area B                                            Success             NaN   \n",
       "5   Area B                                            Success             NaN   \n",
       "6   Area D                                            Success             NaN   \n",
       "7   Area D                                            Success    Example Data   \n",
       "8   Area D                                            Success    Example Data   \n",
       "9   Area D                                            Success             NaN   \n",
       "10  Area D                                            Success             NaN   \n",
       "11  Area D                                            Success             NaN   \n",
       "12  Area K                                            Success             NaN   \n",
       "13  Area K                                            Success    Example Data   \n",
       "14  Area K                                            Success    Example Data   \n",
       "15  Area K                                            Success             NaN   \n",
       "16  Area K                                            Success             NaN   \n",
       "17  Area K                                            Success             NaN   \n",
       "18  Area J                                            Success             NaN   \n",
       "19  Area J                                            Success    Example Data   \n",
       "20  Area J                                            Success    Example Data   \n",
       "21  Area J                                            Success             NaN   \n",
       "22  Area J                                            Success             NaN   \n",
       "23  Area J                                            Success             NaN   \n",
       "24  Area E                                            Success             NaN   \n",
       "25  Area E                                            Success    Example Data   \n",
       "26  Area E                                            Success    Example Data   \n",
       "27  Area E                                            Success             NaN   \n",
       "28  Area E                                            Success             NaN   \n",
       "29  Area E                                            Success             NaN   \n",
       "..     ...                                                ...             ...   \n",
       "42  Area F                                            Success             NaN   \n",
       "43  Area F  No matching metadata row found for \"Relative_H...             NaN   \n",
       "44  Area F   No matching metadata row found for \"Temperature\"             NaN   \n",
       "45  Area F                                            Success             NaN   \n",
       "46  Area F                                            Success             NaN   \n",
       "47  Area F                                            Success             NaN   \n",
       "48  Area A                                            Success             NaN   \n",
       "49  Area A                                            Success    Example Data   \n",
       "50  Area A                                            Success    Example Data   \n",
       "51  Area A                                            Success             NaN   \n",
       "52  Area A                                            Success             NaN   \n",
       "53  Area A                                            Success             NaN   \n",
       "54  Area G                                            Success             NaN   \n",
       "55  Area G                                            Success    Example Data   \n",
       "56  Area G                                            Success    Example Data   \n",
       "57  Area G                                            Success             NaN   \n",
       "58  Area G                                            Success             NaN   \n",
       "59  Area G                                            Success             NaN   \n",
       "60  Area Z                                            Success             NaN   \n",
       "61  Area Z                                            Success    Example Data   \n",
       "62  Area Z                                            Success    Example Data   \n",
       "63  Area Z                                            Success             NaN   \n",
       "64  Area Z                                            Success             NaN   \n",
       "65  Area Z                                            Success             NaN   \n",
       "66  Area H                                            Success             NaN   \n",
       "67  Area H                                            Success    Example Data   \n",
       "68  Area H                                            Success    Example Data   \n",
       "69  Area H                                            Success             NaN   \n",
       "70  Area H                                            Success             NaN   \n",
       "71  Area H                                            Success             NaN   \n",
       "\n",
       "    Description                                            Formula  \\\n",
       "0           NaN                                                80F   \n",
       "1           NaN                                                NaN   \n",
       "2           NaN                                                NaN   \n",
       "3           NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "4           NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "5           NaN                                                NaN   \n",
       "6           NaN                                                80F   \n",
       "7           NaN                                                NaN   \n",
       "8           NaN                                                NaN   \n",
       "9           NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "10          NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "11          NaN                                                NaN   \n",
       "12          NaN                                                80F   \n",
       "13          NaN                                                NaN   \n",
       "14          NaN                                                NaN   \n",
       "15          NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "16          NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "17          NaN                                                NaN   \n",
       "18          NaN                                                80F   \n",
       "19          NaN                                                NaN   \n",
       "20          NaN                                                NaN   \n",
       "21          NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "22          NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "23          NaN                                                NaN   \n",
       "24          NaN                                                80F   \n",
       "25          NaN                                                NaN   \n",
       "26          NaN                                                NaN   \n",
       "27          NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "28          NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "29          NaN                                                NaN   \n",
       "..          ...                                                ...   \n",
       "42          NaN                                                80F   \n",
       "43          NaN                                                NaN   \n",
       "44          NaN                                                NaN   \n",
       "45          NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "46          NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "47          NaN                                                NaN   \n",
       "48          NaN                                                80F   \n",
       "49          NaN                                                NaN   \n",
       "50          NaN                                                NaN   \n",
       "51          NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "52          NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "53          NaN                                                NaN   \n",
       "54          NaN                                                80F   \n",
       "55          NaN                                                NaN   \n",
       "56          NaN                                                NaN   \n",
       "57          NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "58          NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "59          NaN                                                NaN   \n",
       "60          NaN                                                80F   \n",
       "61          NaN                                                NaN   \n",
       "62          NaN                                                NaN   \n",
       "63          NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "64          NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "65          NaN                                                NaN   \n",
       "66          NaN                                                80F   \n",
       "67          NaN                                                NaN   \n",
       "68          NaN                                                NaN   \n",
       "69          NaN  $temp.lowPassFilter(150min, 3min, 333).derivat...   \n",
       "70          NaN       $temp.valueSearch(isGreaterThan($threshold))   \n",
       "71          NaN                                                NaN   \n",
       "\n",
       "                                   Formula Parameters  \\\n",
       "0                                                 NaN   \n",
       "1       [signal=0D6B7162-1AD0-4E56-9B4E-A6A9FADE3EF5]   \n",
       "2       [signal=FCE21545-38E1-4362-827B-64BFBDD8F24D]   \n",
       "3         [temp=A854D834-1589-4AF3-8512-BFBCC96829CD]   \n",
       "4   [temp=A854D834-1589-4AF3-8512-BFBCC96829CD, th...   \n",
       "5                                                 NaN   \n",
       "6                                                 NaN   \n",
       "7       [signal=466601D7-01DF-473D-A887-41AB6601357E]   \n",
       "8       [signal=66B95DB4-380F-4A19-AB39-BFCEECDE151A]   \n",
       "9         [temp=1E6F7E9E-2EE9-4D90-BFA6-D8CB6217B691]   \n",
       "10  [temp=1E6F7E9E-2EE9-4D90-BFA6-D8CB6217B691, th...   \n",
       "11                                                NaN   \n",
       "12                                                NaN   \n",
       "13      [signal=64ABB7B7-A9B7-4986-9B8B-96D8324EABF3]   \n",
       "14      [signal=E4AC82F7-E9D4-4174-9902-3E080052C9FB]   \n",
       "15        [temp=52AC0344-DCE0-4B7D-BE85-1864228AE8EC]   \n",
       "16  [temp=52AC0344-DCE0-4B7D-BE85-1864228AE8EC, th...   \n",
       "17                                                NaN   \n",
       "18                                                NaN   \n",
       "19      [signal=010C08AE-3255-446C-8B31-49A21DA47D2C]   \n",
       "20      [signal=10AEE93B-A930-4520-B306-59777FE02E01]   \n",
       "21        [temp=609C8A43-DB37-4489-8D8C-15868A4EE75F]   \n",
       "22  [temp=609C8A43-DB37-4489-8D8C-15868A4EE75F, th...   \n",
       "23                                                NaN   \n",
       "24                                                NaN   \n",
       "25      [signal=41356CC5-EF21-4F67-BE0B-1D6E7F8507E8]   \n",
       "26      [signal=BBE998D9-1B23-4593-AD0A-2A70B2077921]   \n",
       "27        [temp=AFB1D7F1-D029-460A-9B37-F727C0446A59]   \n",
       "28  [temp=AFB1D7F1-D029-460A-9B37-F727C0446A59, th...   \n",
       "29                                                NaN   \n",
       "..                                                ...   \n",
       "42                                                NaN   \n",
       "43                                                NaN   \n",
       "44                                                NaN   \n",
       "45  {'$temp': {'Name': 'Temperature', 'Asset': 'Ar...   \n",
       "46  {'$temp': {'Name': 'Temperature', 'Asset': 'Ar...   \n",
       "47                                                NaN   \n",
       "48                                                NaN   \n",
       "49      [signal=DD0293FA-3DDF-4BCF-846E-8E36C1FA24EB]   \n",
       "50      [signal=46D04795-DF47-4ABF-BC52-A2C407F28651]   \n",
       "51        [temp=AD1C4174-6FA6-436F-B87C-D5E2AE767BC7]   \n",
       "52  [temp=AD1C4174-6FA6-436F-B87C-D5E2AE767BC7, th...   \n",
       "53                                                NaN   \n",
       "54                                                NaN   \n",
       "55      [signal=A3CFC8E6-CC3E-42BB-A0BB-7532967C0B8A]   \n",
       "56      [signal=46F1AA23-A44C-4F4B-B3BA-101DEEFA302B]   \n",
       "57        [temp=A0921C68-33D0-40CD-8F81-ACBAFCC8A3A8]   \n",
       "58  [temp=A0921C68-33D0-40CD-8F81-ACBAFCC8A3A8, th...   \n",
       "59                                                NaN   \n",
       "60                                                NaN   \n",
       "61      [signal=C391C73C-B5BE-47D2-BBFB-4BAA50B8B201]   \n",
       "62      [signal=9E438723-EE4F-417F-81A8-9DD1F0958116]   \n",
       "63        [temp=44E48143-E028-4DAF-A945-09213AA644B6]   \n",
       "64  [temp=44E48143-E028-4DAF-A945-09213AA644B6, th...   \n",
       "65                                                NaN   \n",
       "66                                                NaN   \n",
       "67      [signal=5E0770A3-CB0C-426D-8412-B32F26662574]   \n",
       "68      [signal=491B1100-66B6-4112-ACE7-69A94982BD86]   \n",
       "69        [temp=CB2D2AFC-7C0E-445A-87B3-E0121DB506B5]   \n",
       "70  [temp=CB2D2AFC-7C0E-445A-87B3-E0121DB506B5, th...   \n",
       "71                                                NaN   \n",
       "\n",
       "                                      ID                        Name Object  \\\n",
       "0   11C5FFC3-50A8-4CAB-A572-A744528B012C               Hot Threshold    NaN   \n",
       "1   CFA04719-5B9C-4038-97F7-9B5749D0D02B           Relative Humidity    NaN   \n",
       "2   A854D834-1589-4AF3-8512-BFBCC96829CD                 Temperature    NaN   \n",
       "3   CAB4C6CD-CEB0-49D9-8100-944F461BD526  Temperature Rate Of Change    NaN   \n",
       "4   9754887F-0614-495C-8A75-26EFCC1C7177                     Too Hot    NaN   \n",
       "5   6F24CB1E-34A1-4972-AC59-220E634DBCF6                      Area B    NaN   \n",
       "6   2B247DA0-3C04-449D-9A2A-3E33BF3D3169               Hot Threshold    NaN   \n",
       "7   E7D8BE5D-0C93-4A44-8270-0E4A93A45B42           Relative Humidity    NaN   \n",
       "8   1E6F7E9E-2EE9-4D90-BFA6-D8CB6217B691                 Temperature    NaN   \n",
       "9   A16A1308-8687-49CE-A2E9-B9CD3A39CCE4  Temperature Rate Of Change    NaN   \n",
       "10  B47E2024-EE83-4C13-A5AE-69ED85C3AE31                     Too Hot    NaN   \n",
       "11  D62B622B-8C0E-4C5C-A038-71EDC419F479                      Area D    NaN   \n",
       "12  B6C0908D-AB77-4CAC-950E-BF8AF298E7F1               Hot Threshold    NaN   \n",
       "13  79C1C782-75F6-437A-8A8E-A084D07A53C1           Relative Humidity    NaN   \n",
       "14  52AC0344-DCE0-4B7D-BE85-1864228AE8EC                 Temperature    NaN   \n",
       "15  D78880C6-C9FE-4C28-85B8-A806DD1F4728  Temperature Rate Of Change    NaN   \n",
       "16  16B3CCD5-7D8D-49B3-AB2F-DDA9A25B416D                     Too Hot    NaN   \n",
       "17  87865A47-D5E1-46C2-BDC1-84FE883AE3EA                      Area K    NaN   \n",
       "18  001C1FF3-0B23-49E9-96D9-AE6C1CD87E19               Hot Threshold    NaN   \n",
       "19  ABFF6E24-287D-405E-9E34-10E3BD55A17E           Relative Humidity    NaN   \n",
       "20  609C8A43-DB37-4489-8D8C-15868A4EE75F                 Temperature    NaN   \n",
       "21  024BF268-C559-4B2C-98CB-8A05F04A77E6  Temperature Rate Of Change    NaN   \n",
       "22  AA3F8742-0C8E-4FD1-9A02-FFB7EFDDFDA9                     Too Hot    NaN   \n",
       "23  91C7B719-9FE6-4E62-B939-9D766CD5DB3D                      Area J    NaN   \n",
       "24  2D8AE41E-FD47-4384-B2BA-6F30AA61C245               Hot Threshold    NaN   \n",
       "25  5CDE6759-33CD-4380-9ECF-665089C69397           Relative Humidity    NaN   \n",
       "26  AFB1D7F1-D029-460A-9B37-F727C0446A59                 Temperature    NaN   \n",
       "27  52B541D1-CF24-429B-B363-8C9232296799  Temperature Rate Of Change    NaN   \n",
       "28  2F4A4114-6D03-43EC-A8A4-C398C24A6281                     Too Hot    NaN   \n",
       "29  23BCCC41-BFB8-4371-BA0F-A324F36C574F                      Area E    NaN   \n",
       "..                                   ...                         ...    ...   \n",
       "42  C8336968-5FF8-426E-A2CA-AF78B6E69FB8               Hot Threshold    NaN   \n",
       "43                                   NaN           Relative Humidity    NaN   \n",
       "44                                   NaN                 Temperature    NaN   \n",
       "45                                   NaN  Temperature Rate Of Change    NaN   \n",
       "46                                   NaN                     Too Hot    NaN   \n",
       "47  B2D09126-BDF1-41E4-9DAB-217CB09E45CB                      Area F    NaN   \n",
       "48  3FFFDDAC-51E1-4E0F-8007-2CCC97B9BEF3               Hot Threshold    NaN   \n",
       "49  D0BE7EE7-27A2-4E82-B0B4-E80CCDC5B5C7           Relative Humidity    NaN   \n",
       "50  AD1C4174-6FA6-436F-B87C-D5E2AE767BC7                 Temperature    NaN   \n",
       "51  B45F75B9-BAC7-47B5-95EB-E3161058C137  Temperature Rate Of Change    NaN   \n",
       "52  58C9608F-3047-4F3C-8B4C-55ABFEFE62E9                     Too Hot    NaN   \n",
       "53  C3411FA5-2D48-4C6F-9006-E1DBACD9D2BF                      Area A    NaN   \n",
       "54  76ACCCA6-DB95-40F5-9749-CCE570D5048F               Hot Threshold    NaN   \n",
       "55  BD9FA08F-4735-42C1-9A72-B8D28F00A736           Relative Humidity    NaN   \n",
       "56  A0921C68-33D0-40CD-8F81-ACBAFCC8A3A8                 Temperature    NaN   \n",
       "57  D0FA094B-86F4-46E8-AA74-081A8FB2896D  Temperature Rate Of Change    NaN   \n",
       "58  4C0D3BCB-4727-4FF3-9ED2-BC516B5B14A7                     Too Hot    NaN   \n",
       "59  36AC139F-952E-4072-822A-958B0AB6BB5D                      Area G    NaN   \n",
       "60  BBEED632-0331-4B6A-AFE5-8C3F658F8A45               Hot Threshold    NaN   \n",
       "61  DE407E1B-61CC-44F8-989A-163A698DAAD7           Relative Humidity    NaN   \n",
       "62  44E48143-E028-4DAF-A945-09213AA644B6                 Temperature    NaN   \n",
       "63  ECB2F164-B808-45A9-9BDA-3C1D0F16345B  Temperature Rate Of Change    NaN   \n",
       "64  7ACE1BA8-617C-4FF9-B96B-7F5EFF04BBF8                     Too Hot    NaN   \n",
       "65  2CD0EC51-0140-4B62-9DB6-3A63E5535829                      Area Z    NaN   \n",
       "66  E8FDA3EB-1648-4114-AD3F-2D9486669872               Hot Threshold    NaN   \n",
       "67  DF5FBCA0-733A-4E8C-8BBE-C19D5B40A179           Relative Humidity    NaN   \n",
       "68  CB2D2AFC-7C0E-445A-87B3-E0121DB506B5                 Temperature    NaN   \n",
       "69  B4FD6545-C6E1-431B-9E7D-DF98C0122D03  Temperature Rate Of Change    NaN   \n",
       "70  E679858E-FA21-43FA-8EA2-C4A84DC88E4D                     Too Hot    NaN   \n",
       "71  B872D716-5490-40A7-9351-396D7D62CCD9                      Area H    NaN   \n",
       "\n",
       "                            Path Reference           Referenced Name  \\\n",
       "0   My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "1   My HVAC Units >> Facility #1      True  Area B_Relative Humidity   \n",
       "2   My HVAC Units >> Facility #1      True        Area B_Temperature   \n",
       "3   My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "4   My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "5   My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "6   My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "7   My HVAC Units >> Facility #1      True  Area D_Relative Humidity   \n",
       "8   My HVAC Units >> Facility #1      True        Area D_Temperature   \n",
       "9   My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "10  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "11  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "12  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "13  My HVAC Units >> Facility #1      True  Area K_Relative Humidity   \n",
       "14  My HVAC Units >> Facility #1      True        Area K_Temperature   \n",
       "15  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "16  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "17  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "18  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "19  My HVAC Units >> Facility #1      True  Area J_Relative Humidity   \n",
       "20  My HVAC Units >> Facility #1      True        Area J_Temperature   \n",
       "21  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "22  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "23  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "24  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "25  My HVAC Units >> Facility #1      True  Area E_Relative Humidity   \n",
       "26  My HVAC Units >> Facility #1      True        Area E_Temperature   \n",
       "27  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "28  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "29  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "..                           ...       ...                       ...   \n",
       "42  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "43  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "44  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "45  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "46  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "47  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "48  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "49  My HVAC Units >> Facility #1      True  Area A_Relative Humidity   \n",
       "50  My HVAC Units >> Facility #1      True        Area A_Temperature   \n",
       "51  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "52  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "53  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "54  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "55  My HVAC Units >> Facility #1      True  Area G_Relative Humidity   \n",
       "56  My HVAC Units >> Facility #1      True        Area G_Temperature   \n",
       "57  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "58  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "59  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "60  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "61  My HVAC Units >> Facility #1      True  Area Z_Relative Humidity   \n",
       "62  My HVAC Units >> Facility #1      True        Area Z_Temperature   \n",
       "63  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "64  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "65  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "66  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "67  My HVAC Units >> Facility #1      True  Area H_Relative Humidity   \n",
       "68  My HVAC Units >> Facility #1      True        Area H_Temperature   \n",
       "69  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "70  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "71  My HVAC Units >> Facility #1       NaN                       NaN   \n",
       "\n",
       "           Template                 Type Value Unit Of Measure  \\\n",
       "0   HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "1   HVAC With Calcs     CalculatedSignal                     %   \n",
       "2   HVAC With Calcs     CalculatedSignal                    °F   \n",
       "3   HVAC With Calcs     CalculatedSignal                   NaN   \n",
       "4   HVAC With Calcs  CalculatedCondition                   NaN   \n",
       "5   HVAC With Calcs                Asset                   NaN   \n",
       "6   HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "7   HVAC With Calcs     CalculatedSignal                     %   \n",
       "8   HVAC With Calcs     CalculatedSignal                    °F   \n",
       "9   HVAC With Calcs     CalculatedSignal                   NaN   \n",
       "10  HVAC With Calcs  CalculatedCondition                   NaN   \n",
       "11  HVAC With Calcs                Asset                   NaN   \n",
       "12  HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "13  HVAC With Calcs     CalculatedSignal                     %   \n",
       "14  HVAC With Calcs     CalculatedSignal                    °F   \n",
       "15  HVAC With Calcs     CalculatedSignal                   NaN   \n",
       "16  HVAC With Calcs  CalculatedCondition                   NaN   \n",
       "17  HVAC With Calcs                Asset                   NaN   \n",
       "18  HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "19  HVAC With Calcs     CalculatedSignal                     %   \n",
       "20  HVAC With Calcs     CalculatedSignal                    °F   \n",
       "21  HVAC With Calcs     CalculatedSignal                   NaN   \n",
       "22  HVAC With Calcs  CalculatedCondition                   NaN   \n",
       "23  HVAC With Calcs                Asset                   NaN   \n",
       "24  HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "25  HVAC With Calcs     CalculatedSignal                     %   \n",
       "26  HVAC With Calcs     CalculatedSignal                    °F   \n",
       "27  HVAC With Calcs     CalculatedSignal                   NaN   \n",
       "28  HVAC With Calcs  CalculatedCondition                   NaN   \n",
       "29  HVAC With Calcs                Asset                   NaN   \n",
       "..              ...                  ...                   ...   \n",
       "42  HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "43  HVAC With Calcs                  NaN                   NaN   \n",
       "44  HVAC With Calcs                  NaN                   NaN   \n",
       "45  HVAC With Calcs               Signal                   NaN   \n",
       "46  HVAC With Calcs            Condition                   NaN   \n",
       "47  HVAC With Calcs                Asset                   NaN   \n",
       "48  HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "49  HVAC With Calcs     CalculatedSignal                     %   \n",
       "50  HVAC With Calcs     CalculatedSignal                    °F   \n",
       "51  HVAC With Calcs     CalculatedSignal                   NaN   \n",
       "52  HVAC With Calcs  CalculatedCondition                   NaN   \n",
       "53  HVAC With Calcs                Asset                   NaN   \n",
       "54  HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "55  HVAC With Calcs     CalculatedSignal                     %   \n",
       "56  HVAC With Calcs     CalculatedSignal                    °F   \n",
       "57  HVAC With Calcs     CalculatedSignal                   NaN   \n",
       "58  HVAC With Calcs  CalculatedCondition                   NaN   \n",
       "59  HVAC With Calcs                Asset                   NaN   \n",
       "60  HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "61  HVAC With Calcs     CalculatedSignal                     %   \n",
       "62  HVAC With Calcs     CalculatedSignal                    °F   \n",
       "63  HVAC With Calcs     CalculatedSignal                   NaN   \n",
       "64  HVAC With Calcs  CalculatedCondition                   NaN   \n",
       "65  HVAC With Calcs                Asset                   NaN   \n",
       "66  HVAC With Calcs     CalculatedScalar                   NaN   \n",
       "67  HVAC With Calcs     CalculatedSignal                     %   \n",
       "68  HVAC With Calcs     CalculatedSignal                    °F   \n",
       "69  HVAC With Calcs     CalculatedSignal                   NaN   \n",
       "70  HVAC With Calcs  CalculatedCondition                   NaN   \n",
       "71  HVAC With Calcs                Asset                   NaN   \n",
       "\n",
       "                                          Push Result Datasource Class  \\\n",
       "0                                             Success    Seeq Data Lab   \n",
       "1                                             Success    Seeq Data Lab   \n",
       "2                                             Success    Seeq Data Lab   \n",
       "3                                             Success    Seeq Data Lab   \n",
       "4                                             Success    Seeq Data Lab   \n",
       "5                                             Success    Seeq Data Lab   \n",
       "6                                             Success    Seeq Data Lab   \n",
       "7                                             Success    Seeq Data Lab   \n",
       "8                                             Success    Seeq Data Lab   \n",
       "9                                             Success    Seeq Data Lab   \n",
       "10                                            Success    Seeq Data Lab   \n",
       "11                                            Success    Seeq Data Lab   \n",
       "12                                            Success    Seeq Data Lab   \n",
       "13                                            Success    Seeq Data Lab   \n",
       "14                                            Success    Seeq Data Lab   \n",
       "15                                            Success    Seeq Data Lab   \n",
       "16                                            Success    Seeq Data Lab   \n",
       "17                                            Success    Seeq Data Lab   \n",
       "18                                            Success    Seeq Data Lab   \n",
       "19                                            Success    Seeq Data Lab   \n",
       "20                                            Success    Seeq Data Lab   \n",
       "21                                            Success    Seeq Data Lab   \n",
       "22                                            Success    Seeq Data Lab   \n",
       "23                                            Success    Seeq Data Lab   \n",
       "24                                            Success    Seeq Data Lab   \n",
       "25                                            Success    Seeq Data Lab   \n",
       "26                                            Success    Seeq Data Lab   \n",
       "27                                            Success    Seeq Data Lab   \n",
       "28                                            Success    Seeq Data Lab   \n",
       "29                                            Success    Seeq Data Lab   \n",
       "..                                                ...              ...   \n",
       "42                                            Success    Seeq Data Lab   \n",
       "43          Type is required for all item definitions              NaN   \n",
       "44          Type is required for all item definitions              NaN   \n",
       "45  Could not find dependency {'Name': 'Temperatur...              NaN   \n",
       "46  Could not find dependency {'Name': 'Temperatur...              NaN   \n",
       "47                                            Success    Seeq Data Lab   \n",
       "48                                            Success    Seeq Data Lab   \n",
       "49                                            Success    Seeq Data Lab   \n",
       "50                                            Success    Seeq Data Lab   \n",
       "51                                            Success    Seeq Data Lab   \n",
       "52                                            Success    Seeq Data Lab   \n",
       "53                                            Success    Seeq Data Lab   \n",
       "54                                            Success    Seeq Data Lab   \n",
       "55                                            Success    Seeq Data Lab   \n",
       "56                                            Success    Seeq Data Lab   \n",
       "57                                            Success    Seeq Data Lab   \n",
       "58                                            Success    Seeq Data Lab   \n",
       "59                                            Success    Seeq Data Lab   \n",
       "60                                            Success    Seeq Data Lab   \n",
       "61                                            Success    Seeq Data Lab   \n",
       "62                                            Success    Seeq Data Lab   \n",
       "63                                            Success    Seeq Data Lab   \n",
       "64                                            Success    Seeq Data Lab   \n",
       "65                                            Success    Seeq Data Lab   \n",
       "66                                            Success    Seeq Data Lab   \n",
       "67                                            Success    Seeq Data Lab   \n",
       "68                                            Success    Seeq Data Lab   \n",
       "69                                            Success    Seeq Data Lab   \n",
       "70                                            Success    Seeq Data Lab   \n",
       "71                                            Success    Seeq Data Lab   \n",
       "\n",
       "    Datasource ID                                            Data ID  \n",
       "0   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "1   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "2   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "3   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "4   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...  \n",
       "5   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "6   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "7   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "8   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "9   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "10  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...  \n",
       "11  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "12  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "13  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "14  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "15  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "16  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...  \n",
       "17  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "18  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "19  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "20  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "21  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "22  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...  \n",
       "23  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "24  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "25  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "26  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "27  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "28  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...  \n",
       "29  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "..            ...                                                ...  \n",
       "42  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "43            NaN                                                NaN  \n",
       "44            NaN                                                NaN  \n",
       "45            NaN                                                NaN  \n",
       "46            NaN                                                NaN  \n",
       "47  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "48  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "49  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "50  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "51  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "52  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...  \n",
       "53  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "54  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "55  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "56  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "57  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "58  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...  \n",
       "59  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "60  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "61  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "62  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "63  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "64  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...  \n",
       "65  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "66  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Scalar...  \n",
       "67  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "68  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "69  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...  \n",
       "70  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...  \n",
       "71  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...  \n",
       "\n",
       "[72 rows x 19 columns]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Make a copy of our original metadata but change the Build Template\n",
    "hvac_with_calcs_metadata_df = hvac_metadata_df.copy()\n",
    "\n",
    "build_with_calcs_df = spy.assets.build(HVAC_With_Calcs, hvac_with_calcs_metadata_df)\n",
    "\n",
    "pd.set_option('display.max_colwidth', 50)\n",
    "\n",
    "spy.push(metadata=build_with_calcs_df, errors='catalog')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now when you look at the asset tree in Seeq, you'll see `Temperature Rate Of Change`, `Too Hot` and `Hot Threshold`. Each time we push, we are overwriting the definition we pushed previously."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Components\n",
    "\n",
    "You can create an entire asset hierarchy by defining Asset classes that are _composed_ of other Asset classes. To illustrate, let's start by preparing a DataFrame with our ingredients. This example will be a little contrived given the example data that is available in Seeq.\n",
    "\n",
    "We will define a metadata DataFrame where there are two Refrigerators and each will have two Compressors. In the cell below, you will see that we define the `Build Asset` column with the Refigerator name but also define a `Compressor` column with the Compressor name. We have assigned Area A-D signals to specific Refrigerators and Compressors."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"background-color: #EEFFEE;text-align: left;\">Query successful</div><table><tr><td style=\"background-color: #EEFFEE;\"></td><td style=\"background-color: #EEFFEE;\">Count</td><td style=\"background-color: #EEFFEE;\">Time</td></tr><tr style=\"background-color: #EEFFEE;\"><td>Results</td><td>8</td><td>00:00:00.07</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>Name</th>\n",
       "      <th>Build Path</th>\n",
       "      <th>Build Asset</th>\n",
       "      <th>Compressor</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>FCE21545-38E1-4362-827B-64BFBDD8F24D</td>\n",
       "      <td>Area B_Temperature</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>46D04795-DF47-4ABF-BC52-A2C407F28651</td>\n",
       "      <td>Area A_Temperature</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>Refrigerator 1</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>6F4CDCEC-012D-497B-9625-934C7D9ECF9B</td>\n",
       "      <td>Area B_Compressor Power</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>Refrigerator 1</td>\n",
       "      <td>Compressor 2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>71D95F45-630D-43A0-9E27-754455EFFC27</td>\n",
       "      <td>Area A_Compressor Power</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>Refrigerator 1</td>\n",
       "      <td>Compressor 1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>66B95DB4-380F-4A19-AB39-BFCEECDE151A</td>\n",
       "      <td>Area D_Temperature</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>919D07B9-4BDC-4397-B9FB-7E151ED1D780</td>\n",
       "      <td>Area D_Compressor Power</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>Refrigerator 2</td>\n",
       "      <td>Compressor 4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>35A021AD-3B1A-4BE3-B0FE-C50B740E43E8</td>\n",
       "      <td>Area C_Compressor Power</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>Refrigerator 2</td>\n",
       "      <td>Compressor 3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2FBC4789-F42E-48CB-8B24-6BED615905B8</td>\n",
       "      <td>Area C_Temperature</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>Refrigerator 2</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                     ID                     Name  \\\n",
       "0  FCE21545-38E1-4362-827B-64BFBDD8F24D       Area B_Temperature   \n",
       "1  46D04795-DF47-4ABF-BC52-A2C407F28651       Area A_Temperature   \n",
       "2  6F4CDCEC-012D-497B-9625-934C7D9ECF9B  Area B_Compressor Power   \n",
       "3  71D95F45-630D-43A0-9E27-754455EFFC27  Area A_Compressor Power   \n",
       "4  66B95DB4-380F-4A19-AB39-BFCEECDE151A       Area D_Temperature   \n",
       "5  919D07B9-4BDC-4397-B9FB-7E151ED1D780  Area D_Compressor Power   \n",
       "6  35A021AD-3B1A-4BE3-B0FE-C50B740E43E8  Area C_Compressor Power   \n",
       "7  2FBC4789-F42E-48CB-8B24-6BED615905B8       Area C_Temperature   \n",
       "\n",
       "           Build Path     Build Asset    Compressor  \n",
       "0  Refrigerator Units             NaN           NaN  \n",
       "1  Refrigerator Units  Refrigerator 1           NaN  \n",
       "2  Refrigerator Units  Refrigerator 1  Compressor 2  \n",
       "3  Refrigerator Units  Refrigerator 1  Compressor 1  \n",
       "4  Refrigerator Units             NaN           NaN  \n",
       "5  Refrigerator Units  Refrigerator 2  Compressor 4  \n",
       "6  Refrigerator Units  Refrigerator 2  Compressor 3  \n",
       "7  Refrigerator Units  Refrigerator 2           NaN  "
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "metadata_df = spy.search({\n",
    "    'Name': r'/Area [A-D]_(?:Temperature|Compressor Power)/',\n",
    "    'Datasource Class': 'Time Series CSV Files'\n",
    "})\n",
    "\n",
    "metadata_df.at[metadata_df['Name'] == 'Area A_Temperature', 'Build Asset'] = 'Refrigerator 1'\n",
    "metadata_df.at[metadata_df['Name'] == 'Area A_Compressor Power', 'Build Asset'] = 'Refrigerator 1'\n",
    "metadata_df.at[metadata_df['Name'] == 'Area A_Compressor Power', 'Compressor'] = 'Compressor 1'\n",
    "metadata_df.at[metadata_df['Name'] == 'Area B_Compressor Power', 'Build Asset'] = 'Refrigerator 1'\n",
    "metadata_df.at[metadata_df['Name'] == 'Area B_Compressor Power', 'Compressor'] = 'Compressor 2'\n",
    "metadata_df.at[metadata_df['Name'] == 'Area C_Temperature', 'Build Asset'] = 'Refrigerator 2'\n",
    "metadata_df.at[metadata_df['Name'] == 'Area C_Compressor Power', 'Build Asset'] = 'Refrigerator 2'\n",
    "metadata_df.at[metadata_df['Name'] == 'Area C_Compressor Power', 'Compressor'] = 'Compressor 3'\n",
    "metadata_df.at[metadata_df['Name'] == 'Area D_Compressor Power', 'Build Asset'] = 'Refrigerator 2'\n",
    "metadata_df.at[metadata_df['Name'] == 'Area D_Compressor Power', 'Compressor'] = 'Compressor 4'\n",
    "\n",
    "metadata_df['Build Path'] = 'Refrigerator Units'\n",
    "\n",
    "metadata_df[['ID', 'Name', 'Build Path', 'Build Asset', 'Compressor']]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can define our Asset classes. Will be using the `Asset.Component()` decorator and the `self.build_components()` function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"background-color: #EEFFEE;text-align: left;\">Pushed successfully to datasource <strong>Seeq Data Lab [Seeq Data Lab]</strong> and scoped to workbook ID <strong>B4DD96D3-70BE-4F37-A40C-E08C0976003B</strong><br>Click the following link to see what you pushed in Seeq:<br><a href=\"http://localhost:34216/5C7AAAF1-9989-4FAD-8CF5-E348ABCC74F8/workbook/B4DD96D3-70BE-4F37-A40C-E08C0976003B/worksheet/903478B4-083C-46FC-AD67-14951D507934\" target=\"_new\">http://localhost:34216/5C7AAAF1-9989-4FAD-8CF5-E348ABCC74F8/workbook/B4DD96D3-70BE-4F37-A40C-E08C0976003B/worksheet/903478B4-083C-46FC-AD67-14951D507934</a></div><table><tr><td style=\"background-color: #EEFFEE;\"></td><td style=\"background-color: #EEFFEE;\">Asset</td><td style=\"background-color: #EEFFEE;\">Condition</td><td style=\"background-color: #EEFFEE;\">Overall</td><td style=\"background-color: #EEFFEE;\">Relationship</td><td style=\"background-color: #EEFFEE;\">Scalar</td><td style=\"background-color: #EEFFEE;\">Signal</td><td style=\"background-color: #EEFFEE;\">Threshold Metric</td></tr><tr style=\"background-color: #EEFFEE;\"><td>Items pushed</td><td>7</td><td>6</td><td>30</td><td>20</td><td>0</td><td>8</td><td>0</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Asset</th>\n",
       "      <th>Build Result</th>\n",
       "      <th>Compressor</th>\n",
       "      <th>Datasource Name</th>\n",
       "      <th>Description</th>\n",
       "      <th>Formula</th>\n",
       "      <th>Formula Parameters</th>\n",
       "      <th>ID</th>\n",
       "      <th>Name</th>\n",
       "      <th>Object</th>\n",
       "      <th>Path</th>\n",
       "      <th>Reference</th>\n",
       "      <th>Referenced Name</th>\n",
       "      <th>Template</th>\n",
       "      <th>Type</th>\n",
       "      <th>Value Unit Of Measure</th>\n",
       "      <th>Datasource Class</th>\n",
       "      <th>Datasource ID</th>\n",
       "      <th>Data ID</th>\n",
       "      <th>Push Result</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Compressor 2</td>\n",
       "      <td>Success</td>\n",
       "      <td>Compressor 2</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=6F4CDCEC-012D-497B-9625-934C7D9ECF9B]</td>\n",
       "      <td>CCA508AE-3079-4167-AF94-DA8620CA78BE</td>\n",
       "      <td>Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area B_Compressor Power</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Compressor 2</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$a.valueSearch(isGreaterThan(20kW))</td>\n",
       "      <td>[a=CCA508AE-3079-4167-AF94-DA8620CA78BE]</td>\n",
       "      <td>76410858-03AB-4E3B-B4A4-6D9DB28DFA9F</td>\n",
       "      <td>High Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Compressor 2</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>62328D6E-2341-49C7-BB55-AE44AF620AB7</td>\n",
       "      <td>Compressor 2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Compressor 1</td>\n",
       "      <td>Success</td>\n",
       "      <td>Compressor 1</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=71D95F45-630D-43A0-9E27-754455EFFC27]</td>\n",
       "      <td>D1A596F2-592E-499B-BFEB-E4C5EDB8FE5E</td>\n",
       "      <td>Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 1</td>\n",
       "      <td>True</td>\n",
       "      <td>Area A_Compressor Power</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Compressor 1</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$a.valueSearch(isGreaterThan(20kW))</td>\n",
       "      <td>[a=D1A596F2-592E-499B-BFEB-E4C5EDB8FE5E]</td>\n",
       "      <td>3C2A1F4E-5224-4364-BB4B-6C55FB217569</td>\n",
       "      <td>High Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Compressor 1</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>AB6BB113-3D8D-43B4-845C-1A9A9CAE0201</td>\n",
       "      <td>Compressor 1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Refrigerator 1</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=46D04795-DF47-4ABF-BC52-A2C407F28651]</td>\n",
       "      <td>98798D95-B5D7-4007-A9D4-02106CCCB42B</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>True</td>\n",
       "      <td>Area A_Temperature</td>\n",
       "      <td>Refrigerator</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Refrigerator 1</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$p0 || $p1</td>\n",
       "      <td>[p0=76410858-03AB-4E3B-B4A4-6D9DB28DFA9F, p1=3...</td>\n",
       "      <td>FA383C15-E82C-484C-A79C-8B3FAC58BC72</td>\n",
       "      <td>Compressor High Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Refrigerator 1</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>max($p0, $p1)</td>\n",
       "      <td>[p0=CCA508AE-3079-4167-AF94-DA8620CA78BE, p1=D...</td>\n",
       "      <td>F1206F4B-5138-4F1F-8178-079FBAF33B0B</td>\n",
       "      <td>Compressor Power Max</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Refrigerator 1</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>836642F5-5E06-4685-BCD3-1D8C5B5DA6D5</td>\n",
       "      <td>Refrigerator 1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Compressor 4</td>\n",
       "      <td>Success</td>\n",
       "      <td>Compressor 4</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=919D07B9-4BDC-4397-B9FB-7E151ED1D780]</td>\n",
       "      <td>18368330-28D4-436C-825A-07B1214B0DAB</td>\n",
       "      <td>Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 2</td>\n",
       "      <td>True</td>\n",
       "      <td>Area D_Compressor Power</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Compressor 4</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$a.valueSearch(isGreaterThan(20kW))</td>\n",
       "      <td>[a=18368330-28D4-436C-825A-07B1214B0DAB]</td>\n",
       "      <td>033FD716-2D10-496B-9CFB-33B4C15757AA</td>\n",
       "      <td>High Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Compressor 4</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0AAEA3A2-FE8B-41B3-BB8F-5B197174D4CE</td>\n",
       "      <td>Compressor 4</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Compressor 3</td>\n",
       "      <td>Success</td>\n",
       "      <td>Compressor 3</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=35A021AD-3B1A-4BE3-B0FE-C50B740E43E8]</td>\n",
       "      <td>42411EE7-25AD-4FE2-AA4E-7CA1BA6F63DE</td>\n",
       "      <td>Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 2</td>\n",
       "      <td>True</td>\n",
       "      <td>Area C_Compressor Power</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>kW</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Compressor 3</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$a.valueSearch(isGreaterThan(20kW))</td>\n",
       "      <td>[a=42411EE7-25AD-4FE2-AA4E-7CA1BA6F63DE]</td>\n",
       "      <td>CEAB399E-4AB5-415C-95E4-0D3C705166DE</td>\n",
       "      <td>High Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Compressor 3</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C9F0C6AE-D5C5-4FB9-B121-85223C9CDF34</td>\n",
       "      <td>Compressor 3</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units &gt;&gt; Refrigerator 2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Compressor</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Refrigerator 2</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Example Data</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[signal=2FBC4789-F42E-48CB-8B24-6BED615905B8]</td>\n",
       "      <td>968D0B8E-58CE-47AC-BA60-A7727E268856</td>\n",
       "      <td>Temperature</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>True</td>\n",
       "      <td>Area C_Temperature</td>\n",
       "      <td>Refrigerator</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>°F</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Refrigerator 2</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>$p0 || $p1</td>\n",
       "      <td>[p0=033FD716-2D10-496B-9CFB-33B4C15757AA, p1=C...</td>\n",
       "      <td>9E0A1DE8-8C63-438E-96E9-F89135937F3A</td>\n",
       "      <td>Compressor High Power</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator</td>\n",
       "      <td>CalculatedCondition</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Refrigerator 2</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>max($p0, $p1)</td>\n",
       "      <td>[p0=18368330-28D4-436C-825A-07B1214B0DAB, p1=4...</td>\n",
       "      <td>3CD3322E-0084-4F7A-8F86-C7CA9D25B2BB</td>\n",
       "      <td>Compressor Power Max</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator</td>\n",
       "      <td>CalculatedSignal</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Refrigerator 2</td>\n",
       "      <td>Success</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0983734C-812C-4DA0-9172-476F29D7B703</td>\n",
       "      <td>Refrigerator 2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator Units</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Refrigerator</td>\n",
       "      <td>Asset</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>Seeq Data Lab</td>\n",
       "      <td>[B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...</td>\n",
       "      <td>Success</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             Asset Build Result    Compressor Datasource Name  Description  \\\n",
       "0     Compressor 2      Success  Compressor 2    Example Data          NaN   \n",
       "1     Compressor 2      Success           NaN             NaN          NaN   \n",
       "2     Compressor 2      Success           NaN             NaN          NaN   \n",
       "3     Compressor 1      Success  Compressor 1    Example Data          NaN   \n",
       "4     Compressor 1      Success           NaN             NaN          NaN   \n",
       "5     Compressor 1      Success           NaN             NaN          NaN   \n",
       "6   Refrigerator 1      Success           NaN    Example Data          NaN   \n",
       "7   Refrigerator 1      Success           NaN             NaN          NaN   \n",
       "8   Refrigerator 1      Success           NaN             NaN          NaN   \n",
       "9   Refrigerator 1      Success           NaN             NaN          NaN   \n",
       "10    Compressor 4      Success  Compressor 4    Example Data          NaN   \n",
       "11    Compressor 4      Success           NaN             NaN          NaN   \n",
       "12    Compressor 4      Success           NaN             NaN          NaN   \n",
       "13    Compressor 3      Success  Compressor 3    Example Data          NaN   \n",
       "14    Compressor 3      Success           NaN             NaN          NaN   \n",
       "15    Compressor 3      Success           NaN             NaN          NaN   \n",
       "16  Refrigerator 2      Success           NaN    Example Data          NaN   \n",
       "17  Refrigerator 2      Success           NaN             NaN          NaN   \n",
       "18  Refrigerator 2      Success           NaN             NaN          NaN   \n",
       "19  Refrigerator 2      Success           NaN             NaN          NaN   \n",
       "\n",
       "                                Formula  \\\n",
       "0                                   NaN   \n",
       "1   $a.valueSearch(isGreaterThan(20kW))   \n",
       "2                                   NaN   \n",
       "3                                   NaN   \n",
       "4   $a.valueSearch(isGreaterThan(20kW))   \n",
       "5                                   NaN   \n",
       "6                                   NaN   \n",
       "7                            $p0 || $p1   \n",
       "8                         max($p0, $p1)   \n",
       "9                                   NaN   \n",
       "10                                  NaN   \n",
       "11  $a.valueSearch(isGreaterThan(20kW))   \n",
       "12                                  NaN   \n",
       "13                                  NaN   \n",
       "14  $a.valueSearch(isGreaterThan(20kW))   \n",
       "15                                  NaN   \n",
       "16                                  NaN   \n",
       "17                           $p0 || $p1   \n",
       "18                        max($p0, $p1)   \n",
       "19                                  NaN   \n",
       "\n",
       "                                   Formula Parameters  \\\n",
       "0       [signal=6F4CDCEC-012D-497B-9625-934C7D9ECF9B]   \n",
       "1            [a=CCA508AE-3079-4167-AF94-DA8620CA78BE]   \n",
       "2                                                 NaN   \n",
       "3       [signal=71D95F45-630D-43A0-9E27-754455EFFC27]   \n",
       "4            [a=D1A596F2-592E-499B-BFEB-E4C5EDB8FE5E]   \n",
       "5                                                 NaN   \n",
       "6       [signal=46D04795-DF47-4ABF-BC52-A2C407F28651]   \n",
       "7   [p0=76410858-03AB-4E3B-B4A4-6D9DB28DFA9F, p1=3...   \n",
       "8   [p0=CCA508AE-3079-4167-AF94-DA8620CA78BE, p1=D...   \n",
       "9                                                 NaN   \n",
       "10      [signal=919D07B9-4BDC-4397-B9FB-7E151ED1D780]   \n",
       "11           [a=18368330-28D4-436C-825A-07B1214B0DAB]   \n",
       "12                                                NaN   \n",
       "13      [signal=35A021AD-3B1A-4BE3-B0FE-C50B740E43E8]   \n",
       "14           [a=42411EE7-25AD-4FE2-AA4E-7CA1BA6F63DE]   \n",
       "15                                                NaN   \n",
       "16      [signal=2FBC4789-F42E-48CB-8B24-6BED615905B8]   \n",
       "17  [p0=033FD716-2D10-496B-9CFB-33B4C15757AA, p1=C...   \n",
       "18  [p0=18368330-28D4-436C-825A-07B1214B0DAB, p1=4...   \n",
       "19                                                NaN   \n",
       "\n",
       "                                      ID                   Name Object  \\\n",
       "0   CCA508AE-3079-4167-AF94-DA8620CA78BE                  Power    NaN   \n",
       "1   76410858-03AB-4E3B-B4A4-6D9DB28DFA9F             High Power    NaN   \n",
       "2   62328D6E-2341-49C7-BB55-AE44AF620AB7           Compressor 2    NaN   \n",
       "3   D1A596F2-592E-499B-BFEB-E4C5EDB8FE5E                  Power    NaN   \n",
       "4   3C2A1F4E-5224-4364-BB4B-6C55FB217569             High Power    NaN   \n",
       "5   AB6BB113-3D8D-43B4-845C-1A9A9CAE0201           Compressor 1    NaN   \n",
       "6   98798D95-B5D7-4007-A9D4-02106CCCB42B            Temperature    NaN   \n",
       "7   FA383C15-E82C-484C-A79C-8B3FAC58BC72  Compressor High Power    NaN   \n",
       "8   F1206F4B-5138-4F1F-8178-079FBAF33B0B   Compressor Power Max    NaN   \n",
       "9   836642F5-5E06-4685-BCD3-1D8C5B5DA6D5         Refrigerator 1    NaN   \n",
       "10  18368330-28D4-436C-825A-07B1214B0DAB                  Power    NaN   \n",
       "11  033FD716-2D10-496B-9CFB-33B4C15757AA             High Power    NaN   \n",
       "12  0AAEA3A2-FE8B-41B3-BB8F-5B197174D4CE           Compressor 4    NaN   \n",
       "13  42411EE7-25AD-4FE2-AA4E-7CA1BA6F63DE                  Power    NaN   \n",
       "14  CEAB399E-4AB5-415C-95E4-0D3C705166DE             High Power    NaN   \n",
       "15  C9F0C6AE-D5C5-4FB9-B121-85223C9CDF34           Compressor 3    NaN   \n",
       "16  968D0B8E-58CE-47AC-BA60-A7727E268856            Temperature    NaN   \n",
       "17  9E0A1DE8-8C63-438E-96E9-F89135937F3A  Compressor High Power    NaN   \n",
       "18  3CD3322E-0084-4F7A-8F86-C7CA9D25B2BB   Compressor Power Max    NaN   \n",
       "19  0983734C-812C-4DA0-9172-476F29D7B703         Refrigerator 2    NaN   \n",
       "\n",
       "                                    Path Reference          Referenced Name  \\\n",
       "0   Refrigerator Units >> Refrigerator 1      True  Area B_Compressor Power   \n",
       "1   Refrigerator Units >> Refrigerator 1       NaN                      NaN   \n",
       "2   Refrigerator Units >> Refrigerator 1       NaN                      NaN   \n",
       "3   Refrigerator Units >> Refrigerator 1      True  Area A_Compressor Power   \n",
       "4   Refrigerator Units >> Refrigerator 1       NaN                      NaN   \n",
       "5   Refrigerator Units >> Refrigerator 1       NaN                      NaN   \n",
       "6                     Refrigerator Units      True       Area A_Temperature   \n",
       "7                     Refrigerator Units       NaN                      NaN   \n",
       "8                     Refrigerator Units       NaN                      NaN   \n",
       "9                     Refrigerator Units       NaN                      NaN   \n",
       "10  Refrigerator Units >> Refrigerator 2      True  Area D_Compressor Power   \n",
       "11  Refrigerator Units >> Refrigerator 2       NaN                      NaN   \n",
       "12  Refrigerator Units >> Refrigerator 2       NaN                      NaN   \n",
       "13  Refrigerator Units >> Refrigerator 2      True  Area C_Compressor Power   \n",
       "14  Refrigerator Units >> Refrigerator 2       NaN                      NaN   \n",
       "15  Refrigerator Units >> Refrigerator 2       NaN                      NaN   \n",
       "16                    Refrigerator Units      True       Area C_Temperature   \n",
       "17                    Refrigerator Units       NaN                      NaN   \n",
       "18                    Refrigerator Units       NaN                      NaN   \n",
       "19                    Refrigerator Units       NaN                      NaN   \n",
       "\n",
       "        Template                 Type Value Unit Of Measure Datasource Class  \\\n",
       "0     Compressor     CalculatedSignal                    kW    Seeq Data Lab   \n",
       "1     Compressor  CalculatedCondition                   NaN    Seeq Data Lab   \n",
       "2     Compressor                Asset                   NaN    Seeq Data Lab   \n",
       "3     Compressor     CalculatedSignal                    kW    Seeq Data Lab   \n",
       "4     Compressor  CalculatedCondition                   NaN    Seeq Data Lab   \n",
       "5     Compressor                Asset                   NaN    Seeq Data Lab   \n",
       "6   Refrigerator     CalculatedSignal                    °F    Seeq Data Lab   \n",
       "7   Refrigerator  CalculatedCondition                   NaN    Seeq Data Lab   \n",
       "8   Refrigerator     CalculatedSignal                   NaN    Seeq Data Lab   \n",
       "9   Refrigerator                Asset                   NaN    Seeq Data Lab   \n",
       "10    Compressor     CalculatedSignal                    kW    Seeq Data Lab   \n",
       "11    Compressor  CalculatedCondition                   NaN    Seeq Data Lab   \n",
       "12    Compressor                Asset                   NaN    Seeq Data Lab   \n",
       "13    Compressor     CalculatedSignal                    kW    Seeq Data Lab   \n",
       "14    Compressor  CalculatedCondition                   NaN    Seeq Data Lab   \n",
       "15    Compressor                Asset                   NaN    Seeq Data Lab   \n",
       "16  Refrigerator     CalculatedSignal                    °F    Seeq Data Lab   \n",
       "17  Refrigerator  CalculatedCondition                   NaN    Seeq Data Lab   \n",
       "18  Refrigerator     CalculatedSignal                   NaN    Seeq Data Lab   \n",
       "19  Refrigerator                Asset                   NaN    Seeq Data Lab   \n",
       "\n",
       "    Datasource ID                                            Data ID  \\\n",
       "0   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...   \n",
       "1   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...   \n",
       "2   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...   \n",
       "3   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...   \n",
       "4   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...   \n",
       "5   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...   \n",
       "6   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...   \n",
       "7   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...   \n",
       "8   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...   \n",
       "9   Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...   \n",
       "10  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...   \n",
       "11  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...   \n",
       "12  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...   \n",
       "13  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...   \n",
       "14  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...   \n",
       "15  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...   \n",
       "16  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...   \n",
       "17  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Condit...   \n",
       "18  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Signal...   \n",
       "19  Seeq Data Lab  [B4DD96D3-70BE-4F37-A40C-E08C0976003B] {Asset}...   \n",
       "\n",
       "   Push Result  \n",
       "0      Success  \n",
       "1      Success  \n",
       "2      Success  \n",
       "3      Success  \n",
       "4      Success  \n",
       "5      Success  \n",
       "6      Success  \n",
       "7      Success  \n",
       "8      Success  \n",
       "9      Success  \n",
       "10     Success  \n",
       "11     Success  \n",
       "12     Success  \n",
       "13     Success  \n",
       "14     Success  \n",
       "15     Success  \n",
       "16     Success  \n",
       "17     Success  \n",
       "18     Success  \n",
       "19     Success  "
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "class Refrigerator(Asset):\n",
    "    @Asset.Attribute()\n",
    "    def Temperature(self, metadata):\n",
    "        # This signal attribute is assigned to the Refrigerator asset\n",
    "        return metadata[metadata['Name'].str.endswith('Temperature')]\n",
    "\n",
    "    # Note the use of Asset.Component here, which allows us to return a list of definitions\n",
    "    # instead of just a single definition.\n",
    "    @Asset.Component()\n",
    "    def Compressors(self, metadata):\n",
    "        # Using the Compressor template class, we build all of the compressor definitions\n",
    "        # associated with a particular Refrigerator. The column_name supplied tells the\n",
    "        # build_components function which metadata column to use for the Compressor names.\n",
    "        return self.build_components(template=Compressor, metadata=metadata, column_name='Compressor')\n",
    "    \n",
    "    @Asset.Attribute()\n",
    "    def Compressor_Power_Max(self, metadata):\n",
    "        # We can refer to the Compressors and \"pick\" attributes for which to perform a\n",
    "        # roll up. In this example, we're picking the 'Power' signals that are on each\n",
    "        # compressor and creating a new signal representing the maximum power across\n",
    "        # all the compressors.\n",
    "        return self.Compressors().pick({\n",
    "            'Name': 'Power'\n",
    "        }).roll_up('maximum')\n",
    "    \n",
    "    @Asset.Attribute()\n",
    "    def Compressor_High_Power(self, metadata):\n",
    "        # Similar to Compressor_Power_Max, we are rolling up a compressor calculation but\n",
    "        # this time it's a condition. 'High Power' at the Refrigerator level will have\n",
    "        # capsules if either compressor's 'High Power' condition is present.\n",
    "        return self.Compressors().pick({\n",
    "            'Name': 'High Power'\n",
    "        }).roll_up('union')\n",
    "    \n",
    "class Compressor(Asset):\n",
    "    @Asset.Attribute()\n",
    "    def Power(self, metadata):\n",
    "        # Each compressor has just a single attribute, Power\n",
    "        return metadata[metadata['Name'].str.endswith('Power')]\n",
    "    \n",
    "    @Asset.Attribute()\n",
    "    def High_Power(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Condition',\n",
    "            'Formula': '$a.valueSearch(isGreaterThan(20kW))',\n",
    "            'Formula Parameters': {\n",
    "                '$a': self.Power()\n",
    "            }\n",
    "        }\n",
    "\n",
    "build_df = spy.assets.build(Refrigerator, metadata_df)\n",
    "\n",
    "spy.push(metadata=build_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There should now be a `Refrigerator Units` asset tree in Seeq with two Refrigerators with two Compressors each.\n",
    "\n",
    "In this manner, you can make an arbitrarily deep hierarchy composed of various asset types."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Metrics\n",
    "\n",
    "Metrics (aka _Scorecard Metrics_ / _Threshold Metrics_) are powerful items in Seeq that allow you to easily specify aggregations, statistics and associated boundaries. Click on `Scorecard Metric` in the Seeq Workbench _Tools_ pane to experiment with them.\n",
    "\n",
    "Metrics can be specified as attributes in asset classes and can refer to other attributes. Here are some examples:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "class HVAC_With_Metrics(HVAC):\n",
    "    @Asset.Attribute()\n",
    "    def Too_Humid(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Condition',\n",
    "            'Name': 'Too Humid',\n",
    "            'Formula': '$relhumid.valueSearch(isGreaterThan(70%))',\n",
    "            'Formula Parameters': {\n",
    "                '$relhumid': self.Relative_Humidity(),\n",
    "            }\n",
    "        }\n",
    "\n",
    "    @Asset.Attribute()\n",
    "    def Humidity_Upper_Bound(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Signal',\n",
    "            'Name': 'Humidity Upper Bound',\n",
    "            'Formula': '$relhumid + 10',\n",
    "            'Formula Parameters': {\n",
    "                '$relhumid': self.Relative_Humidity(),\n",
    "            }\n",
    "        }\n",
    "\n",
    "    @Asset.Attribute()\n",
    "    def Humidity_Lower_Bound(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Signal',\n",
    "            'Name': 'Humidity Lower Bound',\n",
    "            'Formula': '$relhumid - 10',\n",
    "            'Formula Parameters': {\n",
    "                '$relhumid': self.Relative_Humidity(),\n",
    "            }\n",
    "        }\n",
    "\n",
    "    @Asset.Attribute()\n",
    "    def Humidity_Statistic_KPI(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Metric',\n",
    "            'Measured Item': self.Relative_Humidity(),\n",
    "            'Statistic': 'Range'\n",
    "        }\n",
    "\n",
    "    @Asset.Attribute()\n",
    "    def Humidity_Simple_KPI(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Metric',\n",
    "            'Measured Item': self.Relative_Humidity(),\n",
    "            'Thresholds': {\n",
    "                'HiHi': self.Humidity_Upper_Bound(),\n",
    "                'LoLo': self.Humidity_Lower_Bound()\n",
    "            }\n",
    "        }\n",
    "\n",
    "    @Asset.Attribute()\n",
    "    def Humidity_Condition_KPI(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Metric',\n",
    "            'Measured Item': self.Relative_Humidity(),\n",
    "            'Statistic': 'Maximum',\n",
    "            'Bounding Condition': self.Too_Humid(),\n",
    "            'Bounding Condition Maximum Duration': '30h'\n",
    "        }\n",
    "\n",
    "    @Asset.Attribute()\n",
    "    def Humidity_Continuous_KPI(self, metadata):\n",
    "        return {\n",
    "            'Type': 'Metric',\n",
    "            'Measured Item': self.Relative_Humidity(),\n",
    "            'Statistic': 'Minimum',\n",
    "            'Duration': '6h',\n",
    "            'Period': '4h',\n",
    "            'Thresholds': {\n",
    "                'HiHiHi': 60,\n",
    "                'HiHi': 40,\n",
    "                'LoLo': 20\n",
    "            }\n",
    "        }"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's push a small asset tree with these metrics in it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"background-color: #EEFFEE;text-align: left;\">Pushed successfully to datasource <strong>Seeq Data Lab [Seeq Data Lab]</strong> and scoped to workbook ID <strong>B4DD96D3-70BE-4F37-A40C-E08C0976003B</strong><br>Click the following link to see what you pushed in Seeq:<br><a href=\"http://localhost:34216/5C7AAAF1-9989-4FAD-8CF5-E348ABCC74F8/workbook/B4DD96D3-70BE-4F37-A40C-E08C0976003B/worksheet/903478B4-083C-46FC-AD67-14951D507934\" target=\"_new\">http://localhost:34216/5C7AAAF1-9989-4FAD-8CF5-E348ABCC74F8/workbook/B4DD96D3-70BE-4F37-A40C-E08C0976003B/worksheet/903478B4-083C-46FC-AD67-14951D507934</a></div><table><tr><td style=\"background-color: #EEFFEE;\"></td><td style=\"background-color: #EEFFEE;\">Asset</td><td style=\"background-color: #EEFFEE;\">Condition</td><td style=\"background-color: #EEFFEE;\">Overall</td><td style=\"background-color: #EEFFEE;\">Relationship</td><td style=\"background-color: #EEFFEE;\">Scalar</td><td style=\"background-color: #EEFFEE;\">Signal</td><td style=\"background-color: #EEFFEE;\">Threshold Metric</td></tr><tr style=\"background-color: #EEFFEE;\"><td>Items pushed</td><td>2</td><td>1</td><td>19</td><td>10</td><td>0</td><td>4</td><td>4</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "metadata_df = spy.search({\n",
    "    'Name': 'Area A_*',\n",
    "    'Datasource Class': 'Time Series CSV Files'\n",
    "})\n",
    "\n",
    "metadata_df['Build Asset'] = 'Metrics Area A'\n",
    "metadata_df['Build Path'] = 'Metrics Example'\n",
    "build_df = spy.assets.build(HVAC_With_Metrics, metadata_df)\n",
    "push_df = spy.push(metadata=build_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You should now see a `Metrics Example` tree that you can drill into and bring up metrics."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Troubleshooting / Debugging\n",
    "\n",
    "Since we are using Python classes to describe our asset tree and the attributes therein, troubleshooting our code is a little bit harder than just working with DataFrames. If the code within your Asset.Attribute function isn't working the way you expect, ideally you would be able to see what's happening inside of it while the `spy.assets.build()` function is running.\n",
    "\n",
    "A useful tool is Python's built-in command-line debugger called [pdb](https://docs.python.org/3/library/pdb.html). Let's try using it in the example below. When you execute the following cell, you'll notice that an `ipdb>` prompt appears, showing you the line of code you're about to execute. You can show the value of the `metadata` variable just by typing `metadata` and pressing ENTER. Then type `c` and hit ENTER to allow execution to continue."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "> \u001b[1;32m<ipython-input-36-7c76d2a34c9e>\u001b[0m(14)\u001b[0;36mMy_Scalar\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32m     12 \u001b[1;33m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[0m\u001b[1;32m     13 \u001b[1;33m        return {\n",
      "\u001b[0m\u001b[1;32m---> 14 \u001b[1;33m            \u001b[1;34m'Type'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;34m'Scalar'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[0m\u001b[1;32m     15 \u001b[1;33m            \u001b[1;34m'Formula'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;34m'%s'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmetadata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[0m\u001b[1;32m     16 \u001b[1;33m        }\n",
      "\u001b[0m\n",
      "ipdb> metadata\n",
      "        Build Asset         Build Path\n",
      "0  Debugging Area A  Debugging Example\n",
      "ipdb> c\n"
     ]
    }
   ],
   "source": [
    "# You must import the IPython breakpoint function, called \"set_trace\"\n",
    "from IPython.core.debugger import set_trace\n",
    "\n",
    "class DebuggingExample(Asset):\n",
    "    @Asset.Attribute()\n",
    "    def My_Scalar(self, metadata):\n",
    "        # Put in a \"breakpoint\" so that execution stops here and a command line pops up. Notice the\n",
    "        # if statement here as an example of how to be more precise about when the breakpoint is hit:\n",
    "        # We're only going to enter the debugger if the asset's name is 'Debugging Area A'\n",
    "        if self.definition['Name'] == 'Debugging Area A':\n",
    "            set_trace()\n",
    "        \n",
    "        return {\n",
    "            'Type': 'Scalar',\n",
    "            'Formula': '%s' % len(metadata)\n",
    "        }\n",
    "    \n",
    "debugging_metadata_df = pd.DataFrame([{\n",
    "    'Build Asset': 'Debugging Area A',\n",
    "    'Build Path': 'Debugging Example'\n",
    "}])\n",
    "\n",
    "build_df = spy.assets.build(DebuggingExample, debugging_metadata_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There are lots of great commands to help you navigate through your code as it executes. Read through all the commands at [pdb](https://docs.python.org/3/library/pdb.html) to familiarize yourself. The most important ones are `step`, `next` and `continue`. Anything else you type at the prompt gets evaluated as Python code, so you can do things like `metadata['Build Asset']` to show just the `Build Asset` column of the `metadata` DataFrame."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Using an Integrated Development Environment (IDE)\n",
    "\n",
    "If you want to \"level up\" and start using more powerful development and debugging tools, you can! There are several good choices available to you, including [SPyder](https://www.spyder-ide.org/) (free and open source) and [PyCharm](https://www.jetbrains.com/pycharm/) (Community Edition is free).\n",
    "\n",
    "If you take this route, you'll want to move your code into \"normal\" .py files and execute SPy commands from a main script with the debugger engaged."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
