В настоящее время я работаю над проектом, который был бы значительно улучшен, если бы я мог правильно понять этот SQL!Я хочу ВЫБРАТЬ различные переменные, окружающие транспортные средства, для представления в виде таблицы в Таблице, но при создании вычисляемого поля (в таблице) и использовании условного формата If-then не все параметры отображаются в графике, и некоторые результатыдаже неправильно представлены определенными опциями!
Например:
В приведенном ниже операторе скелета создается поле с именем MissingNumber, в котором, если «----- 1» равно true, тогда MissingNumber примет значение «Число 1».
If ------1 Then 'Number 1'
ELSEIF
If ------2 Then 'Number 2'
ELSEIF
If ------3 Then 'Number 3'
ELSEIF
If ------4 Then 'Number 4'
ELSE 'Number 5'
END
В соответствии с указанным выше форматом в качестве руководства, «Номер 1», «Номер 2» и «Номер 5» представлены категорически, но НЕ «Номер 3» или «Номер 4», хотя я знаю, что данныеудовлетворяет 'Number 3' и 'Number 4' во многих записях!
Я считаю, что здесь есть проблема с порядком (или какая-то другая непредвиденная проблема), поэтому я попытался использовать оператор case:
CASE
WHEN (Rtrim((v.plt_no)) is null) or (Rtrim(v.plt_no = '')) THEN "Plate Only"
WHEN (v.rnw_dt is null) THEN "Expiration Only"
WHEN ((DocumentTemplate is null) or (DocumentTemplate = '')) THEN "Registration Only"
WHEN (Rtrim((v.plt_no)) is null or Rtrim(v.plt_no = '')) AND (v.rnw_dt is null) THEN "Plate & Expiration"
WHEN (Rtrim((v.plt_no)) is null or Rtrim(v.plt_no = '')) AND ((DocumentTemplate is null) or (DocumentTemplate = '')) THEN "Plate & Registration"
WHEN (v.rnw_dt is null) AND ((DocumentTemplate is null) or (DocumentTemplate = '')) THEN "Expiration & Registration"
ELSE "All Good"
END AS MissingInfo
Мой ВОПРОС: Какой совет имеет сообщество о том, следует ли мне продолжать пробовать формат IF-Then в таблице или создавать переменную Missing Info в SQL?
ТАКЖЕ с предложеннымВыбор, как я могу повлиять на код, чтобы ВСЕ параметры были правильно представлены кросс-таблицей ("MissingInfo" на стороне строки, "Состояние номерного знака" на стороне столбца).Я связал фрагмент кода и пример кросс-таблицы для справки!Пожалуйста, дайте мне знать, если будет что-то еще, что мне нужно будет включить, чтобы прояснить это!** ПРИМЕЧАНИЕ на изображении таблицы "Только пластина" НЕ отображается на графике!
Код-SNIP
Tableau-CrossTab
ResultSet для теста «Plate Only»
- Результаты неожиданные, поскольку отсутствует plt_no (что мы хотим), но поле шаблона документа имеет значение NULL в 3 записях.В этом случае 3 NULL в поле DocumentTemplate должны квалифицировать эти записи как «Только для таблички и регистрации» в переменной MissingInfo