Таблица rawsqlagg_real

Может ли кто-нибудь дать мне небольшое руководство по функции rawsqlagg_real в Tableau. Какой для него правильный синтаксис, когда он используется для получения данных из MySQL. Я использовал его в соответствии с моим пониманием, но получаю сообщение об ошибке «Нет такого столбца [__measure__3]».

Код:

 RAWSQLAGG_REAL("select count(Film Id) from flavia.TableforThe_top_10percent_of_the_user where count(distinct(User Id)) = %1",[it sucks])

person Gaurav Gupta    schedule 10.09.2015    source источник
comment
Не могли бы вы показать код, который вы пробовали?   -  person Andrew LaPrise    schedule 11.09.2015
comment
Спасибо, Андрей, за внимание к моему вопросу. Вот мой код: RAWSQLAGG_REAL (выберите количество (Film Id) из flavia.TableforThe_top_10percent_of_the_user, где количество (отличное (User Id)) =% 1, [это отстой])   -  person Gaurav Gupta    schedule 11.09.2015
comment
Я бы добавил этот код к вашему вопросу, а не в комментариях. Это сделает его более читабельным и доступным для людей, пытающихся ответить на этот вопрос.   -  person Andrew LaPrise    schedule 11.09.2015
comment
Есть какая-то конкретная причина, по которой вы не используете Tableau 9?   -  person Andrew LaPrise    schedule 11.09.2015
comment
Я использую Tableau 9.0.   -  person Gaurav Gupta    schedule 11.09.2015
comment
Обычно существуют гораздо более эффективные и удобные в обслуживании способы анализа данных в Tableau, чем использование Raw SQL (или даже пользовательского SQL). Вычисленные наборы, вычисления LOD, смешивание данных, вычисления таблиц обычно позволяют выполнить то, что вам нужно. Я бы избегал необработанного sql и даже пользовательского sql, за исключением тех редких случаев, когда он вам абсолютно необходим, например, для доступа к нестандартной функции, предоставляемой вашим сервером базы данных.   -  person Alex Blakemore    schedule 11.09.2015
comment
Попробуйте перефразировать свой вопрос с помощью имеющихся у вас таблиц (возможно, упрощенных) и расчетов, которые вы хотите выполнить (возможно, упрощенных). Понимание концепций SQL очень полезно, но вы быстро продвинетесь дальше с Tableau, если не будете пытаться вернуться к использованию SQL из Tableau обычно. Это быстрее, если Tableau сгенерирует SQL в ответ на ваши действия.   -  person Alex Blakemore    schedule 11.09.2015


Ответы (2)


Я вижу здесь несколько проблем

  1. Вместо ГДЕ используйте HAVING
  2. У вас есть имена столбцов, такие как «Идентификатор фильма», вместо этого вы должны написать их как «Идентификатор фильма».

Хотя я должен сказать, что это лучше делать с расчетами LOD, поскольку Tableau сможет лучше оптимизировать запросы таким образом. Кроме того, он менее подвержен ошибкам и его намного проще писать.

person Bora    schedule 24.02.2016

Я обнаружил здесь еще одну проблему в дополнение к использованию having вместо where. Значение фильтра должно быть числовым, или оператор должен быть like, а не =.

where count(distinct(User Id)) = **%1**
person Jayanti    schedule 28.07.2016