wcs-olap/tests/olap.model

402 lines
12 KiB
Plaintext

{
"cubes" : [
{
"dimensions" : [
{
"join" : [
"receipt_time"
],
"label" : "date de la demande",
"name" : "receipt_time",
"type" : "date",
"value" : "receipt_time.date"
},
{
"join" : [
"channel"
],
"label" : "canal",
"name" : "channel",
"type" : "integer",
"value" : "channel.id",
"value_label" : "channel.label"
},
{
"join" : [
"formdef",
"category"
],
"label" : "catégorie",
"name" : "category",
"order_by" : "category.label",
"type" : "integer",
"value" : "category.id",
"value_label" : "category.label"
},
{
"join" : [
"formdef"
],
"label" : "formulaire",
"name" : "formdef",
"order_by" : "formdef.label",
"type" : "integer",
"value" : "formdef.id",
"value_label" : "formdef.label"
},
{
"join" : [
"generic_status"
],
"label" : "statut simplifié",
"name" : "generic_status",
"type" : "integer",
"value" : "generic_status.id",
"value_label" : "generic_status.label"
},
{
"filter" : false,
"join" : [
"hour"
],
"label" : "heure",
"name" : "hour",
"type" : "integer",
"value" : "hour.id"
},
{
"join" : [
"agent"
],
"label" : "premier agent traitant",
"name" : "agent",
"order_by" : "agent.label",
"type" : "integer",
"value" : "agent.id",
"value_label" : "agent.label"
}
],
"fact_table" : "formdata",
"joins" : [
{
"detail" : "date",
"master" : "receipt_time",
"name" : "receipt_time",
"table" : "dates"
},
{
"detail" : "id",
"master" : "channel_id",
"name" : "channel",
"table" : "channel"
},
{
"detail" : "id",
"master" : "formdef_id",
"name" : "formdef",
"table" : "formdef"
},
{
"detail" : "id",
"kind" : "left",
"master" : "formdef.category_id",
"name" : "category",
"table" : "category"
},
{
"detail" : "id",
"master" : "hour_id",
"name" : "hour",
"table" : "hour"
},
{
"detail" : "id",
"master" : "generic_status_id",
"name" : "generic_status",
"table" : "status"
},
{
"detail" : "id",
"kind" : "inner",
"master" : "first_agent_id",
"name" : "agent",
"table" : "agent"
}
],
"json_field" : "json_data",
"key" : "id",
"label" : "Tous les formulaires",
"measures" : [
{
"expression" : "count({fact_table}.id)",
"label" : "nombre de demandes",
"name" : "count",
"type" : "integer"
},
{
"expression" : "avg(endpoint_delay)",
"label" : "délai de traitement moyen",
"name" : "avg_endpoint_delay",
"type" : "duration"
},
{
"expression" : "max(endpoint_delay)",
"label" : "délai de traitement maximum",
"name" : "max_endpoint_delay",
"type" : "duration"
},
{
"expression" : "min(endpoint_delay)",
"label" : "délai de traitement minimum",
"name" : "min_endpoint_delay",
"type" : "duration"
},
{
"expression" : "case (select count({fact_table}.id) from {table_expression} where {where_conditions}) when 0 then null else count({fact_table}.id) * 100. / (select count({fact_table}.id) from {table_expression} where {where_conditions}) end",
"label" : "pourcentage des demandes",
"name" : "percent",
"type" : "percent"
},
{
"expression" : "array_agg(\"{fact_table}\".geolocation_base) FILTER (WHERE \"{fact_table}\".geolocation_base IS NOT NULL)",
"label" : "localisation géographique",
"name" : "geolocation",
"type" : "point"
}
],
"name" : "all_formdata"
},
{
"dimensions" : [
{
"join" : [
"receipt_time"
],
"label" : "date de la demande",
"name" : "receipt_time",
"type" : "date",
"value" : "receipt_time.date"
},
{
"join" : [
"channel"
],
"label" : "canal",
"name" : "channel",
"type" : "integer",
"value" : "channel.id",
"value_label" : "channel.label"
},
{
"join" : [
"generic_status"
],
"label" : "statut simplifié",
"name" : "generic_status",
"type" : "integer",
"value" : "generic_status.id",
"value_label" : "generic_status.label"
},
{
"filter" : false,
"join" : [
"hour"
],
"label" : "heure",
"name" : "hour",
"type" : "integer",
"value" : "hour.id"
},
{
"join" : [
"agent"
],
"label" : "premier agent traitant",
"name" : "agent",
"order_by" : "agent.label",
"type" : "integer",
"value" : "agent.id",
"value_label" : "agent.label"
},
{
"join" : [
"status"
],
"label" : "statut",
"name" : "status",
"type" : "integer",
"value" : "status.id",
"value_label" : "status.label"
},
{
"filter" : false,
"join" : [
"function__receiver"
],
"label" : "fonction recipient",
"name" : "function__receiver",
"type" : "integer",
"value" : "\"function__receiver\".id",
"value_label" : "\"function__receiver\".label"
},
{
"filter": true,
"label": "1st field",
"name": "string",
"type": "string",
"value": "\"field_string\""
},
{
"filter" : true,
"join" : [
"item"
],
"label" : "2nd field",
"name" : "item",
"type" : "integer",
"value" : "\"item\".id",
"value_label" : "\"item\".label"
},
{
"filter": true,
"label": "3rd field",
"name": "bool",
"type": "bool",
"value": "\"field_bool\"",
"value_label": "(CASE WHEN \"field_bool\" IS NULL THEN NULL WHEN \"field_bool\" THEN 'Oui' ELSE 'Non' END)"
},
{
"filter" : true,
"join" : [
"item_open"
],
"label" : "4rth field",
"name" : "item_open",
"type" : "integer",
"value" : "\"item_open\".id",
"value_label" : "\"item_open\".label"
}
],
"fact_table" : "formdata_demande",
"joins" : [
{
"detail" : "date",
"master" : "receipt_time",
"name" : "receipt_time",
"table" : "dates"
},
{
"detail" : "id",
"master" : "channel_id",
"name" : "channel",
"table" : "channel"
},
{
"detail" : "id",
"master" : "formdef_id",
"name" : "formdef",
"table" : "formdef"
},
{
"detail" : "id",
"kind" : "left",
"master" : "formdef.category_id",
"name" : "category",
"table" : "category"
},
{
"detail" : "id",
"master" : "hour_id",
"name" : "hour",
"table" : "hour"
},
{
"detail" : "id",
"master" : "generic_status_id",
"name" : "generic_status",
"table" : "status"
},
{
"detail" : "id",
"kind" : "inner",
"master" : "first_agent_id",
"name" : "agent",
"table" : "agent"
},
{
"detail" : "id",
"master" : "status_id",
"name" : "status",
"table" : "status_demande"
},
{
"detail" : "id",
"master" : "function__receiver",
"name" : "function__receiver",
"table" : "role"
},
{
"detail" : "id",
"master" : "field_item",
"name" : "item",
"table" : "formdata_demande_field_item"
},
{
"detail" : "id",
"master" : "field_item_open",
"name" : "item_open",
"table" : "formdata_demande_field_item_open"
}
],
"key" : "id",
"label" : "Demande",
"measures" : [
{
"expression" : "count({fact_table}.id)",
"label" : "nombre de demandes",
"name" : "count",
"type" : "integer"
},
{
"expression" : "avg(endpoint_delay)",
"label" : "délai de traitement moyen",
"name" : "avg_endpoint_delay",
"type" : "duration"
},
{
"expression" : "max(endpoint_delay)",
"label" : "délai de traitement maximum",
"name" : "max_endpoint_delay",
"type" : "duration"
},
{
"expression" : "min(endpoint_delay)",
"label" : "délai de traitement minimum",
"name" : "min_endpoint_delay",
"type" : "duration"
},
{
"expression" : "case (select count({fact_table}.id) from {table_expression} where {where_conditions}) when 0 then null else count({fact_table}.id) * 100. / (select count({fact_table}.id) from {table_expression} where {where_conditions}) end",
"label" : "pourcentage des demandes",
"name" : "percent",
"type" : "percent"
},
{
"expression" : "array_agg(\"{fact_table}\".geolocation_base) FILTER (WHERE \"{fact_table}\".geolocation_base IS NOT NULL)",
"label" : "localisation géographique",
"name" : "geolocation",
"type" : "point"
}
],
"name" : "formdata_demande"
}
],
"label" : "olap",
"name" : "olap",
"pg_dsn" : "dbname=db660834",
"search_path" : [
"olap",
"public"
]
}