Skip to main content

Mappedin Visual for Power BI

The Mappedin Visual for Power BI provides a simple way to plot analytics events on an indoor map within a Power BI report.

The Mappedin Visual for Power BI is still an experimental product and is not yet available on Microsoft AppSource. While in this state, some features may not behave as intended and are subject to change. Experimental features are being tested together with early adopters to fine-tune them.

Heatmap

Prerequisites

In order to use the Mappedin Visual for Power BI, customers must have a map built with Mappedin CMS and Mappedin GeoJSON Export credentials. For best results, reference a map with real-time indoor positioning and use Mappedin's analytics as a data source.

Looking to get started? Contact Mappedin for more details.

Installation

While in experimental state, the Mappedin Visual for Power BI can be downloaded directly from the following link:

Once the project has advanced from its experimental state, the visual will be obtainable from Microsoft AppSource.

Please refer to the Microsoft documentation on importing a local visual into Power BI and follow the instructions there.

Preparing the Data

When creating a report, ensure that the latitude, longitude, and floor_level columns are correct in the data model. While viewing the data model, select each of these columns and open their advanced settings. They should all be set to a "Summarize by" value of "None".

To find out how to edit the data model, please refer to the Microsoft documentation on editing data models and follow the instructions there.

Setting Latitude to Summarize by None

Data Fields

In a Power BI report with analytics data, add the visual to the page. From the "Build visual" menu, supply values into their respective fields.

Coordinate-Based Fields

These fields are used for Scatterplot and Heatmap visualizations:

FieldDescription
LatitudeLatitude coordinate for plotting points on the map.
LongitudeLongitude coordinate for plotting points on the map.
Floor LevelOptional. When provided, data will be filtered by floor level. Use the floor selector on the map to switch between floors.

Location/Space-Based Fields

These fields are used for Highlight visualization:

FieldDescription
Location: External IDExternal ID to identify locations for highlighting. Matches against the Location External ID configured in Mappedin CMS.
Space: External IDExternal ID to identify spaces for highlighting. Matches against the Space External ID from the map geometry.

Additional Fields

FieldDescription
Map IDOptional. Overrides the default Map ID configured in settings. Use with slicers to enable dynamic map switching between multiple venues.
TooltipsOptional. Up to 3 measures can be added. Values are displayed when hovering over data points (scatterplot) or highlighted locations/spaces.
ColorOptional. Color values for highlighted spaces. Accepts CSS colors (HEX, RGB, RGBA, HSL, named colors) or category text. When category text is provided, colors are automatically assigned and a legend is displayed. Requires Location: External ID or Space: External ID.
LabelOptional. Custom label text to display for each location/space. When bound, overrides the Label Display setting. Requires Location: External ID or Space: External ID.

Power BI Data Configuration

API Configuration

The map needs Mappedin API credentials to fetch the indoor geometry. From the "Format visual" menu, expand the Mappedin API section and enter:

SettingDescription
Client IDYour Mappedin API Client ID.
Client SecretYour Mappedin API Client Secret.
Default Map IDThe Map ID for your venue. Can be overridden by binding a Map ID column in the data fields.

These keys must have authorization for GeoJSON Export. Contact a Mappedin representative for details on how to obtain these.

Format Visual

Visualization Types

The visual supports three visualization types, selectable from the Display Options section:

Scatterplot

Displays individual data points on the map. Best for showing discrete events or positions.

Settings:

  • Fill Color - Color of the points
  • Line Color - Border color around points
  • Line Width - Border thickness (in pixels or meters)
  • Opacity - Transparency of points (0-100%)
  • Radius - Size of points (in pixels or meters)

Scatterplot Visualization

Heatmap

Displays data density using color gradients. Best for showing concentration of events or traffic patterns.

Settings:

  • Minimum Color - Color for lowest density areas
  • Middle Color - Color for medium density areas
  • Maximum Color - Color for highest density areas
  • Intensity - Strength of the heatmap effect
  • Opacity - Transparency of the heatmap (0-100%)
  • Radius - Spread of each data point's influence (in pixels)

Heatmap Visualization

Highlight

Highlights specific locations or spaces on the map based on External IDs. Best for showing performance by location or categorizing spaces.

Settings:

  • Color - Default highlight color (can be overridden by the Color data field)

Requirements:

  • Requires Location: External ID or Space: External ID to be bound
  • External IDs must match those configured in Mappedin CMS

Display Options

General display settings available in the Display Options section:

SettingDescription
Initial ZoomStarting zoom level (0-20 in Web Mercator units)
Flatten PercentageFlatten the 3D map geometry (0-100%)
VisualizationChoose between Scatterplot, Heatmap, or Highlight
Background ColorColor behind the map
Show LabelsToggle location labels on the map
Label DisplayChoose label content: Location Name, Location External ID, or Space External ID

Data-Driven Colors

The Color data field supports dynamic coloring for the Highlight visualization. You can provide:

CSS Color Values

Provide valid CSS colors directly in your data:

  • Hex codes: #FF6230, #FF623080
  • RGB/RGBA: rgb(255, 98, 48), rgba(255, 98, 48, 0.5)
  • HSL/HSLA: hsl(14, 100%, 59%)
  • Named colors: red, coral, steelblue

Category Text

When the Color field contains text values that are not valid CSS colors (such as category names like "Retail", "Food & Beverage", "Entertainment"), the visual automatically:

  1. Assigns a unique color to each category
  2. Displays a color legend in the bottom-right corner of the map

This is useful for visualizing location categories, tenant types, or any other categorical data.

Using DAX Measures

Create dynamic colors using DAX expressions:

Parameter-based coloring:

ColorByYear =
IF(
[Year] = SelectedYear,
"#FF6230",
"#CCCCCC"
)

Conditional coloring based on metrics:

ColorByPerformance =
SWITCH(
TRUE(),
[Sales] > 100000, "#4CAF50",
[Sales] > 50000, "#FFC107",
"#F44336"
)

Category-based coloring:

ColorByCategory =
SWITCH(
[ShopType],
"Retail", "#2196F3",
"Food", "#FF9800",
"Entertainment", "#9C27B0",
"#757575"
)

Color Priority

When multiple color sources are available, they are applied in this order:

  1. Color data field (highest priority)
  2. Conditional formatting rules (if configured in the format pane)
  3. Default color from Highlight settings

Dynamic Map Switching

Use the Map ID data field with slicers to switch between multiple venues:

  1. Add a Map ID column to your data that contains the venue's Map ID
  2. Bind this column to the Map ID field
  3. Add a slicer connected to the Map ID column
  4. When users select a different Map ID in the slicer, the visual loads the corresponding venue

Note: Only one Map ID can be active at a time. If multiple Map IDs are present in the filtered data, an error message will be displayed prompting users to filter to a single Map ID.

Tips and Best Practices

  • Data limits: The visual supports up to 30,000 data points per query
  • Floor filtering: When Floor Level is bound, use the floor selector overlay on the map to navigate between floors
  • Tooltips: Add meaningful measures to the Tooltips field to provide context when users hover over data points
  • Labels: Use the Label field to display custom text (like sales figures or status) directly on the map
  • Performance: For large datasets, consider using aggregated data or filtering to specific time ranges