New Member
November 20, 2018
Hello,
I have the bones of a dashboard in place and would like to refine my map visualization and associated reports.
Scenario:
3000+ Assets distributed by 100+ Locations in 20+ Regions. One data source reports by Region and lists assets by host name and IP address. (Table = Multiple assets at multiple sites in one Region.) In order to use the data from this source, I need to map one column that has some IP addresses and some host names to a location.
I have a table of locations (this table also includes the subnet in CIDR notation) that works with the map visualization. I want to be able to click a location on the map and see all relevant data per asset at that location.
Tasks:
Create a relationship between Asset - Location - Region.
I need to be able to scan the Host column - find a host by IP Address - map the host to the location by matching the IP Address on the subnet assigned to the location.
If no IP Address is present in the Host column - read the host name - map the host name to the location.
Solution Ideas:
I saw this article that describes partially what I need to do: https://community.powerbi.com/.....td-p/66954
This involves using a function to call an R script to parse the IP Address against all known IP Addresses in a subnet. This can be done with IP Tools package in R Script or Python. I have Python installed but I'm uncertain how to call the IP Tools package and use this in PowerBI. If I had some examples of doing this I may get this part of the equation working. This would only solve part of the problem for scanning the Host column - identifying an IP address - determining its subnet (via Python script) - matching to Location table.
If no IP address is present in the Host column - I need to be able to read the host name and translate that to IP address then map to location by subnet. I think I can solve this portion of the problem by running a function to query DNS/DHCP. Again, I believe I can do this in Python but I'm uncertain where to start and how to integrate this with PowerBI.
Complications:
Assets listed in the Host column by IP Address are statically assigned. Some assets listed by hostname (servers) are also statically assigned. Other assets in the Host column listed by host name are dynamically assigned from the DHCP pool.
The asset reports by Region are historical - spanning 2 years. Working strictly from an IP Address perspective - if I query DNS/DHCP today - a host may have a different IP Address than it did 2 years ago. This would skew my reports at the asset level. I could be reporting information for one asset when the data actually applies to a completely different asset. In order to avoid this discrepancy, I believe I should use the host name to map to location. I can do this in a quasi way. Most host names have location information within the naming convention. I'm uncertain how to use the partial text of the host name to map to location. I guess I could create a table of locations and a sample of text from the host names? Ideas?
Future Considerations:
The above problem applies to historical data. Moving forward I can have the dataset only report the Host column by IP Address. In that case, it would be easy to map to location using the Python IP Tools solution. I need to get this portion of the problem working no matter what. If any of you have worked with this scenario specifically - please share.
If I get this portion of the dashboard working - I still need to resolve those host names that can be resolved for reporting purposes. It means ease of use for less knowledgeable team members or C-suite members that have no clue about IP addressing but can see a host name and know its location. On the front end I could map by location - but in the report drill downs by asset - I need assets listed by host names.
I have attached a dummy dataset for example.
Thank you in advance for any insight, solutions, suggestions!
July 16, 2010
Hi Deanna,
Thanks for posting your question in the forum. I've moved it to the public dashboard group as this will get more views and therefore more potential to get an answer.
You would be best to ask one specific question at a time. A big block of text will be overwhelming to most and they will dismiss it as requiring too much time to answer.
e.g. you could ask "how can I use a partial text of the host name to map to location. " and then provide a sample Excel file containing enough examples that all scenarios are covered.
Once you get that question answered, move on to the next issue in a new thread.
I hope that helps. If you'd like to post your simplified question again, I can delete this post.
Mynda
VIP
Trusted Members
December 7, 2016
Hello,
I am not sure if this is what you want, but I have rearranged your data so we have one fact table and one dimension table.
I am using Power Pivot to create a relationship with the Subnet as key. In order to get correct Subnet in Scan_Results table (the dimension table) I needed to create a third table, named as TblIPRange, wherein I list all IP addresses, netmasks and network addresses (subnets) used in this example.
I hope this will give you some help along your work to get a report as you want.
1 Guest(s)