Хобрук: Ваш путь к мастерству в программировании

PowerPivot Агрегированное значение на основе групп

У меня есть два столбца даты в одной таблице

Coolumn слышит: Activity|City|Start_Date|End_Date

Ряд 1: A1|C1|01.01.2014|01.05.2014

Ряд 2 : A1|C1|01.06.2014|01.07.2014

Ряд 3: A2|C2|01.06.2014|01.07.2014

Ряд 4: A3|C3|01.03.2014|01.04.2014

Ожидаемый результат: если пользователь выбирает диапазон дат с 01.02.2014 по 01.07.2014.

Заголовок столбца

Город | #Началосчета| #EndCount

Ряд 1: С1 | 1 | 2

Ряд 2: С2 | 1 | 1

Ряд 2: С3 | 1 | 1

Здесь #StartCount - нужно сгруппировать по городам. - Счетчик отдельных действий - Он должен рассматривать границы даты как: все действия, для которых дата начала «больше или равна (>=)» Введите дату начала и (меньше «‹») дату окончания

Здесь #EndCount - нужно сгруппировать по городам. - Счетчик отдельных действий - Он должен учитывать границы даты как: все действия, для которых дата окончания «Меньше или равно (‹=)» Ввод даты окончания и (больше «>») Дата окончания

Не могли бы вы предложить мне выражение, которое можно использовать для такого случая. Можно использовать расчетную меру или dax.

03.03.2014

Ответы:


1

Ключевым моментом здесь является использование отключенных слайсеров, потому что если вы использовали «обычные», то выполнение вычислений COUNT не будет работать, потому что они просто отфильтровывают строки, которые «не подходят».

Я использовал ваши данные для создания 3 таблиц:

  • Исходная таблица — точно такая же, как у вас
  • Начальная таблица, содержащая один столбец с именем Начало, который включает даты начала из Источника
  • Таблица End, содержащая один столбец с именем End, который включает даты окончания из Source

Затем я добавил два вычисляемых поля:

Начать отсчет

=CALCULATE(COUNTA(Source[City]),FILTER(Source,Source[Start]>=MIN('Start'[Start])))

Конечный счет

=CALCULATE(COUNTA(Source[City]),FILTER(Source,Source[Start]<=MIN('End'[End])))

Эти две команды делают то, что они подсчитывают строки City, которые не являются пустыми, и фильтруют их (используя команду FILTER) по столбцу Start или End. Подробнее о отключенные слайсеры здесь.

Чтобы получить отчет: создайте новую таблицу PowerPivot, поместите City в строки и перетащите Start Count и End Count на значения. Затем добавьте срезы для таблиц Start и End. Выбрали ваши даты, и вы получите нужные вам результаты.

Прикреплен экран того, что я использовал (это будет работать в Excel 2013, а также в Excel 2010 с плагином PowerPivot):

введите здесь описание изображения

Использование отключенного среза иногда может быть затруднительным, но если вы создаете их с помощью новых доступных приложений Excel, таких как CreateTimeDimension (бесплатно) или предварительно подготовленные таблицы DateTable, все должно быть в порядке.

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

07.03.2014
Новые материалы

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...