Power Query – 差异权限不存在的列

我正在Excel2016中工作,并且已经生成了一个PowerQuery来从数据库中获取信息,这个服务器/数据库是从工作簿中的一个命名字段填充的,当在一些机器上运行时(各种机器上的Excel开发正在多个账户上进行)这执行得很好,但QA机器有以下错误。

“Query'TaskIdProc'(step'AutoRemovedColumns1)正在访问具有不能共同使用的隐私级别的数据源,请重build这个数据组合”

正在使用的代码如下

let ServerName = Text.From(Excel.CurrentWorkbook(){[Name="ServerName"]}[Content]{0}[Column1]), DatabaseName = Text.From(Excel.CurrentWorkbook(){[Name="DatabaseName"]}[Content]{0}[Column1]), TaskID = Text.From(Excel.CurrentWorkbook(){[Name="TaskName"]}[Content]{0}[Column1]), Source = Sql.Database(ServerName,DatabaseName, [Query="EXECUTE dbo.bsp_DeadlineHistoryByTaskID @Task_ID_Param ='" & TaskID & "'" ]), #"Removed Columns" = Table.RemoveColumns(Source,{"TaskGuid", "Task_ID", "InitialDeadline"}), #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"NewDeadline", "New Deadline"}, {"RequestedDeadline", "Requested Deadline"}, {"NewState", "State"}, {"ActionTaken", "Action"}, {"ReasonGiven", "Reason"}, {"UserName", "Who"}, {"ChangeTimeStamp", "When"}}), #"Reordered Columns" = Table.ReorderColumns(#"Renamed Columns",{"New Deadline", "Difference", "State", "Action", "Reason", "Comment", "Who", "When", "Requested Deadline"}) in #"Reordered Columns" 

正如你所看到的,错误消息中的步骤在查询中不存在,现在我已经打到了一堵砖墙。 我已经尝试确保每行仅使用一个数据源。 将所有数据连接清除后,将其传递给QA。 确保导致问题的步骤不存在。

这是Excel 2016,需要向后兼容2013年。

该错误意味着该步骤将两个具有不兼容的隐私级别的源一起使用。 例如,如果您当前的工作簿已标记为“私有”,但您的SQL数据库已标记为“组织”,则评估将被阻止,因为您将信息从私有数据源发送到不太敏感的数据源(数据库)。

有几种可能性,为什么你在一些机器上看到它而不是其他的:

  • 机器上的隐私级别在全局范围内被禁用,而QA机器上的隐私级别仍处于启用状态。
  • 当前工作簿和SQL数据库的隐私级别在QA机器和其他机器之间是不同的。

您可以通过转到“选项”,单击“全局”标题下的“隐私”并检查“隐私级别”下select的内容来检查是否是第一种情况。

对于第二种情况,您可以通过转到数据源设置,select数据源并单击编辑权限来检查特定数据源的隐私级别。