我正在尝试从特定应用程序中提取客户的架构版本。根据设计,客户可以使用他们想要的任何模式编号。一些客户正在插入值6.0,而其他客户则插入“ 6.0”,当我想返回每个模式的结果数时,splunk将这些值作为单独的列返回。 当我使用convert或eval(tostring,tonumber)时,某些值不会返回。
我如何才能实现所有数据都不会丢失,但是我将获得1列用于6.0和'6.0'的数据?
统计信息按customerAccount,schemaVersion | xyseries customerAccount schemaVersion计数
答案 0 :(得分:0)
您将获得多列,因为xyseries
将'schemaVersion'列中的多个值转换为多列。规范化架构版本,您的列将更少,并且可能不再需要xyseries
。
遗憾的是,没有一种标准化数据的方法-它取决于数据本身的性质。正如您所发现的,当输入字符串不是有效数字时,tonumber
将失败。您可以使用| eval schemaVersion=trim(schemaVersion, "'\"")
删除引号。第二个参数可以扩展为要从版本字符串末尾删除的任何字符。