Units
Using Units, you can attach currencies or other units to a Metric Value. Each metric can have different Units associated with different values(i.e. Closed Won Deals could have EUR and USD sales stored).
Similar to Dimensions, you can also attach a Unit to your Metric Values. While dimensions provide extra information (like, which store $sales: 230 came from), Units describe the value itself (what does ‘230’ measure?). Most often, Units are used to specify different currencies.
- cURL
- PHP
- JavaScript
- Java
- Go
- Python
- C#
curl https://push.databox.com \
-u <your_token>: \
-X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/vnd.databox.v2+json' \
-d '{
"data":[
{
"$sales": 8300,
"unit": "USD"
},
{
"$sales": 4000,
"unit": "EUR"
}
]
}'
<?php
require_once __DIR__ . '/../../../vendor/autoload.php';
use Databox\Api\DefaultApi;
use Databox\ApiException;
use Databox\Configuration;
use Databox\Model\PushData as DataboxPushData;
use GuzzleHttp\Client;
execute();
function execute()
{
// Configure HTTP basic authorization: basicAuth
$config = Configuration::getDefaultConfiguration()
->setHost('https://push.databox.com')
->setUsername('<your_token>');
$headers = [
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.databox.v2+json'
];
$apiInstance = new DefaultApi(
new Client(['headers' => $headers]),
$config
);
try {
$apiInstance->dataPost([
(new DataboxPushData())
->setKey('sales')
->setValue(8300)
->setUnit('USD'),
(new DataboxPushData())
->setKey('sales')
->setValue(4000)
->setUnit('EUR')
]);
echo "Successfully pushed data to Databox";
} catch (ApiException $e) {
echo 'Exception when calling DefaultApi->dataPost: ' . $e->getMessage() . PHP_EOL . $e->getResponseBody() . PHP_EOL;
}
}
import {
ApiResponse,
Configuration,
DataPostRequest,
DefaultApi,
} from "databox";
const config: Configuration = new Configuration({
basePath: "https://push.databox.com",
username: "<your_token>",
headers: {
Accept: "application/vnd.databox.v2+json",
},
});
const dataPostRequest: DataPostRequest = {
pushData: [
{
key: "sales",
value: 8300,
unit: "USD",
},
{
key: "sales",
value: 4000,
unit: "EUR",
},
],
};
const api = new DefaultApi(config);
try {
api
.dataPostRaw(dataPostRequest)
.then((response: ApiResponse<void>) => response.raw.json())
.then((responseBody) => {
console.log("Response data", responseBody);
});
} catch (error) {
console.log("Error: ", error);
}
import org.databox.ApiClient;
import org.databox.ApiException;
import org.databox.Configuration;
import org.databox.api.DefaultApi;
import org.databox.auth.HttpBasicAuth;
import org.openapitools.client.model.PushData;
import java.util.List;
public class PushDataExample {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://push.databox.com");
defaultClient.addDefaultHeader("Accept", "application/vnd.databox.v2+json");
HttpBasicAuth basicAuth = (HttpBasicAuth) defaultClient.getAuthentication("basicAuth");
basicAuth.setUsername("<your_token>");
DefaultApi apiInstance = new DefaultApi(defaultClient);
try {
apiInstance.dataPost(List.of(
new PushData()
.key("sales")
.value(8300)
.unit("USD"),
new PushData()
.key("sales")
.value(4000)
.unit("EUR"),
));
} catch (ApiException e) {
e.printStackTrace();
}
}
}
// Example not available yet, check other languages
# Example not available yet, check other languages
// Example not available yet, check other languages
To see the Units displayed with the Metric Value in Databox, you need to set the Number format. You can display the unit as a prefix (Prefixed unit) or postfix (Postfixed unit). Learn more about Visual preferences.
Pro Tip: If you’re selling products in multiple currencies, you can store sales events to the same metric (as shown in the example above). When visualizing such metrics, aggregations and other functions will be applied to each unit separately, so you’ll never mix your dollars with euros, in this case.