Power Query - 不存在的列的差异权限
Power Query - Difference Permissions for a column that doesn't exist
我在 Excel2016 年工作并制作了一个 PowerQuery 来从数据库中获取信息,这个 server/database 是从工作簿中的命名字段填充的,当 运行一些机器(各种机器 Excel 正在通过多个帐户进行开发)这执行得很好,但是 QA 机器有以下错误。
"Query 'TaskIdProc' (step'AutoRemovedColumns1') is accessing data sources that have privacy levels which cannot be used together. Please rebuild this data combination"
正在使用的代码如下
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 机器和其他机器之间是不同的。
您可以检查是否是第一种情况,方法是转到“选项”,单击“全局”header 下的“隐私”,然后检查“隐私级别”下的选择。
对于第二种情况,您可以通过转到数据源设置、选择数据源并单击编辑权限来检查特定源的隐私级别。
我在 Excel2016 年工作并制作了一个 PowerQuery 来从数据库中获取信息,这个 server/database 是从工作簿中的命名字段填充的,当 运行一些机器(各种机器 Excel 正在通过多个帐户进行开发)这执行得很好,但是 QA 机器有以下错误。
"Query 'TaskIdProc' (step'AutoRemovedColumns1') is accessing data sources that have privacy levels which cannot be used together. Please rebuild this data combination"
正在使用的代码如下
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 机器和其他机器之间是不同的。
您可以检查是否是第一种情况,方法是转到“选项”,单击“全局”header 下的“隐私”,然后检查“隐私级别”下的选择。
对于第二种情况,您可以通过转到数据源设置、选择数据源并单击编辑权限来检查特定源的隐私级别。