检查Power Query表是否为空然后返回其他内容

我有一个Power Query表,它从ODBC连接中提取数据,过滤数据,然后将其返回到Excel中。 然后,我在excel表中添加了几个列,这些列正在使用Excelnetworking日公式。 我的问题是,偶尔function查询表将是空的,当空的NetWorkdays公式从Excel表中消失。

我的问题是这个。 有没有办法来检查是否功率查询是空的,并返回0或其他的东西,将防止在Excel单元格中的公式消失,或防止Excel删除公式的表,如果表是空的?

我find了一种方法来使Power Query在查询结果中没有数据的情况下返回一个空行,但这是一个解决方法。

  1. 在工作簿中创build一个与Power Query返回的表具有完全相同列的表(不包括为NETWORKDAYS公式添加的列)。 表格应该只有一行可以是空白的。
  2. 从刚刚创build的表中创build一个新的查询,并将ODBC查询附加到它。
  3. 添加索引从1(这将允许我们确定查询中的哪一行来自您创build的表,以便我们可以在您的ODBC查询返回行时将其过滤掉)
  4. 创build您的ODBC查询的副本。 这样我们就可以确定查询是否会返回行。
  5. 在查询编辑器中打开重复项。 添加一个名为“Group”的自定义列,使用公式=“Group”在每一行中添加一个具有“Group”的列。
  6. 在“变换”选项卡上,通过在步骤3中创build的“组依据”和“组”列以及使用“计数行”操作命名为“计数”的新列。 这将返回一个包含两列(Group和Count)的单行表。
  7. 使用此公式添加另一个自定义列= if [Count]> 0 then 1 else 0
  8. 现在返回到您在步骤2-3中创build的附加查询,并将其与步骤4-7中创build的查询合并。 将它合并到索引列(从步骤2-3查询)和步骤7(到步骤4-7查询)中添加的自定义列中。 一定要使用Join Kind Left Anti(这将只返回在第二个查询中没有匹配的行。

最后,如果没有从ODBC查询返回的数据,它将加载您在步骤1中创build的表中的行。如果ODBC查询中有数据,则步骤1表中的行将被过滤掉左反join。