{"id":1131,"date":"2015-12-20T18:36:00","date_gmt":"2015-12-20T18:36:00","guid":{"rendered":"http:\/\/62.131.51.129\/?p=1131"},"modified":"2015-12-20T18:36:00","modified_gmt":"2015-12-20T18:36:00","slug":"spatial-reporting-in-obiee","status":"publish","type":"post","link":"http:\/\/archief.van-maanen.com\/?p=1131","title":{"rendered":"Spatial Reporting in OBIEE"},"content":{"rendered":"<p>OBIEE allows you to create spatial reports. The idea is relatively simple. Instead of a tabular reports with rows and columns, we create a reports that are createad as a layer upon a map. So we have a map, with a layer of plotted values. When we have a report with a geographical component, such as turnover per town, we map create a nice overview of turnovers as realised in different town that are plotted on a map of a particular area.<br \/>\nAn example:<br \/>\n<a href=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled.png\" rel=\"attachment wp-att-1135\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1135\" src=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled.png\" alt=\"Untitled\" width=\"429\" height=\"389\" \/><\/a><br \/>\nYou see a map of the Netherlands with some areas that correspond to municipalities. These areas are either yellow or purple, depending upon the value that correspond to the municipality.<br \/>\nHow is this accomplished?<br \/>\nOBIEE allows the creation of such reports. It provides several maps (Bing\/ Nokia and Elocation) that are provided with OBIEE. One could interpreted this as the first layer upon which we must plot our municipalities. We must firstly create an object that holds the geographical components. We need at least two attributes:<br \/>\n1: We need a geographical object<br \/>\n2: We need a name for that geographical object.<\/p>\n<p>This can be stored as a record in Oracle. An example is given below:<br \/>\n<a href=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Record.jpg\" rel=\"attachment wp-att-1137\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Record.jpg\" alt=\"Record\" width=\"859\" height=\"600\" class=\"alignnone size-full wp-image-1137\" \/><\/a><br \/>\nHere we store a geographical object in field &#8220;Geometry&#8221;. If fact, we store a series of data on latitude, longitude that together create a polygon. This is stored in Oracle. We attach a name &#8220;NLD_GOUDA&#8221; to it.<br \/>\nNow we have an object with a name and geographical content. We can refer to &#8220;NLD_GOUDA&#8221; if we want to link it to that geographical object.<br \/>\nSuch linkage is created here in another table where address keys are linked to the name of the geographical object. See:<br \/>\n<a href=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled-1.png\" rel=\"attachment wp-att-1138\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled-1.png\" alt=\"Untitled\" width=\"698\" height=\"431\" class=\"alignnone size-full wp-image-1138\" \/><\/a><br \/>\nThis address key is used in this data base with customers that generate a certain turnover. If we add all turnover that are realised by customers that have an address key that is mentioned in the picture above, we have total turnover as realised in &#8220;NLD_GOUDA&#8221;.<br \/>\nIt might well be that we are interested in the turnover that is generated in each of the addresses. This could be realised by storing the geographical objects with a name of each address in the database. Here (see record number 5), we store &#8220;NLD_GOUDA_2804XABLOEMENDAAL&#8221; with the geographical object. See picture below:<br \/>\n<a href=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled.jpg\" rel=\"attachment wp-att-1142\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled.jpg\" alt=\"Untitled\" width=\"1120\" height=\"600\" class=\"alignnone size-full wp-image-1142\" \/><\/a><br \/>\nWe now have several addresses within one municipality for which geographical objects are created. We may now link the addresses to the labels as shown below:<br \/>\n<a href=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled-1.jpg\" rel=\"attachment wp-att-1144\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled-1.jpg\" alt=\"Untitled\" width=\"1051\" height=\"422\" class=\"alignnone size-full wp-image-1144\" \/><\/a><br \/>\nWe now have two types of geographical objects:<br \/>\n1: municipalities for which we have geographical polygons<br \/>\n2: addresses within the municipalities for which we have other geographical objects.<\/p>\n<p>The end result is shown below, where the individual addresses are displayed with a bubble and the municipality is shown in yellow:<br \/>\n<a href=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled-3.png\" rel=\"attachment wp-att-1145\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/62.131.51.129\/wp-content\/uploads\/2015\/12\/Untitled-3.png\" alt=\"Untitled\" width=\"599\" height=\"374\" class=\"alignnone size-full wp-image-1145\" \/><\/a>.<br \/>\nWe see one address &#8220;NLD_GOUDA_2804XABLOEMENDAAL&#8221; standing out. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>OBIEE allows you to create spatial reports. The idea is relatively simple. Instead of a tabular reports with rows and columns, we create a reports that are createad as a layer upon a map. So we have a map, with a layer of plotted values. When we have a report with a geographical component, such [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1132,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1131","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-warehousing"],"_links":{"self":[{"href":"http:\/\/archief.van-maanen.com\/index.php?rest_route=\/wp\/v2\/posts\/1131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/archief.van-maanen.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/archief.van-maanen.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/archief.van-maanen.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/archief.van-maanen.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1131"}],"version-history":[{"count":0,"href":"http:\/\/archief.van-maanen.com\/index.php?rest_route=\/wp\/v2\/posts\/1131\/revisions"}],"wp:attachment":[{"href":"http:\/\/archief.van-maanen.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/archief.van-maanen.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1131"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/archief.van-maanen.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}