excel - 上电查询Error.Record

标签 excel error-handling powerquery

如何吐出记录,以错误记录的形式显示在工作簿查询 Pane 中?

例如,如果[AcctClass] <> [_checkAcctClass]列不匹配,则将该记录拒绝为错误

let 
    source = AccountIDsWithDuplicates,
    grouped = Table.Group(source, {"AcctID"}, {{"AcctClass", each List.Max([AcctClass]), type logical}, {"_checkAcctClass", each List.Min([AcctClass]), type logical}, {"Sum_Bal", each List.Sum([#"Bal_EUR"]), type number}}),
    // Make sure accounts only have one AcctClass 
    ErrorRecords = Table.SelectRows(grouped,  each([AcctClass] <> [_checkAcctClass])
in
    grouped

最佳答案

组合Table.TransformRows来创建错误,然后将它们重新放入Table.FromRecords的表中可能会做您想要的?

= Table.FromRecords(Table.TransformRows(grouped, each if [AcctClass] <> [_checkAcctClass] then error "didn't match" else _), Value.Type(grouped))

如果第一行有错误,则Table.FromRecords将完全中断,但是您可以通过告诉它期望的表类型来解决此问题。

混搭示例:
let
    Source = Csv.Document("AcctID,AcctClass
        1,false
        1,true
        2,true
        2,true"),
    #"Promoted Headers" = Table.PromoteHeaders(Source),
    AccountIDsWithDuplicates = Table.TransformColumnTypes(#"Promoted Headers",{{"AcctID", Int64.Type}, {"AcctClass", type logical}}),
    grouped = Table.Group(AccountIDsWithDuplicates, {"AcctID"}, {{"AcctClass", each List.Max([AcctClass]), type logical}, {"_checkAcctClass", each List.Min([AcctClass]), type logical}}),
    ErrorRecords = Table.FromRecords(Table.TransformRows(grouped,  each if [AcctClass] <> [_checkAcctClass] then error "didn't match" else _), Value.Type(grouped))
in
    ErrorRecords

关于excel - 上电查询Error.Record,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155812/

相关文章:

excel - Excel 工作表的单元格类型显示为数字,实际上是文本类型

excel - 如何插入嵌入图片?

c# - 是否检查null

PowerBI:列中的最后 3 个非空白值

Excel 有注释和注释。需要将 Power Query 与注释和评论结合起来

java - 从用脚本编写的网页将数据导入到 Excel

python - 使用 win32com.client 将 xls 重新保存到 xlsx 时,如何禁用/自动回答有关宏/VBA 项目的对话框?

javascript - 如何禁用 WebBrowser 控件中的 JavaScript 警告?

c# - Application_Error异常处理,重定向无限循环和CSS加载问题

excel - 删除工作簿中的所有查询