QlikSense: можно ли настроить объект панели фильтров для отображения по одному полю за раз

Объект панели «Встроенный фильтр» на QlikSense позволяет пользователям выбирать из нескольких полей. Можно ли настроить панель «Фильтр», чтобы отображать пользователю только один выбор за раз?

Спасибо!


person kidgu    schedule 21.06.2016    source источник


Ответы (2)


Да, это можно сделать. Это можно сделать в разделе «Надстройки»> «Обработка данных»> «Выражение условия расчета».

Это нужно сделать на диаграмме, которую вы хотите ограничить только одним выбором, поэтому для листа вам нужно будет сделать это для всех диаграмм на листе.

Насколько мне известно, для этого выражения необходимо вернуть 1 или 0, поэтому вот пример:

If(GetSelectedCount([Field]) = 1
    ,1
    ,0
)

Надеюсь, это поможет.

person true_blue    schedule 21.06.2016
comment
Спасибо! Это отличное решение. Однако это актуальная половина. Потому что пользователь мог выбрать более 1 варианта, и в этом случае диаграмма не могла отображаться с сообщением: Условие расчета не выполнено. Будет лучше, если мы сможем настроить панель фильтров, чтобы разрешить только 1 выбор, аналогично окну со списком. Можем ли мы отредактировать встроенный объект Qliksense, это html 5, тогда я думаю, что поддерживать объект списка не так уж сложно. - person kidgu; 22.06.2016
comment
Нет проблем. Да, я понимаю, это что-то вроде взлома, но именно так иногда нужно относиться к qlik! Хорошо, в этом случае лучшим решением было бы написать собственное расширение, я думаю, и забыть о поле списка по умолчанию. Это не так уж сложно, и как только вы написали его, они обычно придерживаются того же макета. Вы можете использовать существующее расширение, например listbox v2 в ветке qlik, чтобы начать с него и изменить его, все это просто javascript и немного html. Это даст вам именно то, что вы хотите. - person true_blue; 22.06.2016

Я знаю, что это старый пост и, вероятно, сейчас он не актуален, но у меня возникли те же вопросы, что и я начал использовать Qlik Sense в этом году. В зависимости от вашей интеграции и того, кто собирается ее использовать, я рекомендую установить расширение.

Панель выбора альпинистов - отличный вариант, который интегрируется в Qlik Sense. В качестве альтернативы вы можете создать мэшап в Dev-hub и закодировать его на JavaScript. Для этого вам потребуется составить список с вашим измерением и написать функцию обратного вызова.

App.field ("Имя поля"). SelectMatch ($ (this) .text (), false); гарантирует, что вы выбираете только по одному (отменяя выбор других)

	function callback(reply, app){

        //empty out the Div you've created to hold the list
        $("#DIV-ID").empty();
        //get the Object
        var qObject = reply.qListObject;
        //Loop through the data returned
        $.each(qObject.qDataPages[0].qMatrix, function() {
            //get the current item
            var item = this[0];
            //append the item to the list     
		       $("#DIV-ID").append("<li><a>" + item.qText + "</a></li>");
        });
        //add the ability for the item to be clicked and selected in QlikView
        $("#DIV-ID li").click(function() {
            app.field("FieldName").selectMatch($(this).text(), false);
        });
	}

person user1865820    schedule 27.10.2017
comment
это великолепно! Я все еще использую Qliksense. Я попробую, когда у меня будет время. Спасибо, что поделились. - person kidgu; 03.01.2018