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



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

"查询'TaskIdProc'(步骤'AutoRemovedColumns1')正在访问具有无法一起使用的隐私级别的数据源。请重建此数据组合">

使用的代码如下

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 计算机和其他计算机之间是不同的。

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

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

最新更新