Как создать вычисляемое поле, которое использует данные нескольких строк в tableau?

#tableau-api

#tableau-api

Вопрос:

У меня есть такого рода данные :

 -----------------------------------------------------
| ID      | City       |    District     |  Amount  |
-----------------------------------------------------
| 121    | Delhi       |    D1           |  1000$   |
| 122    | Delhi       |    D2           |  1200$   |
| 123    | Moscow      |    M1           |  1125$   |
| 124    | Delhi       |    D3           |  7600$   |
| 125    | Shanghai    |    S1           |  3400$   |
| 126    | Shanghai    |    S2           |  3100$   |
| 127    | Moscow      |    M2           |  9900$   |
-----------------------------------------------------
  

Я хочу создать табличное вычисление, которое в основном проверяет, есть ли некоторые из них в некоторых District . ………. City

 // Calculated field

IF [city] = 'Delhi'
AND [District] = 'D1'
AND [District] = 'D2'
THEN "Category 1"

ELSE IF [city] = 'Moscow'
AND [District] = 'M1'
AND [District] = 'M3'
THEN "Category 2"
END
  

Я знаю, что это вычисляемое поле неверно. Я не могу найти обходной путь для создания той же логики, что присутствует в (неправильном) вычисляемом поле здесь. Как правильно создать это вычисляемое поле?

Комментарии:

1. Можете ли вы добавить ожидаемый результат вычисляемого поля из ваших данных выше? Например, для Dehli было бы суммированием D1 и D2, чтобы получить 2200 долларов?

2. @DanielSims Да, я могу это сделать. Но главное, что я хочу знать, это как я могу проверить условия в IF инструкции? Для простоты я собираюсь отредактировать вопрос.

3. Я отредактировал вопрос с таблицей, которая будет показывать потенциальные результаты вашего вычисления. Пожалуйста, измените его соответствующим образом. Это поможет при попытке понять логику ваших вычислений и желаемые результаты.

4. Похоже, что редактирование нуждается в экспертной проверке, поэтому это займет некоторое время. Однако взгляните, когда оно появится. Тем временем я попытался дать ответ, основанный на том, что, как мне кажется, вы пытаетесь сделать.

5. К сожалению, я не думаю, что это сработает. Вычисляемые поля Tableau обычно работают со своей собственной строкой, в табличных вычислениях есть несколько исключений: previous() будет просматривать предыдущую строку, а функции window_xxx() могут подсчитывать или суммировать количество строк. Здесь, по сути, задается вопрос о поиске во всех строках определенной пары значений (представьте, что набор данных состоял из 1 миллиарда строк, Москва M1 имела идентификатор 1, а Москва M3 — идентификатор 1,000,000,000). Что я мог бы предложить, так это Tableau Prep для изменения формы данных до их поступления в Tableau Desktop. Хотел бы я, чтобы у меня были новости получше.