cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Laila92
Helper V
Helper V

Query contains unknown function name: Python.Execute

I used a Python script in Power Query to pull data from a Google Sheet. It works fine in PBI Desktop, but I get an error for the automated refresh:

You can't schedule refresh for this dataset because the following data sources currently don't support refresh:

Discover Data Sources
Query contains unknown function name: Python.Execute Unknown function name: Python.Execute is a valid Mashup library function name format. Hence fail the operation.

 
This is the Python script that works on desktop but not for sched. refresh (anonimized the spreadsheet key):

import numpy as np
import pandas as pd
pd.options.mode.chained_assignment = None
import re
import gspread
import csv
from oauth2client.service_account import ServiceAccountCredentials
from df2gspread import df2gspread as d2g
import glob
from datetime import datetime
from datetime import date
import calendar
import requests
from dateutil.parser import parse




def connect_to_gsheets():
    scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']
    credentials = ServiceAccountCredentials.from_json_keyfile_name(r'C:\Users\Laila\Documents\Python Scripts\google_spreadsheet_secret_key.json', scope)
    gc = gspread.authorize(credentials)
    return gc,credentials

def read_cost_sheet():
    gc,credentials = connect_to_gsheets()
    spreadsheet_key = 'xxxx'
    spreadsheet = gc.open_by_key(spreadsheet_key)
    worksheet = spreadsheet.worksheet("DATA")
    list_of_lists = worksheet.get_all_values()
    data=pd.DataFrame(list_of_lists)
    data.columns = data.iloc[0]
    return data
cost_data=read_cost_sheet()
print(cost_data)

 
I can't find what part of the script throws the error.

1 ACCEPTED SOLUTION
Greg_Deckler
Super User
Super User

Do you have a gateway installed and is Python installed on the gateway?


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

7 REPLIES 7
JohnnyK
Advocate II
Advocate II

Use Python in Power Query Editor (it mentions the use of Gateway)

https://docs.microsoft.com/en-us/power-bi/connect-data/desktop-python-in-query-editor

 

Use personal gateways in Power BI (it teaches how to install Gateway)

https://docs.microsoft.com/en-us/power-bi/connect-data/service-gateway-personal-mode

 

Anonymous
Not applicable

Adding this just in case the first solution doesn't work for other people:

- Something that works for me is in the PBI file change the privacy level for Python to "Private" and republish.

Greg_Deckler
Super User
Super User

Do you have a gateway installed and is Python installed on the gateway?


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...

I did not, had not realized that was necessary, but I now installed it and it worked!

how did you do that. Thanks in advance

How can I install Python on the gateway?Thanks!

Great! 🙂

@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Vote for T-Shirt Design

Power BI T-Shirt Design Challenge 2023

Vote for your favorite t-shirt design now through March 28.

March 2023 Update3

Power BI March 2023 Update

Find out more about the March 2023 update.

March Events 2023A

March 2023 Events

Find out more about the online and in person events happening in March!

Top Solution Authors
Top Kudoed Authors