Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 从相对路径将数据加载到power BI中_Powerbi - Fatal编程技术网

Powerbi 从相对路径将数据加载到power BI中

Powerbi 从相对路径将数据加载到power BI中,powerbi,Powerbi,我正试图找到一种解决方案,从相对路径加载外部数据文件,这样当其他人打开我的PBIX时,它仍能在他/她的计算机上工作 非常感谢。我认为这还不可能 请添加您对的支持,以便Microsoft Power BI团队更有可能将其作为新功能添加。相对路径是当前Power BI支持的* 为了减轻痛苦,您可以创建一个包含文件所在路径的变量,并使用该变量确定每个表的路径。这样,您只需更改一个位置(该变量),所有表将自动指向新位置 创建一个空白查询,给它一个名称(例如dataFolderPath),并键入文件所

我正试图找到一种解决方案,从相对路径加载外部数据文件,这样当其他人打开我的PBIX时,它仍能在他/她的计算机上工作


非常感谢。

我认为这还不可能


请添加您对的支持,以便Microsoft Power BI团队更有可能将其作为新功能添加。

相对路径是当前Power BI支持的*


为了减轻痛苦,您可以创建一个包含文件所在路径的变量,并使用该变量确定每个表的路径。这样,您只需更改一个位置(该变量),所有表将自动指向新位置

创建一个空白查询,给它一个名称(例如
dataFolderPath
),并键入文件所在的路径(例如
C:\Users\augustoproiete\Desktop

创建变量后,在
高级编辑器中编辑每个表
,并将变量与文件名连接起来

e、 g.将其更改为
dataFolderPath&“\data.xlsx”,而不是
“C:\Users\augustoproiete\Desktop\data.xlsx”


您还可以投票/观看此功能请求,以便在其实现时收到通知:

您也可以使用“参数”功能。 1.创建一个新参数,如“PathExcelFiles”

  • 编辑“源”条目

  • 完成了

    我无法忍受不可能使用相对路径的事实,但最后我不得不

    所以我试图找到一个半体面的可接受的解决办法。 使用Python脚本,至少可以访问用户%HOME%目录

    let
        PySource = Python.Execute("from pathlib import Path#(lf)import pandas as pd#(lf)dataset = pd.DataFrame([[str(Path.home())]], columns = [1])"),
        homeDir = Text.Trim(Lines.ToText(PySource{[Name="dataset"]}[Value][1])),
        ...
    
    R-Script也可以这样做,但没有做到

    有人知道在“Power”查询中获取%HOME%目录的更好的解决方案吗?我很高兴有一个

    然后我在我的工作目录install.bat:

    @ECHO OFF
    if exist "%HOME%\.pbiTemplatePath\filepath.txt" GOTO :ERROR
    
    #This is are the key commands
    mkdir "%HOME%\.pbiTemplatePath"
    echo|set /p="%cd%" > "%HOME%\.pbiTemplatePath\filepath.txt"
    
    GOTO :END
    
    #Just a little message box
    :ERROR
    SET msgboxTitle=There is already another working directory installed.
    SET /p msgboxBody=<"%HOME%\.pbiTemplatePath\filepath.txt"
    SET tmpmsgbox=%temp%\~tmpmsgbox.vbs
    IF EXIST "%tmpmsgbox%" DEL /F /Q "%tmpmsgbox%"
    ECHO msgbox "%msgboxBody%",0,"%msgboxTitle%">"%tmpmsgbox%"
    WSCRIPT "%tmpmsgbox%"
    :END
    
    @ECHO OFF
    if exist "%HOME%\.pbiTemplatePath\filepath.txt" RMDIR /S /Q "%HOME%\.pbiTemplatePath\"
    
    所以在“动力”BI中,我做到了:

    let
        PySource = Python.Execute("from pathlib import Path#(lf)import pandas as pd#(lf)dataset = pd.DataFrame([[str(Path.home())]], columns = [1])"),
        homeDir = Text.Trim(Lines.ToText(PySource{[Name="dataset"]}[Value][1])),
        workingDirFile = Text.Combine({homeDir, ".PbiTemplatePath\filepath.txt"} , "\"),
        workingDir = Text.Trim(Lines.ToText(Csv.Document(File.Contents(workingDirFile),[Delimiter=";", Columns=1, QuoteStyle=QuoteStyle.None])[Column1])),
        ...
    
    现在,如果我的git存储库(包含一个“Power”BI模板文件和一些配置文件,说明从何处加载数据的模板以及安装/卸载脚本)。安装必须执行一次,任何人都不必复制和粘贴任何路径


    如果有任何改进的建议,我都很高兴。这不是高谭应得的解决方案。。。Gotham值得一个更好的。

    老实说,我不认为他们会实施它,因为这可能会损害他们销售PowerBI发布服务器许可证的商业模式。因为有了相对路径,pbix文件可以通过Nextcloud等轻松共享。。。