>> Welcome to another wonderful session
of the Microsoft Business Applications Summit.
My name is Lauren Faber and I am on
the Power BI Customer Advisory Team.
I'm super excited about having PCL with us here today.
From PCL, we have Nathan and Danny here to talk with us.
Before we get into more of your challenge and your solution,
could you tell us a little bit more about what
we'll be talking about today,
your roles at PCL and what PCL is all about?
>> For sure. Thanks for having us Lauren.
So we'll be sharing how PCL is using Azure and Power BI to
solve some of the challenges that have plagued
the construction industry for decades.
>> Here's an overview of what we're going to cover today.
So we'll introduce ourselves, like Lauren said,
and our company, and we want to share with you
some of what we face in the construction industry.
We'll also dive into one of the solutions we've built on Azure and
Power BI and demonstrate how it
improves the productivity of our field staff.
Finally, we'll share a bit about
our own experience from our journey to Power BI adoption,
and the lessons that we've learned along the way.
>> But first, to start a little bit about ourselves.
I'm Danny Brunsch and I'm
an Artificial Intelligence and Analytics Specialist at PCL.
My role involves data engineering,
delivering analytics on that data,
enriching set analytics with machine learning.
Alongside, I design and develop applications to implement
machine learning in AI and practical ways to enrich your business,
whether that's creating new applications to allow us to get data,
we need to use ML enriching
existing applications with these powerful technologies.
>> I'm Nathan Wong. I am a BI and Analytics Developer at PCL.
My role revolves around the development and
maintenance of IT managed BI applications,
along with providing support and guidance for
our community of about 400 self-service BI users.
>> By now, if you haven't guessed from the pitches,
PCL is a construction company.
We operate mainly in three main sectors of buildings,
heavy industrial, and civil infrastructure.
With an annual construction volume of eight billion,
at any given time, we have more than 700 projects on the go.
PCL is also made up of more than 4,000
full-time staff and over 10,000 early tradespeople.
We found that by equipping our workforce with
tools that helps them to be more productive and efficient,
we can improve PCL's bottom-line.
>> Perfect. Thank you so much for that introduction.
So let's dive into a bit about the challenge that
PCL was facing when it comes to business intelligence and data.
>> Yeah, for sure. Before getting into the technical challenges,
I'll talk a little bit about the challenges that
the construction industry faces as a whole.
According to many analysts,
the construction industry is
lagging when it is compared to other sectors.
The chart that you see here from McKinsey,
actually ranks construction just above farming.
Productivity in construction has flatlined,
rework comprises 7-11 percent of the total construction cost.
Sometimes large projects can take 20 percent longer to finish than
scheduled and can be up to over 80 percent over budget.
Construction ranks as one of the least digitized sectors.
>> PCL, we're tackling these problems head on,
and we believe that like in many other industries,
technology can be a transformative factor.
One way PCL is doing this is with IoT sensors
and the data visualization capabilities of Power BI.
These IoT sensors give us
real-time information of what is happening on our job sites.
Rather than spending time manually
taking temperature readings on job sites,
workers can be allocated to higher value activities.
We can ensure that the quality of our finished construction
by monitoring and controlling environmental factors,
we can also mitigate risks from unforeseen events like
floods or inclement weather through early warning systems.
This brings a new level of insight to our job sites,
to creating a more efficient, productive,
and safe environment for our business.
>> That brings us to our BI and data challenge.
IoT sensors generate lots of
informations and construction sites are large.
It's not unusual to have hundreds of sensors on a single job.
Our challenge was to be able to process large amounts of IoT data,
deliver it to our field workers in a way that
they could easily understand and consume.
Additionally, with all of this information being collected,
we had a great opportunity
for machine learning and predictive analytics.
>> So what was the solution that you did end up coming up with?
>> So to allow us to deliver analytics on
the large amounts of data generated by these IoT sensors,
we developed a data pipeline pictured on
this slide utilizing resources from Azure technologies.
This solution is scalable as we expand this product,
the under own business, to a SaaS solution
with millions of readings generated per day.
So start off, the Job Site Insights application
itself you see on the far
left there uses Azure Data Lake
as a cold store for all our sensor data.
This is currently written into the Data Lake in
large batches every 15 minutes.
This datastore is immutable and stores all of
our raw sensor data it's backed
up and always available in case anything
goes wrong down the pipeline or we need to make any changes.
Support for streaming in real time is also
available as our platform moves right real-time analytics.
The data pipeline then starts off with
an Azure Data Factory to pick up
the newer changed data and make it available in Power BI.
A Data Factory tumbling window pipeline is
triggered processing the newer updated data from the Data Lake.
This pipeline runs in
Azure Databricks notebook running
on the job cluster that will extract the data from the Data Lake,
transform and enrich it before finally
loading it into Synapse Analytics.
The Databricks notebook extracts raw data, consolidates it,
transforms it into an analytic schema,
enriches it with further lookup data.
The process also batches up
the data center Azure Anomaly Detection for analysis.
This data is then also added to the dataset in order to
show any readings that may indicate issues to our analytics users.
>> The data is finally loaded into
Synapse Analytics to feed our Power BI dashboards and reports.
With Power BI, we have
one main certified dataset that is pulling from Synapse Analytics.
This dataset uses incremental refresh,
and we only look to refresh
the last day's worth of data in order to keep
our refreshes as fast as possible while
keeping the data in memory in Power BI.
The certified dataset also
allows the clients and employees to create
their own reports and dashboards where
needed without assistance from our analytics team.
This allows our many diverse project teams to be able to adapt
quickly the base level of analytics
to their own needs and the needs of their clients.
>> So I believe you've prepared a demo
for us and I'm really excited about you showcasing that.
Would you be able to show us that now?
>> Of course, I'll bring it up on the screen here.
So I'll be going through both the JSI application
itself that provides us
the real-time views into the sensor data in any alarms or alerts.
After that, I'll go over the JSI analytics piece,
which highlights the historical data and
analytics available within the system.
So starting off here with the JSI application itself,
this application displays real-time data and
alerts to our users in order to actively monitor their job sites,
environments and act on any issues that may be occurring.
The JSI portal shows job sites or
projects and their design drawings or layouts with the sensors,
the GPS locations and latest sensor readings displayed on top.
Users can navigate across various districts, job sites,
and floors or areas to view the latest sensor readings available.
Teams can be configured to give access to
other employees and set up alerts or alarms.
Alerts and alarms are set on sensors or groups of sensors.
Thresholds are set to get alerts if
sensors readings go out of these bounds.
These alarms all send alerts to the employees through
various e-mail methods such as text messages or e-mail.
>> The great thing about IoT
is that there's a sensor for everything.
Job Site Insights supports many different types of sensors.
Typical run-of-the-mill sensors like temperature,
humidity, and air pressure,
to more construction focus sensors like concrete strength,
and maturity, as well as pipeline pressure, and bell states.
The first benefit of having all these IoT sensors is
that no more manual readings need to be taken anymore.
Before, job sites that needed to
ensure their environments were controlled,
had an employee go from area to
area physically taking measurements.
The second and more important benefit though is that it gives us
greater control over the quality
of our final construction product.
>> Here you can see one of our demo jobs that's
the few simple sensor types.
Employees can open the application to see
the current environment of the job type from anywhere,
and determine to physically go to locations if anything seems off.
On this application, any sensors that
have active alarms will show up in red.
Alerts have also been sent to the employees
directly so that they can act as soon as alarm is triggered.
A good example of this is on
job sites where millwork is being performed.
This work must be done and kept in a controlled environment to
ensure temperature and humidity are within design thresholds.
If these values do fall out of range,
employees can act quickly,
preventing damage and additional cost to our company.
>> A common problem when working on
towers in the winter are pipes freezing and bursting,
which can cause water damage to units below the burst pipe.
Employees now can be
alerted to the problem and address it quickly,
or they can take preventative measures like
closing the window or adding heaters to the rooms.
This simple act can prevent large amounts of
rework and additional costs to the project.
Since job sites are constantly changing,
sometimes it's not feasible to plan for every possible risk.
During construction, it's easy for water to
find its way into areas it's not supposed to go,
and that could be due to heavy rains or melting snow.
Rather than installing and then
removing pumps over and over again in
areas that need water protection as the construction progresses,
we can use flood sensors to save
the project money by allowing them to only
install temporary water mitigation systems as
needed once they're notified of water in a particular area.
>> All these alarms can be viewed and
tracked in the JSI application itself.
Alarms will show up in red as you can see
here with this one demo device,
and users can deal with them in real life.
Then once they're done, they can go back
to the application and clear
these alarms to ensure that we
know that the issue has been dealt with,
and nothing is outstanding,
and we're not going to have any further problems there.
If the device goes out of bounds again,
we'll get another alarm,
and we can make sure that further plans can
be implemented to make sure that
nothing is going to go wrong in our job sites.
Now you just getting a quick view into the JSI application itself,
and I'll switch over to JSI analytics,
and we can have a look at
the historical data JSI and its sensors have generated.
The Power BI dashboard offers a view into aggregated summaries of
the data along with detailed data
down to each individual sensor reading.
The main dashboard you can see now
shows the available sensor types.
Users can set the time span of the data they would like to see,
as well as selecting different job sites that they want to
view on this first page.
Further, slicers are available on an Options tab to
filter specific areas or devices if needed.
>> Each detailed page
provides an in-depth view into a particular sensor type.
On this particular temperature page,
there's a guage that shows the range of values
that has been experienced by the sensors,
along with whether any of
those values have fallen out of the thresholds that have been set.
This page allows Project Teams to quickly
review and identify any problems.
The line graph displays trends which
quickly highlight any anomalies that may have occurred.
Teams actually use this dashboard extensively
to ensure environmental conditions are met,
and sensitive areas are monitored.
On a construction site,
like I said before where things are constantly changing,
having this information readily available to Teams
allows them to respond quickly and make informed decisions.
>> One of the ways Job Site Insights
has directly improved productivity
is being able to monitor concrete strength
and maturity once it has been poured.
If Teams know exactly when
the concrete is cured and is ready to be built on,
construction on that could start early.
This saves Devs off the schedule,
reduces equipment and labor costs,
and ultimately makes the projects more profitable.
Another way Job Site Insights
proved it's value is when we need to provide
proof that the construction environment conform to specifications.
If no work has cracked and the clients
are claiming that environmental conditions,
the cause of the problem,
we have all the historical data necessary to
show that we did in fact,
maintain a proper environment.
Warranty working claims can end up costing
a lot of money after project finishes,
and JSI analytics can minimize these costs.
There are many other use cases for JSI analytics and
JSI itself as the system continues to expand.
I hope that this gives you a quick look at how we
can use Azure and Power BI to help our business.
>> That demo was seriously so awesome.
Thank you, guys so much for sharing that.
Hearing you talk earlier about how the construction business
is on the lower end when it comes to digitization,
it is pretty obvious that PCL does not fit into that category.
I know that with any kind of
solution that you're finding or challenge that you go through,
there's a ton of lessons learned.
Would you be able to share some of those lessons with us?
>> For sure.
One of the big things is when we first start out,
Power BI was using DirectQuery connect to Synapse Analytics,
but the query used to take a long time to return and
rerun to issues with report performance.
On top of that, it was fairly costly resource,
so to get the performance level we want was costly.
To battle this, we
first changed the way we are modeling
our data to make it much more efficient.
Also, we pivoted to using an incremental refresh,
which gave us the performance we needed
along with the time to update our data model.
Along with that, incremental refresh also allowed us to
use a much lower cost resource as
the performance to the database
or Synapse Analytics was much
less than it was before with DirectQuery.
We also heavily used custom visuals available in the marketplace,
and that has really helped us visualize our data concisely,
telling the story that our users need to
make important decisions quickly.
We also found that having a knowledge to develop
custom visuals yourself can also be very important.
Custom visuals are great,
but often they're missing one or two key features that would
really help you present your data in the best way possible.
One other thing we experimented with on
the DirectQuery side of things was using
aggregation tables to speed up performance of
large queries and large sets of data.
Having these built-in tables in-memory for
dashboard KPIs can prevent
the long load time that frustrated users.
Finally having a defined DevOps process can help ensure
that changes to dashboards can be properly vetted before releases,
making sure that data is presented properly is of
utmost importance before releasing
to users and rely on the accuracy of data.
>> We tried to make use of bookmarks in
order to provide our users with a really intuitive experience.
We wanted our reports to feel like
an app as the users navigate through it.
We're also really careful about
the number of visuals that we included on a page,
as we found that sometimes having too many
would actually bog down the performance of our reports.
>> You've created such an impressive solution.
What are some of the things that you're doing to
make sure that people adopt it?
>> At PCL, we have a blended model of BI delivery,
where we balanced IT-Managed BI while ensuring
our 400 plus self-service BI creators
have the tools they need to succeed.
One of the key strategies has simply been to listen to our users.
When they see their data visualized in Power BI,
they're the ones who come up with new ideas of using their data.
New features or ideas that have
a widespread impact are then prioritized.
Additionally we make up every effort to ensure
existing report functionality is easy to use and
flexible to handle most users questions.
If users need something more,
they can easily access data via
Power BI datasets and data
flows to build their own custom reports.
On top of that, to make things even easier,
we have a repository for port templates they can start from.
>> Aside from the great guided learning
that's already provided by Power BI,
we've actually created some customized training
for the different construction job roles in our company.
This allows our first-time users to quickly see
the potential value and
application Power BI can bring to their role.
We also use Yammer extensively to
host a Power BI community of practice at PCL.
The goal of it is to promote
sharing and solutions to common problems.
One benefit that we've actually noticed is that
as our community becomes more experienced,
the support load that we on the IT side
see is lessened as people are
getting help from their local peer experts.
This quote from our CIO summarizes our presentation and really
captures the motivation behind
everything that we've covered today.
"We have a significant opportunity to change the face
of construction through the use of digital technology."
As you can see, our investments in Azure
and Power BI are really what is
enabling us to deliver solutions to
our workforce that can revolutionize the way that they work.
>> Perfect. I want to say thank you so much,
Danny and Nathan for
your presentation today and being able to share your solution.
>> Thanks for having us.
>> Thank you very much.