For example, `A - B`

Below is metric evaluation result of expression `A`

```
>> res_A=source_type.evalMetric({id:source_id, expression: "A", interval:"DAY", start:"2017-10-18", end: "2017-10-21"});
>> res_A.data();
> [0, 0, 0]
>> res_A.missing();
> [100, 100, 100]
```

Below is metric evaluation result of expression `B`

```
>> res_B=source_type.evalMetric({id:source_id, expression: "B", interval:"DAY", start:"2017-10-18", end: "2017-10-21"});
>> res_B.data();
> [4, 9, 0]
>> res_B.missing();
> [58, 0, 100]
```

When evaluating ** A+B**, missing values are calculated as expected,

```
>> res_A_plus_B=source_type.evalMetric({id:source_id, expression: "A + B", interval:"DAY", start:"2017-10-18", end: "2017-10-21"});
>> res_A_plus_B.data();
> [4, 9, 0]
>> res_A_plus_B.missing();
> [58, 0, 100]
```

However, when evaluating ** A - B**, missing values are all

`100`

. See below```
>> res_A_subtract_B=source_type.evalMetric({id:source_id, expression: "A - B", interval:"DAY", start:"2017-10-18", end: "2017-10-21"});
>> res_A_subtract_B.data();
> [-4, -9, 0]
>> res_A_subtract_B.missing();
> [100, 100, 100]
```

when evaluating ** A + (-1 * B)**, missing values are calculated as expected

```
>> res_A_subtract_B_2=source_type.evalMetric({id:source_id, expression: "A + (-1*B)", interval:"DAY", start:"2017-10-18", end: "2017-10-21"});
>> res_A_subtract_B_2.data();
> [-4, -9, 0]
>> res_A_subtract_B_2.missing();
> [58, 0, 100]
```