Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
Фильтрация одного столбца по 2м условиям одновременно DAX
 
PooHkrd,понял, спасибо. В PQ удалить лишнее, к сожалению, не получится. В примере я оставил только 2 столбца, но в рабочем файле их много и они используются для рассчета других показателей.
Фильтрация одного столбца по 2м условиям одновременно DAX
 
PooHkrd,благодарю)
Фильтрация одного столбца по 2м условиям одновременно DAX
 
Dyroff,спасибо)
Фильтрация одного столбца по 2м условиям одновременно DAX
 
Я понял где ошибка, значение в столбце не может быть и 4 и 5 одновременно, вместо && нужно использовать ||

Все равно надеюсь на подсказку в оптимизацию общей формулы для рассчета показателя.
Фильтрация одного столбца по 2м условиям одновременно DAX
 
Добрый день, уважаемые форумчане! Прошу помощи в решении задачи.

Необходимо рассчитать показатель в DAX через меру. Данный показатель это отношение количества положительных оценок (4 и 5) к общему количеству оценок.
Общее количество оценок я рассчитал, а вот при подсчете положительных оценок возникла проблема. При фильтрации одного столбца по 2м условиям (оценка 5 и оценка 4) на выходе пусто. Вероятно я где то допустил ошибку
Код
Положительные оценки:=COUNTROWS(FILTER('Детализация_обращений';'Детализация_обращений'[Оценка]=5&&'Детализация_обращений'[Оценка]=4))

Можно конечно каждую оценку рассчитывать в отдельной мере, но уверен, что есть более изящное решение этой задачи через одну меру.
Power Query преобразование даты и времени (округление вниз до 30 минут + смена часового пояса)
 
PooHkrd,благодарю вас.
Power Query преобразование даты и времени (округление вниз до 30 минут + смена часового пояса)
 
Добрый день! Есть необходимость округлить вниз до 30 минут дату/время и изменить часовой пояс с МСК на ЕКБ, т. е. добавить + 2 часа. В экселе обычными формулами это задача решается элементарно, но с PQ у меня трудности.

Нагуглил, что за округление вниз отвечает функция Number.RoundDown, но у меня не получилось воссоздать экселевскую формулу через эту функцию.

Нашел на форуме пример с округлением до 10 минут, но там в качестве решения был код, который нужно вставлять через расширенный редактор. Я не совсем понимаю вставлять нужно ниже, или заменять, то что есть. Возможно ли решение с помощью "мыши"? Т. е. я выделяю столбец с датой и временем, которые нужно преобразовать, затем "Добавление столбца" -> "Настраиваемый столбец" и туда уже писать формулу. Помогите пожалуйста с решением задачи.
Power Pivot. Как формулами DAX добавить столбец с уникальным индексом строк
 
Blazh, в PQ вкладка Добавление столбца, затем Столбец индекса.
Изменено: Murderface_ - 3 Июл 2019 13:53:08
Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
Кажется, удалось получить то, что хотел
Код
=CALCULATE(DIVIDE(SUM('Таблица1'[Числитель]);SUM('Таблица1'[Знаменатель]));FILTER(ALL('Таблица1');'Таблица1'[Дата]='Таблица2'[Дата]&&'Таблица1'[Время]<='Таблица2'[Время]))

Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
Подозреваю, что формула выдает неверное значение после создания связи из-за того, что в Таблице2 есть повторяющиеся интервалы. С другой стороны все аргументы формулы ссылаются именно на Таблицу1.
Также после создания связи и написании формулы в вычисляемый столбец Таблицы2, она выдает ошибку. Скорее всего необходимо скорректировать формулу под эти условия

Код
=CALCULATE(DIVIDE(SUM('Таблица1'[Числитель]);SUM('Таблица1'[Знаменатель]);0);FILTER(ALLEXCEPT('Таблица1'; 'Таблица1'[Дата]);'Таблица1'[Время]<=EARLIER('Таблица1'[Время])))

Прошу вашей помощи.

Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
PooHkrd, удалось добавить дополненный пример, максимально сжав его в архиве. Возникла очередная проблема, происходит что то невероятное. В примере есть 2 таблицы с одинаковым столбцом "Дата + время_", который должен послужить для создания связи между таблицами. Но как только мы создаем связь, то показатель (который до создания связи считается абсолютно правильно) в столбце "Проверка показателя нарастающим итогом за сутки" начинает выдавать неверное значение. Я не понимаю как такое возможно.
Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
Я немного разобрался. Для выбора показателя за получас в качестве условия, можно ссылаться на меру в которой он рассчитывается и все будет работать, но для получения показателя с нарастающим итогом нужно писать в вычисляемом столбце формулу:
Код
=CALCULATE(DIVIDE(SUM([Числитель]);SUM([Знаменатель]);0);FILTER(ALLEXCEPT('Таблица1'; 'Таблица1'[Дата]);'Таблица1'[Время]<=EARLIER ('Таблица1'[Время])))
Однако, если делать все на том же листе, где находятся исходные данные для рассчета этого показателя то все ок, но если делать это на другом листе (между листами создана связь Дата + Время), но программа выдает ошибку.
Изменено: Murderface_ - 2 Июл 2019 13:14:52
Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
PooHkrd, мера должна выводить значение показателя в процентах. Т. е. если я в модели данных создаю вычисляемый столбец и пишу формулу, например:
Код
=IF([Показатель нарастающим итогом (DAX)]>=0,82;1)
То для каждой строки на ту дату и время, которое в ней указано, должен рассчитываться данный показатель нарастающим итогом на эти сутки (для сверки специально добавил столбец "Показатель нарастающим итогом за сутки (для проверки)") и если его значение удовлетворяет условию, в данном примере >= 82%, то в строке должна появится единица.
Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
Цитата
PooHkrd написал:
Пример должен максимально соответствовать структуре рабочей модели
Сюда возможно загрузить лишь файл размером не более 100 Кб. Даже с пустым исходником модель данных имеет больший объем.  :(

PooHkrd, есть же конкретный пример из моего первого сообщения в этой теме. Почему нельзя использовать его?
Изменено: Murderface_ - 1 Июл 2019 15:40:46
Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
Цитата
PooHkrd написал:
в вашем примере формируете все таблички и связи между ними как в вашей рабочей модели данных
Я наоборот пытался максимально упростить пример, чтобы мне смогли помочь найти решение.

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

Если я пойму как корректно написать формулу, требуемой мне меры для одного показателя, то для остальных показателей я постараюсь написать сам.
Изменено: Murderface_ - 1 Июл 2019 12:25:48
Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
Цитата
PooHkrd написал:
Если вам нужно чтобы формула для столбца вычислялась как в сводной, то нужно снять с неё контекст строки и установить такие же фильтры как в сводной
Максим, мне писал такую формулу для вычисляемого столбца в прошлой теме. Но мне нужна именно мера, которая будет выдавать значение показателя нарастающим итогом. Т. е. сам показатель должен рассчитываться в мере, а не в вычисляемом столбце.
Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
Цитата
PooHkrd написал:
Может вы все таки расскажете про исходную задачу
Есть контакт-центр с большим количеством показателей, которые считаются в разрезе получасов и нарастающим итогом за сутки/месяц. Еще есть данные из CMS, которые связаны с обращениями в контакт-центр. Между показателями и данными из CMS в Power Pivot создана связь через дату + время. Так вот необходимо производить подсчет определенных данных из CMS, исходя из значений показателей за получас и нарастающим итогом.

С показателем за получас, как в примере, все работает. Т. е. на листе с данными CMS в модели данных я создаю вычисляемый столбец и пишу формулу ссылаясь на показатель за получас, например:
Код
=IF([Показатель за получас (DAX)]>0,8;1)
то условие работает

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

Важно, чтобы ссылаясь на меру в вычисляемом столбце модели данных, она выдавала именно значение показателя с нарастающим итогом, а уже не готовое решение. Т. к. условия могут меняться. Также в примере мне нужен лишь 1 показатель, а в итоговом файле их будет минимум 3.

Надеюсь все понятно объяснил.
Изменено: Murderface_ - 1 Июл 2019 11:50:59
Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
Цитата
PooHkrd написал:
Это вы про меру в сводной
Да. Это скриншот окна Power Pivot, со столбцом, в которых введена формула из первого сообщения.

Цитата
PooHkrd написал:
Куда прописать как формулу? В вычисляемый столбец в модели данных?
Именно туда.

Цитата
PooHkrd написал:
вы рассказываете используя какими-то усвоенными для себя определениями
Простите, по другому не умею. Буду исправляться. Как вы уже догадались, я с Power Pivot "на вы"  :(  
Создание меры, для получения нарастающего итога по суткам в разрезе получасов (DAX)
 
Добрый день! Ранее я создавал похожую тему в которой, уважаемый Максим Зеленский написал мне меру, для отображения показателя с нарастающим итогам по суткам в разрезе получасов в сводной таблице. В примерах той темы было много лишнего и возникло недопонимание, поэтому создал новую тему.

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

В файле создано 2 меры: Показатель за получас (DAX) и Показатель нарастающим итогом (DAX). А в исходных данных есть рассчёт этих же показателей, который можно использовать в качестве сверки правильности рассчета.

Так вот, если в Power Pivot создать столбец и прописать формулу:
Код
=[Показатель за получас (для проверки)]=[Показатель за получас (DAX)]
то Power Pivot во всех строках этого столбца выдаст TRUE.

Скрытый текст


Однако, если прописать аналогичную формулу для проверки показателя с нарастающим итогом
Код
=[Показатель нарастающим итогом за сутки (для проверки)]=[Показатель нарастающим итогом (DAX)]
то на выходе в множестве строк будет FALSE

Скрытый текст

Подскажите пожалуйста как скорректировать меру показателя с нарастающим итогом, чтобы при ее сопоставлении с показателем для проверки на выходе было TRUE?
Power Pivot. Суммироватние с нарастающим итогом по 2м условиям (дата и время).
 
Цитата
Максим Зеленский написал:
Это последняя помощь в этой теме
:cry:  
Power Pivot. Суммироватние с нарастающим итогом по 2м условиям (дата и время).
 
Максим Зеленский,спасибо! Но это не совсем то, что мне нужно. Нужна мера, но чтобы я мог сослаться на нее как на условие в вычисляемом столбце. Ваш вариант выдает уже готовое значение в сводной.

Например я создаю столбец в Power Pivot с формулой:
Код
=IF([Показатель за получас (DAX)]>0,8;1)
где Показатель за получас (DAX) это мера. Мы видим, что на получасовых интервалах где показатель >80%, появились единицы.

То же самое требуется и с мерой Показатель нарастающим итогом. Чтобы я указал ее в качестве условия для столбца Power Pivot, например:
Код
=IF([Показатель нарастающим итогом]>0,8;1)

и точно также получить единицы в тех строках, где показатель за эти сутки с нарастающим итогом >80%, ну или любое другое условие. Т. е. эта мера должно выдавать только значение показателя с нарастающим итогом, без других вычислений.

Изменено: Murderface_ - 28 Июн 2019 10:30:27
Power Pivot. Суммироватние с нарастающим итогом по 2м условиям (дата и время).
 
Цитата
Максим Зеленский написал:
сумма получасовых "правильных" знаменателей за день
Цитата
Максим Зеленский написал:
сумма получасовых правильных знаменателей за каждый день
Power Pivot. Суммироватние с нарастающим итогом по 2м условиям (дата и время).
 
Если нельзя одну и ту же меру использовать и для сводной и в качестве условия, то может тогда лучше создать вторую меру, только для условия в вычисляемом столбце.

Максим Зеленский, упростил пример.
Изменено: Murderface_ - 28 Июн 2019 08:42:25
Power Pivot. Суммироватние с нарастающим итогом по 2м условиям (дата и время).
 
Максим Зеленский,возможно я изначально неправильно объяснил и ввел в заблуждение. Мера нужна для отображения в сводной показателя в разрезе получасов нарастающим итогам по суткам. Но, на основании значений этого показателя будут производиться дальнейшие вычисления, также с последующим отображением в сводной в качестве других показателей, которые зависят от значения меры. Мера у нас есть в сводной таблице и показатель в сводной считается верно. Теперь нужно сделать другой рассчет ссылаясь на эту меру.
Изменено: Murderface_ - 27 Июн 2019 15:49:29
Power Pivot. Суммироватние с нарастающим итогом по 2м условиям (дата и время).
 
Максим Зеленский, критерий тот же, что и в вычисляемом поле "Знаменатель с 2 условиями":
Код
=IF([Показатель за получас (DAX)]>=0,8&&[Показатель нарастающим итогом]>=0,82;[Знаменатель])

это сделано просто для наглядности, чтобы было видно неработоспособность второго условия

Код
&&[Показатель нарастающим итогом]>=0,82

Не обращайте пожалуйста вообще внимание на форматирование, если оно сбивает с толку.

Вот более наглядно

Скрытый текст

В столбце "Знаменатель с 2 условиями" в выделенной строке должно быть пусто, согласно условиям, но 2 условие не срабатывает. Именно второе условия ссылается на формулу рассчета накопительного показателя. Это значит, что необходимо редактировать его формулу.
Изменено: Murderface_ - 27 Июн 2019 14:04:09
Power Pivot. Суммироватние с нарастающим итогом по 2м условиям (дата и время).
 
Цитата
Максим Зеленский написал:
Вам нужен столбец в таблице внутри модели, но не в сводной? Или нужен столбец в сводной?
В сводной уже есть столбец (самый правый), который использует показатель с нарастающим итогом как условие, но это условие не срабатывает.

Цитата
Максим Зеленский написал:
А не могли бы вы рассказать, почему там одни значения красные, а другие не красные?
Это сделано просто для наглядности. Если все будет правильно, то в разрезе получасов красных цифр не будет.

Цитата
Максим Зеленский написал:
Ну и вот тут стало совсем непонятно:
Цитата
Murderface_ написал:
В строке с общими итогами показатель за получас должен быть равен показателю с нарастающим итогом.
Изменено: Murderface_ - 27 Июн 2019 12:46:12
Power Pivot. Суммироватние с нарастающим итогом по 2м условиям (дата и время).
 
Добрый день! Помогите пожалуйста решить проблему. Появилась необходимость показатель с нарастающим итогом в таблице (который вы мне помогли рассчитать) использовать для вычислений, как одно из условий для столбца Power Pivot. Но это не работает, не могу понять почему. Наверное вот поэтому:

Цитата
Максим Зеленский написал:
EARLIER тут ни при чем, так как вы используете формулу в сводной, а не в вычисляемом столбце

Учитывается только условие показателя за получас.

На выходе в сводной таблице не должно быть красных значений в столбце G.

При этом хотелось бы сохранить совпадение общего итога показателя за получас с общим итогом нарастающего показателя. Буду признателен за помощь.
Изменено: Murderface_ - 27 Июн 2019 10:21:25
При печати одной копии печатается один лист, а если печатать несколько копий - два листа
 
Лунтик, предварительный просмотр по умолчанию совпадает с разметкой. Может быть вы в настройках печати что-то изменили?
При печати одной копии печатается один лист, а если печатать несколько копий - два листа
 
Лунтик,настраивайте области печати. Сейчас в приложенном файле таблица на печать идет на 3х страницах.


Скрытый текст
Power Pivot. Суммироватние с нарастающим итогом по 2м условиям (дата и время).
 
Максим Зеленский,спасибо Вам!
Страницы: 1 2 3 След.
Наверх