Во-первых, я использую Pentaho CE 8.0 и не являюсь экспертом по Pentaho.
Вопрос кажется простым, но я не могу заставить его работать. Я пытаюсь использовать на панели инструментов простой параметр для условия WHERE в запросе MySQL. Макет Bootstrap имеет 3 столбца, по одному для каждого компонента (фильтр, текст, таблица).
Простой параметр:
- Name: salesrep_selection
- Property value: mike
Компонент фильтра (для выбора торгового представителя):
- Name: salesrep_selection_filter
- Parameter: salesrep_selection
- Values Array: [["mike","Mike"],["paul","Paul"],["peter","Peter"]]
- Value as Id: false
Текстовый компонент: (просто для проверки правильности настройки параметра):
- Name: selection_show_text
- Listeners: ["salesrep_selection"]
- Expression: function() {return this.dashboard.getParameterValue("salesrep_selection");}
Таблица (список клиентов по торговым представителям):
- Name: customers_list_table
- Listeners: ["salesrep_selection"]
- Datasource: customers_list_data
Источник данных (запрос MySQL):
- Name: companies_list_data
- Jndi: business_datawarehouse
- Query: SELECT customerid,customername FROM customers WHERE salesrep=${salesrep_selection}
- Parameters: [] (empty)
Когда я запускаю панель инструментов, я получаю список выбора с именами торговых представителей. Когда я выбираю один, идентификатор отображается в текстовом компоненте, но таблица остается пустой «Нет доступных данных в таблице».
Если я жестко запрограммирую условие "WHERE salesrep='mike'"
, я получу список клиентов.
С параметром "WHERE salesrep=${salesrep_selection}"
журнал запросов MySQL показывает мне, что он получает "WHERE salesrep=null"
. Таким образом, параметр не отправляется в запрос.
Я также пытался настроить параметры источника данных с помощью [["salesrep_selection","salesrep_selection"]],
, но таблица остается пустой «Нет доступных данных в таблице», а журнал запросов MySQL показывает "WHERE salesrep='salesrep_selection'".
Я много искал в Интернете, не так много статей об этом, но в любом случае то, что я нашел, это именно то, что я реализовал. И все равно у меня ничего не получается.
Обрабатываются ли параметры в Pentaho CE 8.0 по-другому? Параметры запросов тоже?