Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 След.
Power BI Роли и USERELATIONSHIP
 
Добрый день!

Вот такой вопрос возник - у меня есть клиенты, у которых есть два департамента и два менеджера. Первые - по головной компании назначаются, а вторые - по региону, где находится сама кампания.
(условно - есть Икея, зарегистрированная в Москве, которую ведет менеджер Иванов - и на него попадает 100% дохода, а есть Петров, который ведёт филиал Икеи у себя в Хабаровске). В зависимости от ситуации может быть нужда посмотреть доход по головным компаниям или по регионам.

Решил этот вопрос через USERELATIONSHIP. Возникла такая проблема - роль я назначаю через ИЛИ - или основной департамент или региональный департамент у клиента совпадают с департаментом роли. Но когда представитель этого департамента заходит в отчёт, то он видит тех клиентов, которых видеть не должен.

На примере:
Выбираю посмотреть как роль "Д1".
В списке есть id4, который по "Всё" находится в "Д4". Эту запись сейчас пользователь видеть не должен. Он ее должен видеть только после выбора "Регион", когда id4 попадает в "Д1".

Можно ли как-то полностью скрыть департаменты, которые сейчас не актуальны?
Power BI. Фильтрация таблицы с отключенными взаимодействиями
 
Спасибо! То, что нужно.
Power BI. Фильтрация таблицы с отключенными взаимодействиями
 
Добрый день!

Вопрос возник (формулирую из примера) таблица из 4 столбцов - "Группа компаний", "Город", "ИНН",  "Доход".
Есть срез по городам
Есть таблица со всеми 4 столбцами.

Если выбираю город в срезе, то в таблице фильтруется только 1 строка. Если разрываю связь между срезом и таблицей, то любые изменения среза не оказывают влияние на таблицу. Но задача такая - нужно при выборе любого города отразить в таблице все компании, которые имеют этот город в составе. При этом отразить целиком все города этих групп компаний. Например, у меня в примере Москва есть в Найк и Абибас. Тогда должно отразиться 11 строк по Найку и 3 по Абибасу, а Рибок должен отсеяться. Если фильтр не стоит вообще, то выводятся вообще все строчки.

Помогите с мерой, пожалуйста. Потом все понятно - засунуть в фильтр и выбрать "не пустые"/""больше 0" или еще что.
Power BI. Две разные меры работают как надо, а при объединении в одну через VAR - нет.
 
Мда... примерно так и думал. Получается, что или писать одинаковый двойной код, или задваивать меры. Очередной раз спасибо большое, Владимир!
Power BI. Две разные меры работают как надо, а при объединении в одну через VAR - нет.
 
Добрый день!

Понял, что есть еще вопросы с общей логикой работы BI. Подскажите, пожалуйста, почему так происходит:
1) Если пишу две меры примерно такого содержания:
Код
Кол-во = 
COUNTROWS (
    FILTER (
        ADDCOLUMNS (
            'Справочник',
            "сумма для фильтра",
            CALCULATE (
                SUM ( '1'[Значения] ),
                ALLEXCEPT (
                    '1',
                    'Календарь'[Year]                 
                )
            )
        ),
        [сумма для фильтра] > 0
    )
)
Код
кол-во_2 = 
IF (
    SELECTEDVALUE ( 'Переключатель'[Переключатель] ) = "1",
    [Кол-во],
    CALCULATE (
        [Кол-во],
        USERELATIONSHIP ( 'Менеджеры'[Значение], 'Справочник'[Менеджер Холдинга] )
    )
)
, то все работает как надо - вторая мера выводит мне нужные данные.
2) Если пытаюсь оптимизировать количество мер и пишу аналогичный код в одной мере, то расчёт идёт некорректный:
Код
Кол-во = 
VAR i1 = 
COUNTROWS (
    FILTER (
        ADDCOLUMNS (
            'Справочник',
            "сумма для фильтра",
            CALCULATE (
                SUM ( '1'[Значения] ),
                ALLEXCEPT (
                    '1',
                    'Календарь'[Year]                 
                )
            )
        ),
        [сумма для фильтра] > 0
    )
)
VAR i2 =
IF (    
    SELECTEDVALUE ( 'Переключатель'[Переключатель] ) = "1",
    i1,
    CALCULATE (
        i1,
        USERELATIONSHIP ( 'Менеджеры'[Значение], 'Справочник'[Менеджер Холдинга] )
    )
)
RETURN i2

Почему так происходит?
Хочу максимально сократить количество неиспользуемых мер и применять USERELATIONSHIP только в начальных мерах, а все остальные расчёты, которые опираются на эти меры уже делать без указания связи (которая, по идее, применилась на первых этапах)
Расчётная мера в строках, а не значениях BI
 
,  еще раз спасибо! Уже далеко не в первый раз выручаете :). То ли сразу взялся за задачу слишком сложную, то ли сам всё усложняю, но чаще всего приходится изворачиваться, а не обходиться типовыми решениями...
Расчётная мера в строках, а не значениях BI
 
Вопрос решил. Через PQ объединил оба столбца без дубликатов. В PP создал две связи от справочника к первой таблице (активную и нет). Потом написал простую формулу:
Код
if ( SELECTEDVALUE('Переключатель'[Переключатель]) = "Сотрудники" , '1'[ЗП] , CALCULATE('1'[ЗП], USERELATIONSHIP('2'[ФИО],'1'[ФИО начальника])))

Все заработало. Спасибо за интересные мысли :)
Расчётная мера в строках, а не значениях BI
 
Добрый день!

То ли не могу правильно сформулировать для поиска, то ли вопрос такой не возникает... У меня есть два столбца данных в одной таблице. Условно ФИО начальника и ФИО сотрудника отдела. Есть переключатель "суммировать по отделам". Есть матрица с результатами. Нужно сделать так, чтобы если переключатель = ЛОЖЬ, то в строках матрицы были ФИО сотрудников, а если =ИСТИНА, то ФИО начальников. Оба столбца не нужны. Если делаю меру, то она отказывается идти в строки :(
Совместимость мер BI и Excel PP
 
Забавно. Переписал меру -
Код
Время задач по статусам = 
var i1=min( 'Статус'[Sort])
var i2=max( 'Статус'[Sort])
var i3 = 
SUMX (
    FILTER (
        VALUES ( 'БД'[№ задачи] ),
        [Индекс процессов] >=i1 && [Индекс процессов]<=i2
    ),
    [Время задач в текущих процессах]
)
return i3


Всё заработало. Спасибо за подсказки!
Изменено: Andrey Belkin - 03.03.2022 09:46:21
Совместимость мер BI и Excel PP
 
Цитата
написал:
для себя подобные задачи всегда решаю так: создаю вычисляемый столбец с индексами в нужном мне порядке, а затем по этому индексу спокойно фильтрую. Как-то так
Добрый день!

Спасибо, так и сделал вчера. А вот с IN не получается хоть тресни... Даже завершить меру не дает - пишет про ошибку "Выражение недопустимо или является неполным. Неверный синтаксис "in"".

Вот что не так? Синтаксис же соблюден...
Код
Время задач по статусам:=SUMX (
    FILTER (
        VALUES ( 'БД'[№ задачи] );
        [Индекс процессов] in  ( 'Статус'[Sort] )
    );
    [Время задач в текущих процессах]
)

Разобрался. В моей версии PP нет такой функции. Так что теперь главный вопрос - чем ее заменить.

Изменено: Andrey Belkin - 03.03.2022 09:03:47
Совместимость мер BI и Excel PP
 
Аналогично. Опять хочет только число, а не стринг.
Совместимость мер BI и Excel PP
 
Увы, у нас только 2016 (
Да и функция выдает такое - "Семантическая ошибка. Функция MAX принимает аргумент, результатом вычисления которого являются числа или даты, и не может работать со значениями типа String."
Изменено: Andrey Belkin - 02.03.2022 17:20:19
Совместимость мер BI и Excel PP
 
Добрый день!

Пытаюсь перетащить отчёт из BI в эксель - нужно делать презентации в PowerPoint по отдельным срезам.
Оказалось, что синтаксис несколько отличается и то, что работает в BI не работает в экселе. Подскажите, пожалуйста, как обойти?

Для примера столкнулся с проблемами в двух мерах:
1. Тут жалуется на макс, который не может работать с типом стринг. В BI всё работает.
Код
Индекс процессов = //if ( not isblank([Индекс задач в текущих процессах]),
    IF (
        MIN ( 'БД'[Дата начала процесса] ) <= MAX ( 'Календарь'[Date] ),
        SWITCH (
            (
                MAX ( 'БД'[Дата завершения процесса] ) > MAX ( 'Календарь'[Date] )
                    || COUNTBLANK ( 'БД'[Дата завершения процесса] ) > 0
                    || MAX ( 'БД'[Статус] ) = "В работе"
            )
                + (
                    ( MAX ( 'БД'[Статус] ) = "Успешно завершена" ) * 2
                        + ( MAX ( 'БД'[Статус] ) = "Завершена с отказом" ) * 4
                )
                    * ( MAX ( 'БД'[Дата завершения процесса] ) >= MIN ( 'Календарь'[Date] ) ),
            1, 1, //в работе
            2, 2, //успешно завершено
            3, 1, //в работе (в работе + успешно)
            4, 3, //завершена с отказом
            5, 1  //в работе (в работе + отказ)
        )
    )

2. Тут жалуется на IN. В BI всё работает.
Код
Кол-во задач по статусам = 
MAXX (
    ADDCOLUMNS (
        VALUES ( 'БД'[Этап воронки] ),
        "ss",
            CALCULATE (
                COUNTROWS (
                    FILTER (
                        VALUES ( 'БД'[№ процесса] ),
                        [Индекс процессов] IN VALUES ( 'Статус'[Sort] )
                    )
                ),
                ALLEXCEPT ( 'БД', 'БД'[Деп иниц], 'БД'[Этап воронки], 'БД'[Инициатор], 'БД'[Название процесса] )
            )
    ),
    [ss]
)


Можете что-то без примера подсказать или лучше сделать?
Power BI. Не получается формула для суммы делений
 
, я этот пример готовил полтора часа - отчищая данные и настраивая фильтры, чтобы мусора поменьше отправить :)

Спасибо вам огромное за советы - до сих пор скрипят шестеренки и простые решения делаю через пятую точку.
Power BI. Не получается формула для суммы делений
 
Помогло. Спасибо!
Power BI. Не получается формула для суммы делений
 
День добрый!

Пример вот - просто там много посторонних расчётов.
Вопрос в мере [Неправильная формула] Как должно быть (на примере итоговой строки матрицы):
Код
ИТОГ = 33536/2 + 7448/2 + 213549/3 + 73682/3 + 11031/3 = 119912

Сейчас, как я понимаю, считается так:
Код
ИТОГ = (33536 + 7448 + 213549 + 73682 + 11031)/3 = 113082
Изменено: Andrey Belkin - 31.01.2022 20:09:58
Power BI. Не получается формула для суммы делений
 
Добрый день. Очень нужна помощь. Больше двух недель ломаю голову. Есть мера, которая должна в каждую ячейку матрицы рассчитать деление других мер (и считает). Но в итоге должна быть сумма этих делений. Делитель в каждой строчке и столбце матрицы свой, но одинаковый для всего делимого ячейки.

пример:
Делимое Делитель Результат
1 3 1/3
3 4 3/4
5 1 5/1
6 2 6/2
7 14 7/14
Итого 22 Итого 24 Итого 1/3+3/4+5/1+6/2+7/14
Изменено: Andrey Belkin - 27.01.2022 18:51:05
Power BI. Связь меры и несвязной таблицы
 
Разобрался сам - сделал через IN:
Код
Кол-во задач = 
COUNTROWS (
      FILTER (
           VALUES ( 'БД'[№ задачи] ),
          [статус индекс] IN VALUES ( 'Статус'[id] )
     )
)
Power BI. Связь меры и несвязной таблицы
 
Добрый день!

Проблема такая - у меня есть одна таблица, в которой считается статус задач (в виде индекса - 1-2-3 и т.д.). Статус зависит от выбранного фильтра по времени, так что меняется в зависимости от выбранного периода и считается в мере [статус индекс].
Мне нужно орудовать количеством задач в соответствующем статусе и фильтровать его. Из-за того, что статус считаю мерой я не могу настроить связь.
Промежуточное решение - добавлена несвязанная таблица с индексами всех статусов и с помощью извращений подтягиваются значения из меры:
Код
Кол-во задач = 
VAR i_1 =
CALCULATE (
    SUMX ( VALUES ( 'БД'[№ задачи] ), [статус индекс] ),
    FILTER (
        VALUES ( 'БД'[№ задачи] ),
        [статус индекс] = SELECTEDVALUE ( 'Статус'[id] )
    )
)
    / SELECTEDVALUE ( 'Статус'[id] )
VAR i_2 =
COUNTROWS ( FILTER ( VALUES ( 'БД'[№ задачи] ), [статус индекс] > 0 ) )
VAR result =
IF ( SELECTEDVALUE ( 'Статус'[id] ) = BLANK (), i_1, i_2 )
RETURN
result 

Все работает, но мне очень не нравится. Как это можно сделать оптимальнее? До сих пор плаваю в формулах и контекстах. Тупо не понимаю как логически действовать в таком случае.

Не получается сделать в BI построчную суммеслимн с корректным итогом
 
surkenny, спасибо! буду разбираться тоже - ваши меры побыстрее работают
Изменено: Andrey Belkin - 18.01.2022 09:24:20
Не получается сделать в BI построчную суммеслимн с корректным итогом
 
Спасибо, Пух, помогло разобраться. Не совсем как хотел, но сделал. Благодарю!
Не получается сделать в BI построчную суммеслимн с корректным итогом
 
Добрый день!

В BI есть две несвязанные таблицы.
Первая - 'Календарь', в которой есть информация по рабочему времени на каждый день (там сложная формула, так что считается предварительно в Power Query). По сути интересуют только поля 'Календарь'[Date] и 'Календарь'[Время]

Во второй таблице - 'БД' - список задач, с датами начала и завершения

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

Сейчас работает вот это:
1) Мера для выбора задач, которые попадают в выбранный период:
Скрытый текст
2) Мера для расчёта времени по каждой строке. Итоговые значения считает ошибочно. + никуда не могу уйти от функции SELECTEDVALUE - если ее нет, то ругается, что невозможно определить одно значение для столбца
Скрытый текст

Соответственно вопрос - SELECTEDVALUE 100% не оптимальный вариант, но сделать иначе не получается - можно заменить на MIN или MAX, но итог все равно не верный будет
Как правильно посчитать сумму всех строк для итога меры [Расчёт времени]?
Power BI. Сумма времени на задачу по конкретную дату
 
Офигеть. Работает.
Дмитрий, спасибо огроменное! Вы гений!
Power BI. Сумма времени на задачу по конкретную дату
 
Дмитрий, к сожалению не сработало:
Код
var StartDt = 'Таблица'[Дата начала]
var EndDt = 'Таблица'[Дата окончания] 

Пишет, что не может установить уникальную дату (Невозможно определить одно значение для столбца "Дата начала" в таблице "Таблица". Это может происходить, если для получения одного результата формула меры ссылается на столбец, содержащий множество значений, без указания агрегата, например MIN, MAX, COUNT или SUM.).

Второе - сумму не дал по задвоенной строке (когда я добавил функции макс и мин к коду). Получилось 5 строк и по задвоенной 4860, а не 9720 (как должно).

Третье - по итоговой сумме тоже не вышло - как я понял, он посчитал от минимальной даты до конца месяца, а не сумму всех операций (

Power BI. Сумма времени на задачу по конкретную дату
 
Спасибо огромное! Буду изучать
Изменено: vikttur - 01.09.2021 11:02:59
Power BI. Сумма времени на задачу по конкретную дату
 
Постараюсь объяснить понятнее - есть несколько тысяч процессов разделенных на задачи и этапы. Периодически возникает потребность посмотреть эффективность решения задач за конкретный месяц. Если, как в примере, мы смотрим за январь, то у нас есть часть задач, которые были не решены в январе (и перешли дальше) и которые завершились в январе. Мне надо получить количество таких задач, а также время, потраченное на них по январь включительно (т.е. если задача началась в ноябре прошлого года и закончилась в феврале, то у нее будет на конец января статус "не завершена" и потрачено время ноябрь-декабрь-январь. А вот в феврале пройдет со статусом "завершена" и потрачено время будет ноябрь-декабрь-январь-февраль.

В моём примере в экселе в F1 дата завершения периода, относительно которой смотрим статус.
Power BI. Сумма времени на задачу по конкретную дату
 
Добавляю пример в экселе того, что нужно в BI
Power BI. Сумма времени на задачу по конкретную дату
 
Добрый день!

Уже перепробовал уйму вариантов, но явно что-то не то делаю.

Суть задачи - есть список задач с этапами, которые начались в разное время.
Для примера взял такую таблицу:
IDНаименование задачиДата началаДата окончания
1Задача 15 января 2021 г.16 января 2021 г.
1Задача 28 января 2021 г.2 февраля 2021 г.
1Задача 28 января 2021 г.6 февраля 2021 г.
1Задача 316 февраля 2021 г.18 марта 2021 г.
1Задача 414 марта 2021 г.18 марта 2021 г.
2Задача 515 января 2021 г.25 февраля 2021 г.
2Задача 615 января 2021 г.26 февраля 2021 г.
2Задача 615 января 2021 г.26 февраля 2021 г.
Дополнительно есть таблица рабочего времени за каждый день (таблица "Даты")

Требуется посчитать время, потраченное на все задачи на конец конкретного месяца по следующим условиям:
1) Полное время на задачи, которые закончились в текущем месяце
2) Если задача закончена в следующем месяце, но началась в этом, то сколько на нее ушло по последнее число этого месяца
3) Если у задачи нет даты завершения, но она началась до этого месяца, то сколько на нее ушло по последнее число этого месяца

В экселе это была бы простая функция суммеслимн + сумм для итога. А тут не получается... Подскажите куда копать
MDX запрос. Значение на дату последнего движения
 
Добрый день!

Пытаюсь создать корректный справочник с уникальными ID. Для этого нужно взять случай последнего движения для каждого ID индивидуально (для каких-то май 2020, а для других - июнь 2021). Подскажите, пожалуйста, куда копать?

Вот рабочий код, который выгружает задвоенные и затроенные ID по разным наименованиям:
Код
SELECT NON EMPTY {[Measures].[VL PL]} ON COLUMNS,

NON EMPTY
(
[Клиенты].[ID].ALLMEMBERS,
[Клиенты].[Имя Клиента].ALLMEMBERS
)
ON ROWS

FROM [PL]

WHERE ([Сценарии].[Сводный сценарий].&[True])

Если добавляю меру даты - [Календарь].[Дата].ALLMEMBERS, то отчёт увеличивается на 2-3 порядка, что не устраивает (потом приходится удалять всё лишнее):
Код
SELECT NON EMPTY {[Measures].[VL PL]} ON COLUMNS,

NON EMPTY
(
[Клиенты].[ID].ALLMEMBERS,
[Клиенты].[Имя Клиента].ALLMEMBERS,
[Календарь].[Дата].ALLMEMBERS
)
ON ROWS

FROM [PL]

WHERE ([Сценарии].[Сводный сценарий].&[True])
Обновление запроса к БД в PQ при выгрузке в BI, Запрос PQ обновляет всю таблицу после любой операции. Занимает 10-15 минут.
 
Спасибо, Пух :)
Страницы: 1 2 3 4 5 6 7 8 9 След.
Наверх