Я работаю на сервере Tableau, но считаю, что проблема, с которой я сталкиваюсь, не соответствует серверу Tableau конкретно.
Я использую два источника данных ds1
и ds2
, которые объединены с использованием измерения Id
. ds1
имеет поле city
, а ds2
имеет поле district
. Каждому Id
соответствует только 1 город, но может быть несколько районов, соответствующих Id
.
Я создал вычисляемое поле Points
в ds2
, которое описано в сегменте кода.
Я исследовал различные сайты и блоги (включая поддержку таблиц). Я нашел причину этого и могу ошибаться. Функция ATTR
, которая работает на уровне строк и определяет, является ли строка уникальной, выводит dimension
, в противном случае выводит '*'
. Я думаю, что когда я присоединился к этим двум таблицам, измерение district
в ds2
может иметь '*'
вместо фактических district
значений, поэтому он не сможет сравнивать условия в операторах if Point
.
//Point//
IF [city] == "Delhi"
AND [district] == "Dist1"
AND [district] == "Dist2"
THEN "100 Section"
ELSEIF [city] == "Mumbai"
AND [district] == "Dist11"
AND [district] == "Dist12"
THEN "200 Section"
ELSE "Other Section"
END
Когда я вставляю данные, которые удовлетворяют условиям в вычисляемом поле, они попадают в секцию Other
в Point
. Я хочу, чтобы они шли в нужную секцию.
Например
Id = 19
city = Delhi
district = Dist1
district = Dist2
district = Dist3
Это должно войти в 100 Section
, но оно входит в Other Section
. Какие изменения я должен сделать или добавить, чтобы Point
работал правильно?