diff --git a/docker-compose/grafana/dashboards/archiver_timescale.json b/docker-compose/grafana/dashboards/archiver_timescale.json
index b363704aa5225bf8419a50c3c9b8aa9a7b4fda8b..4678ce060a18366efea5f386f217e09475222119 100644
--- a/docker-compose/grafana/dashboards/archiver_timescale.json
+++ b/docker-compose/grafana/dashboards/archiver_timescale.json
@@ -70,7 +70,7 @@
           "group": [],
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "select name as \"Attribute\"\r\nfrom att_conf ac \r\nwhere \"domain\" ='stat' and \"family\" = 'sdp' and \"member\" ='1'\r\norder by name",
+          "rawSql": "select name as \"Attribute\",\r\ntable_name as \"Type\"\r\nfrom att_conf ac \r\nwhere \"domain\" ='stat' and \"family\" = 'sdp' and \"member\" ='1'\r\norder by name",
           "refId": "A",
           "select": [
             [
@@ -142,7 +142,7 @@
           "group": [],
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "select name as \"Attribute\" \r\nfrom att_conf ac \r\nwhere \"domain\" ='stat' and \"family\" = 'recv' and \"member\" ='1'\r\norder by name",
+          "rawSql": "select name as \"Attribute\",\r\ntable_name as \"Type\" \r\nfrom att_conf ac \r\nwhere \"domain\" ='stat' and \"family\" = 'recv' and \"member\" ='1'\r\norder by name",
           "refId": "A",
           "select": [
             [
diff --git a/docker-compose/timescaledb/Dockerfile b/docker-compose/timescaledb/Dockerfile
index 5a8ecde23c3d69b9b665ac28dea3d5d7d5714ffd..8d17fe5a46b878966d8609c21a91c6a753587ea2 100644
--- a/docker-compose/timescaledb/Dockerfile
+++ b/docker-compose/timescaledb/Dockerfile
@@ -5,5 +5,6 @@ COPY resources/01_admin.sql docker-entrypoint-initdb.d/002_admin.sql
 COPY resources/02_hdb_schema.sql docker-entrypoint-initdb.d/003_hdb_schema.sql
 COPY resources/03_hdb_roles.sql docker-entrypoint-initdb.d/004_hdb_roles.sql
 COPY resources/04_hdb_ext_aggregates.sql docker-entrypoint-initdb.d/005_hdb_ext_aggregates.sql
-COPY resources/05_lofar_views.sql docker-entrypoint-initdb.d/006_lofar_views.sql
-COPY resources/06_cleanup.sql docker-entrypoint-initdb.d/007_cleanup.sql
+COPY resources/05_lofar_func.sh docker-entrypoint-initdb.d/006_lofar_func.sh
+COPY resources/06_lofar_views.sql docker-entrypoint-initdb.d/007_lofar_views.sql
+COPY resources/07_cleanup.sql docker-entrypoint-initdb.d/008_cleanup.sql
diff --git a/docker-compose/timescaledb/resources/05_lofar_func.sh b/docker-compose/timescaledb/resources/05_lofar_func.sh
new file mode 100644
index 0000000000000000000000000000000000000000..4797c7a6df2acf11e3709221a9bd4fd335128264
--- /dev/null
+++ b/docker-compose/timescaledb/resources/05_lofar_func.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+psql << EOF
+\c hdb
+CREATE OR REPLACE FUNCTION mask(double precision[], boolean[])
+RETURNS double precision[] LANGUAGE sql
+AS \$function\$ SELECT ARRAY(SELECT
+case when \$2[i] then \$1[i]
+else '0'::double precision end
+FROM generate_subscripts(\$1,1) g(i)) \$function\$;
+EOF
diff --git a/docker-compose/timescaledb/resources/05_lofar_views.sql b/docker-compose/timescaledb/resources/06_lofar_views.sql
similarity index 84%
rename from docker-compose/timescaledb/resources/05_lofar_views.sql
rename to docker-compose/timescaledb/resources/06_lofar_views.sql
index 02cf878f229ad0db7ff5bd85a444e0a5b4bdb08b..7f7581cc132787d9ae3a443116178058a01d28b9 100644
--- a/docker-compose/timescaledb/resources/05_lofar_views.sql
+++ b/docker-compose/timescaledb/resources/06_lofar_views.sql
@@ -28,13 +28,8 @@ ORDER BY aab.data_time;
 -- SDP Masked values (rounded to 1 second)
 create or replace view "sdp_masked_temp_values" as 
 select time_bucket('1 second',t.time) as "temp_time",
-time_bucket('1 second',m.time) as "mask_time",
-t.value_r as "temperature",
-m.value_r as "mask"
+mask(t.value_r,m.value_r) as "temperature"
 from sdp_fpga_temp as t
 inner join sdp_tr_fpga_mask as m
 on time_bucket('1 second',t.time) = time_bucket('1 second',m.time)
-inner join generate_series(1,16) gs
-on m.value_r[gs]=true
-group by t."time", m."time",t.value_r,m.value_r
 order by t."time";
diff --git a/docker-compose/timescaledb/resources/06_cleanup.sql b/docker-compose/timescaledb/resources/07_cleanup.sql
similarity index 100%
rename from docker-compose/timescaledb/resources/06_cleanup.sql
rename to docker-compose/timescaledb/resources/07_cleanup.sql