【问题标题】:How to check if excel sheets exists in Kettle ETL?如何检查 Kettle ETL 中是否存在 excel 表?
【发布时间】:2020-09-26 10:43:08
【问题描述】:

我正在循环一个目录并加载所有工作表名称类似于“数据”的 Excel 文件。

如果没有名为“数据”的工作表,我预计转换将中止或引发错误。我尝试使用“switch-case”,如果工作表名称不等于“Data”,则将默认步骤设置为“Abort”,但这不起作用。工作流程将同时进入“中止”和“数据”方向。

那么我是如何做到这一点的呢?就像在 Kettle 中做 if else 一样?在 SSIS 中,我可以设法使用变量来确定工作方向,但我似乎无法在 Kettle 中使用变量。

【问题讨论】:

    标签: etl kettle


    【解决方案1】:

    我已经找到了解决方案。
    使用简单评估来检查变量值。
    在作业中设置此变量值:

    • 从 Microsoft Excel 输入中获取工作表名称
    • 在作业结束时使用 [Set Variable] 输出此变量,给它一个虚拟变量值
    • 在父转换时检查该变量,如果等于特定值,则继续工作流程,否则中止

    【讨论】:

      【解决方案2】:

      您不能在同一个转换中设置和读取变量。 在您的情况下,按“分组依据”步骤获取“数据表”的计数,然后在 count=0 的情况下简单地调用 Abort。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        相关资源
        最近更新 更多