Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
I'm trying to create a walking / canvassing map for an area. I have an address number even/odd column, and an address zig zag field. Has anyone done one of these before that can give me some tips?
Deepseek is giving me something similar.
Thanks for the suggestions. I'm specifically trying to figure out the logic for telling them when to cross the street and go back down the other side.
Hi @dpeacockGIS ,
Thank you for the insightful response @Nasif_Azam !
Yes , that is exactly what IsCrossPoint is created for. The expression flags when you have finished with the last voter on a side of the street.
So when IsCrossPoint == TRUE, that is your cue to cross the street and continue canvassing in the reverse direction.This lets you streamline your route without needless back-and-forth.
Hope this helps.
Thank you.
Regards,
Pallavi G.
Thanks for the clarification! That’s a great question and the key to improving efficiency in your canvassing route. You can build logic into your Power BI model to dynamically guide volunteers on when to cross the street using your Odd/Even and ZigZag fields.
If you're walking one side of the street first:
Filter by AddressNumber % 2 = 0 (even) or odd.
Sort the addresses accordingly (e.g., ascending).
Once the end is reached, switch to the other side using the opposite parity.
Use DAX to identify when the last even (or odd) house ends and indicate the crossing point:
IsCrossPoint = IF( [Voters_SequenceOddEven] = CALCULATE(MAX([Voters_SequenceOddEven]), ALLEXCEPT('Addresses', [Street], [OddEven])), "Cross Street", BLANK() )
If you're alternating sides using Voters_SequenceZigZag, you can structure the sort order to alternate based on sequence:
Order addresses using the zigzag sequence.
Color code addresses using something like:
SideColor = IF([OddEven] = "Odd", "Blue", "Green")
Create a custom tooltip or shape/icon indicating the transition.
If you found this solution helpful, please consider accepting it and giving it a kudos (Like) it’s greatly appreciated and helps others find the solution more easily.
Best Regards,
Nasif Azam
Hey @dpeacockGIS ,
Creating a walking/canvassing map like the one you've shown in Power BI is a powerful way to visualize door-to-door efforts such as voter outreach, survey collection, or community engagement. You can improve and optimize it, particularly using the Odd/Even and ZigZag fields you've included. The goal is to find optimize route by covering all houses systematically and use visual cues for planning and execution.
According to your screenshot includes:
Voters_SequenceOddEven: Typically walks one side of the street before returning.
Voters_SequenceZigZag: Alternates sides of the street, reducing crossing time.
Residence_Addresses_AddressLine: Enables sorting and pathing.
Latitude and Longitude: Used for plotting.
Create a new table or matrix in Power BI:
Sort addresses by Voters_SequenceOddEven or Voters_SequenceZigZag.
Use conditional formatting to highlight the current or upcoming target.
This helps your volunteers follow the route visually as well as spatially.
On your map:
Use icons or colors to indicate the sequence (1, 2, 3...) using the Voters_SequenceZigZag or OddEven field.
Consider using shapes or arrow icons to suggest directionality (requires custom visuals or tooltips with direction hints).
Label tooltips: LastName, AddressLine, and Voters_SequenceZigZag for easy context.
Use the Azure Maps visual or the ArcGIS Maps for Power BI for advanced route plotting.
Use DAX to create a column like:
WalkingSequence = RANKX(ALL('TableName'), [Voters_SequenceZigZag], , ASC, Dense)
Add a slicer for volunteers to filter based on street blocks or sequence ranges.M
For Detaild Information:
Microsoft Learn – Map Visuals in Power BI
Power BI Community – Route Planning Discussions
SQLBI – Using RANKX to Sequence Addresses
If you found this solution helpful, please consider accepting it and giving it a kudos (Like) it’s greatly appreciated and helps others find the solution more easily.
Best Regards,
Nasif Azam
User | Count |
---|---|
84 | |
79 | |
70 | |
47 | |
41 |
User | Count |
---|---|
108 | |
52 | |
50 | |
40 | |
40 |