我是PowerBI新手,到目前为止,我已经能够创建一个函数,将请求发送到本地数据库并检索记录,然后将其转换为数据帧。唯一的问题是,每次我运行它时,它总是返回相同的数据。只有当我创建一个新函数并第一次运行它时,它才会获得最新的数据。以下是PowerBI查询:
= () => let
Source = Python.Execute("import requests#(lf)
import pandas as pd#(lf)import json#(lf)#(lf)def get_modifier(supplier=None, date=None):#(lf) print(""SUPPLIER"", supplier)#(lf) headers = {#(lf) ""Content-Type"": ""application/json""#(lf) }#(lf)#(lf) data = {#(lf)
""query"": '''query getOneModi($supplier:String, $date:String){#(lf) modifier(supplier:$supplier, date:$date){#(lf) modifier#(lf) supplier#(lf) date#(lf) }#(lf) }''',#(lf)#(lf) ""variables"": {""supplier"": supplier}#(lf) }
#(lf)#(lf) data = json.dumps(data)#(lf) response = requests.post(""http://127.0.0.1:8000/graphql/"", headers=headers, data=data)#(lf) info = response.text#(lf) info = json.loads(info)#(lf) # print(""MODI RESPONSE"", info, ""\n"")#(lf)#(lf) #(lf)
return info[""data""][""modifier""][0][""modifier""]#(lf)#(lf)data = get_modifier(""Esso"")#(lf)data = json.loads(data)#(lf)d = {""Moncton"": data[""Moncton""], ""Sherbrooke"": data[""Sherbrooke""], ""Julie"":data[""Julie""]}#(lf)modi_df = pd.DataFrame(data=d, index=[0])#(lf)print(modi_df)"),
Custom1 = Source,
modi_df1 = Custom1{[Name="modi_df"]}[Value],
#"Changed Type" = Table.TransformColumnTypes(modi_df1,{{"Moncton", type text}})
in
#"Changed Type"
我认为问题不在于Power查询本身,而在于我不熟悉PowerBI特性。我如何让函数每次运行一个新查询而不是返回旧数据,这是可能的吗
好的,我只是在Home选项卡中按下“refresh all”,它再次运行该函数并返回最新的数据
我过去没有使用Power BI使用Python获取数据,但每当我遇到数据不刷新的问题时,我会通过以下步骤检查数据缓存管理选项: 文件>;选项和设置>;选项>;数据加载>;清除缓存
检查选项,看看是否有办法不缓存结果集。希望这能奏效
相关问题 更多 >
编程相关推荐