Страницы: 1
RSS
Назначить связи для вывода соответствующих значений, Power Pivot
 
Здравствуйте
Вот чего не ожидал так это на связях заморочиться
Как назначить связи между таблицами и справочниками?
Может надо и справочники по-другому делать?
Прошу помощи!

По выбранному региону в срезе в сводной надо получить численность и сумму
 
Только сегодня заметил что пример некорректен. Поправил.
На скрине виден ожидаемый результат.
Подойдет решение с применением функций кубов
 
Добрый день! Попробуйте для численности и суммы прописать меры, добавив функцию USERELATIONSHIP:
Код
CALCULATE (
    SUM ( 'Таблица1'[Численность] );
    USERELATIONSHIP ( 'Таблица1'[Район]; 'спрРайон'[Район] )
)


Код
=
CALCULATE (
    SUM ( 'Таблица2'[Сумма] );
    USERELATIONSHIP ( 'спрРайон'[Район]; 'Таблица2'[Район] )
)
 
Настя_Nastya, Большое спасибо! Заработало!
 
Возможно ли в USERELATIONSHIP или в другой функции использовать две связи для меры? Использовать и регион и район.
Почему спрашиваю: есть вероятность что какие-то города в разных регионах могут иметь одно и то же название. В этом случае могут быть несоответствующие значения.
 
Михаил Л, для этого либо ID городов в справочниках (разные для одноименных), либо связь делайте по столбцу Регион&Район&Город.
 
Цитата
написал:
связь делайте по столбцу Регион&Район
Еще столбец в каждую таблицу - да, вариант.

Цитата
написал:
Возможно ли в USERELATIONSHIP или в другой функции использовать две связи для меры?
Я так понял что две связи не получится. Однако Регион&Район тоже вариант
Спасибо
 
Михаил Л, наконец-то глянул файл.
1. Справочник регионов не нужно напрямую связывать с таблицами фактов. Более того, если в справочнике Регионов нет больше столбцов, то зачем излишняя нормализация? Удалите справочник регионов и выводите регион из справочника районов.
Не выводите в визуализации измерения из таблиц фактов, если Вы не прописали в мере двунаправленную фильтрацию. Фильтр в Excel распространяется только в одну сторону!
В файле сделал "нормальные" связи. Добавил столбцы Регион-Район, по которым нужно сделать связь на случай наличия одноименных районов в разных регионах.
2. По идее, фильтровать сводную по районам с данными по суммам вы можете по значению и не париться с мерами. При этом посчитать численность только по тем районам, в которых, по которым есть данные по сумме, можно и прямо в мере разными способами (двунаправленная фильтрация, фильтр и тд):
Код
Численность_:=CALCULATE (
    SUM ( 'Таблица1'[Численность] );
    FILTER ( 'спрРайон'; NOT ISEMPTY ( RELATEDTABLE ( 'Таблица2' ) ) )
)

Код
Численность_2:=CALCULATE (
    SUM ( 'Таблица1'[Численность] );
    'Таблица1'[Район] IN VALUES ( 'Таблица2'[Район] )
)

Код
Численность_3:=CALCULATE (
    SUM ( 'Таблица1'[Численность] );
    CROSSFILTER ( 'Таблица2'[Район]; 'спрРайон'[Район]; BOTH )
)

3. Если Вы видите, что для вроде бы простых вычислений нужно писать сложные меры - это признак неправильной модели данных.
Изменено: surkenny - 25.07.2022 09:34:17
Страницы: 1
Наверх