Onze afdelingDigital Port Lifecycle (DPLC) bestaat sinds 1 januari 2026 en behoort tot het operationele domein van het Havenbedrijf Rotterdam. Dit domein is onder andere verantwoordelijk voor het borgen van nautische veiligheid, het bouwen en beheren van kritieke infrastructuur en het verduurzamen van de leefomgeving. Zo creëren wij een veilige, innovatieve en duurzame haven die kan blijven groeien.DPLC zet digitalisering, data en AI centraal in de manier waarop we de Rotterdamse haven plannen, ontwikkelen en beheren. Dit doen we door betrouwbare data beschikbaar te stellen, complexe data-analyses uit te voeren en digitale producten te ontwikkelen voor de afdelingen Asset Management (AM), Port Development (PD), Environmental Management (EM) en de Divisie Havenmeester (DHMR).Wat ga je doen?Als BI Specialist vervul je een sleutelrol in het beantwoorden van bedrijfsvraagstukken binnen het Havenbedrijf Rotterdam. Je vertaalt de informatiebehoeften van interne stakeholders naar heldere en direct toepasbare inzichten. Dit doe je door actief het gesprek aan te gaan, wensen zorgvuldig te inventariseren en kritische vragen te stellen. Je daagt stakeholders uit om tot de kern van hun informatievraag te komen en vertaalt dit naar overzichtelijke en effectieve dashboards in Power BI. Zo lever je een directe bijdrage aan datagedreven besluitvorming en het verbeteren van bedrijfsprocessen.In deze rol combineer je technische expertise met sterke communicatieve vaardigheden. Je ontwikkelt niet alleen inzichten, maar weet deze ook overtuigend over te brengen. Met jouw storytellingkwaliteiten zorg je ervoor dat analyses begrijpelijk zijn en daadwerkelijk leiden tot concrete acties en resultaten. Op deze manier maak je de stap van data naar impact. Je werkzaamheden bestaan onder andere uit:het inventariseren van informatiebehoeften bij stakeholders, deze kritisch bevragen en vertalen naar concrete inzichten en dataproducten;het verzamelen, combineren en modelleren van data, voornamelijk uit ons Databricks-platform, aangevuld met andere gegevensbronnen;het creëren van overzichtelijke dashboards en rapportages in Microsoft Power BI met behulp van Power Query, DAX en SQL;het toepassen van datamanagement- en lakehouseprincipes om datakwaliteit en beheersbaarheid van de gekozen oplossing te waarborgen;het vertalen van data naar heldere, actiegerichte inzichten, waarbij je gebruikmaakt van principes uit UX en storytelling om de impact en adoptie te vergroten.
Eisen bij de opdracht:Je hebt ervaring met het verwerken, analyseren en modelleren van data met behulp van Power Query (M), DAX en SQL.Je hebt een goed begrip van datamodellering (bijv. dimensionaal modelleren) en oog voor performance, beheer en onderhoudbare oplossingen.Je hebt ervaring met het doorgronden van businessvraagstukken en het vertalen naar concrete inzichten en dashboards, en het overtuigend communiceren hiervan zodat stakeholders tot de kern komen en oplossingen worden geadopteerd.Wensen bij de opdracht:Je hebt minimaal 5 jaar ervaring met het ontwikkelen van dashboards en rapportages in Microsoft Power BI.Je hebt ervaring met Microsoft Fabric, Databricks, het Power Platform, SharePoint en/of GIS-toepassingen binnen Power BI.Je hebt een afgeronde hbo- of wo-opleiding in een relevante richting, zoals IT, Data, Bedrijfskunde , Sociale Geografie of Milieukunde.Je hebt kennis van datamanagement, lakehouseprincipes en/of datawarehousing en ETL-processen.Je hebt ervaring met agile werken, stakeholdermanagement of methodieken zoals Design Thinking.Je hebt affiniteit met AI-ondersteund werken (bijvoorbeeld Copilot).
Referentienummer2026-05873
LocatieRotterdam
Startdatum3 augustus 2026
Einddatum31 december 2026
Optie op verlengingJa
Uren per week32-36u p/w
Intakegesprek15 juli 2026
Sluitingsdatum10 juli 2026
09:00
Begint jouw trail hier?Stuur ons je CV met een korte opdrachtgerichte motivatie.
Discover your BlueTrailOnze weg naar jouw nieuwe carrière
Nadat jij op een opdracht hebt gereageerd, nemen wij binnen 24 uur contact met jou op en behandelen we jouw reactie.
We gaan met jou in gesprek. Wij kijken niet alleen naar je kennis en werkervaring, maar vooral naar jou als persoon. Dit is voor zowel de professional als de opdrachtgever belangrijk, wij willen de juiste match maken! Als we eenmaal de juiste match hebben gevonden, dan begint jouw BlueTrail en stellen we je voor aan de opdrachtgever!
Bij een succesvolle match worden de contracten opgesteld. Door middel van innovaties en digitalisering proberen wij dit proces zo kort mogelijk te maken. Zo kun jij doen waar je goed in bent, terwijl wij zorgen voor alle administratie!
Ook tijdens jouw opdracht staan wij altijd voor je klaar. Onze fieldmanagers zorgen er persoonlijk voor dan alles succesvol verloopt!
Follow our trail
E-mailadres
gform.initializeOnLoaded( function() {gformInitSpinner( 2, 'https://www.bluetrail.nl/core/modules/934d581a4a/images/spinner.svg', true );jQuery('#gform_ajax_frame_2').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_2');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_2').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_2').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_2').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_2').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_2').val();gformInitSpinner( 2, 'https://www.bluetrail.nl/core/modules/934d581a4a/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [2, current_page]);window['gf_submitting_2'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_2').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [2]);window['gf_submitting_2'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_2').text());}else{jQuery('#gform_2').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "2", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_2" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_2"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_2" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 2, current_page ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} );
Meer informatie