4 Replies Latest reply: Nov 15, 2016 9:08 AM by Александр Спирин RSS

    Комбинированная диаграмма по двум таблицам.

    Александр Спирин

      Доброго времени суток.

      Никак не могу решить проблему с комбинированной диаграммой. Попытаюсь объяснить на словах. Есть два файла: Дебиторка и Обороты. Поля в файле Дебиторка: Дата, Подразделение, Контрагент, Договор, Агент, Признак просрочки, Сальдо. Поля в файле Обороты: Дата, Подразделение, Контрагент, Договор, Агент, Сумма продаж. Разница только в поле "Признак просрочки" (в этом поле Да/Нет), но это "расквадрачивает" продажи, если файлы связывать или создавать единый файл.

      Хочется, чтобы в комбинированной диаграмме по оси Х была Дата, столбики показывали Дебиторку (Поле Сальдо), а график над столбиками показывал Сумму продаж. Проблема заключается в том, что при установке отборов по Подразделению, Контрагенту и Агенту должны меняться график и столбики, а при изменении Признака Просрочки - только столбики.  Еще один момент - на листе в паре с комбинированной диаграммой должна быть еще круговая диаграмма по таблице Дебиторка (измерение - Агент, мера - Сальдо), и для нее должен быть фильтр по Дате с установленной одной конкретной датой, но на комбинированную диаграмму этот фильтр действовать не должен. Подскажите, пожалуйста, как решить эту проблему?


        • Re: Комбинированная диаграмма по двум таблицам.
          Anna Klimkova

          Александр,

          можете попробовать объединить таблицы с помощью Concatenate( аналог Union в SQL).

          Игнорировать фильтр по просрочке можно с помощью анализа множеств:

          Sum( {<[Признак просрочки]= >} [Сумма продаж])

            • Re: Комбинированная диаграмма по двум таблицам.
              Александр Спирин

              Большое спасибо. Просто, как все гениальное. Теперь работает...

              Не подскажете, как определить пустую выборку, то есть где не выбрано ни одного значения? Пробовал через If(isnull [Поле выборки],True,False), но выражение также становится истинным при выборе двух и более значений... 

                • Re: Комбинированная диаграмма по двум таблицам.
                  Anna Klimkova

                  Александр, вы немного не из той области функцию взяли. IsNull() сравнивает сами значения поля с Null.

                   

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

                  Для работы с выборками есть функции

                  GetSelectedCount([Поле])  - подсчитывает явно выбранные значения в поле (зеленые строки)

                  GetPossibleCount([Поле])  -  подсчитывает явно и неявно (связанные с выборкой в других полях) выбранные значения в поле (белые строки, либо зеленые)

                  GetExcludedCount([Поле]) - подсчитывает исключенные значения, т.е. значения поля, несвязанные с текущими фильтрами (серые строки)

                  Еще можно работать через функцию Count(distinct [Поле]).

                   

                  В вашем примере это можно решить так:

                  If(GetSelectedCount[Поле выборки]=0,True,False)