Forum Discussion
jmarcrum
6 years agoHelper II
Slicers as input for Python script
Hi everyone - I have a python network script visual in Power BI. I am looking to apply a slicer (instead of hard-coding the teams - tm1 and tm2 ) in the python script below. How can be this be ...
- 6 years ago
Hey jmarcrum ,
this code is maybe doing what you are looking for:
# The following code to create a dataframe and remove duplicated rows is always executed and acts as a preamble for your script: # dataset = pandas.DataFrame(TmName, OppName, Selection1, Selection2) # dataset = dataset.drop_duplicates() # Paste or type your script code here: import networkx import matplotlib.pyplot as plt tm1_l = list(dataset.Selection1) tm1 = tm1_l[1] tm2_l = list(dataset.Selection2) tm2 = tm2_l[1] # load edges file from csv left = list(dataset.TmName) right = list(dataset.OppName) graph = networkx.Graph() graph.add_edges_from(list(zip(left, right))) # Test single path shortest_path = networkx.shortest_path(graph, tm1, tm2) edges_2team = dataset[dataset.TmName.isin(shortest_path)] left_2team= list(edges_2team['TmName']) right_2team = list(edges_2team['OppName']) graph_2team = networkx.Graph() graph_2team.add_edges_from(list(zip(left_2team, right_2team))) plt.title(tm1 + " " + tm2) networkx.draw(graph_2team, with_labels=True) plt.show()as it allows to create this chart:
Be aware of this line:
networkx.draw(graph_2team, with_labels=True)
Hopefully, this is what you are looking for.Regards,
Tom
dreambennie
1 year agoNew Member
Hey everyone, just want to check with you is you networkx python script working when the report be published to server?
I'm facing a problem that the python script works well in desktop, and it works in my gateway server too. But when I publish the report to server with using the same gateway server to support refresh.
The python script fails with the following error:
Script Runtime Error
[S-8b0f9ca0-eb61-491c-a98d-cc6bf0c07d18][S-8b0f9ca0-eb61-491c-a98d-cc6bf0c07d18]ModuleNotFoundError: No module named 'networkx'
Please try again later or contact support. If you contact support, please provide these details.
Thansk.
Thansk.