Syntax 满足条件时强制SPSS语法中出现错误

Syntax 满足条件时强制SPSS语法中出现错误,syntax,error-handling,try-catch,spss,Syntax,Error Handling,Try Catch,Spss,我正在检查语法,看看是否所有的字符串字段都有值。这看起来像这样: IF(STRING ~= ""). 现在,如果存在没有值的字段,我想强制执行一个错误,而不是过滤或计算变量。我正在运行很多这样的脚本,我不想继续手动检查数据集。相反,我只想接收一个错误并停止执行 这在SPSS语法中可能吗?首先,您可以使用count有效地计算字符串变量中的空格: 计数空白=A B C 其中列出要检查的字符串变量。因此,如果空格之和大于0,则希望引发错误。首先聚合到新数据集并激活它: 数据集声明和。 聚合/输出文件

我正在检查语法,看看是否所有的字符串字段都有值。这看起来像这样:

IF(STRING ~= "").
现在,如果存在没有值的字段,我想强制执行一个错误,而不是过滤或计算变量。我正在运行很多这样的脚本,我不想继续手动检查数据集。相反,我只想接收一个错误并停止执行


这在SPSS语法中可能吗?

首先,您可以使用count有效地计算字符串变量中的空格:

计数空白=A B C

其中列出要检查的字符串变量。因此,如果空格之和大于0,则希望引发错误。首先聚合到新数据集并激活它:

数据集声明和。 聚合/输出文件=总和/计数=总和空格

<> P>硬部分是当空白计数大于0时停止作业。您可以将作业放入语法文件中,并使用INSERT with ERROR=STOP运行作业,也可以通过实用程序或spj生产设施作业命令行上的-production标志将其作为生产作业运行

下面是如何在条件上生成错误

DATASET ACTIVATE sum.
begin program.
import spssdata

curs = spssdata.Spssdata()
count = curs.fetchone()
curs.CClose()

if count[0] > 0:
    spss.Submit("blank values exist")
end program.
DATASET CLOSE sum.

此代码读取聚合文件,如果空白计数为正,则发出无效命令,导致错误,从而停止作业。我会调查一下的