Как добавить столбец, который вычитает разницу между двумя существующими столбцами? GREL в OpenRefine - PullRequest
2 голосов
/ 03 октября 2019

Поэтому я пытаюсь найти простой способ создания нового столбца, который отображает разницу между двумя существующими столбцами (каждый с номерами) ... Я не могу найти правильное выражение GREL ....

Поэтому я пытаюсь найти количество проданных товаров с помощью столбца с именем «stock_before» и другого с именем «stock_after».

Я нажимаю на столбец редактирования в столбце «stock_before» изатем добавьте столбец на основе этого столбца.

Для GREL, который я уже ввел, это: value-ячейки ["Stock_after"]. Он не возвращает синтаксической ошибки, но все же все ячейки для предварительного просмотра говорят "null" ... Я преобразовал значениестолбцы к числам.

Для Python я пробовал: substract (value, "Stock_after") То же самое, без синтаксической ошибки, но все равно все равно null.

Это кажется настолько смехотворно простым, но я не смог найтиответ ... Вы можете догадаться, что я довольно новичок во всем этом :) Надеюсь, что кто-то может мне помочь!

спасибо за ваше терпение прочитать это и спасибо за ваше время, если вы ответите!

Мне бы хотелось что-то похожее на это (3 столбца):

Stock_before, Stock_after, dif

1,1,0

3,1, 2

4,4,0

2,1,1

1 Ответ

0 голосов
/ 03 октября 2019

В GREL выражение cells["Stock_after"] возвращает объект Cell, представляющий соответствующую ячейку, а не фактическое значение этой ячейки. Чтобы получить значение, вам нужно использовать cells["Stock_after"].value.

Таким образом, ваше окончательное выражение GREL должно быть value - cells["Stock_after"].value.

. Вы также должны убедиться, что ваши значения хранятся как цифры, а не строки: они должны появиться в таблице зеленым цветом. В противном случае сначала используйте операцию «Для нумерации» в обоих столбцах.

Подробнее об объектах GREL и Cell можно узнать здесь: https://github.com/OpenRefine/OpenRefine/wiki/Variables

...