Maria Dëmochko
Доброе утро :)
Два вопроса.
Подскажите, пожалуйста, я правильно понимаю, что в документах у майкрософта в принципе весь функционал есть по pbi, другое дело, что нужно правильно искать?
И второй вопрос.
У нас в компании расчёт ведётся в разных валютах и пересчёт в единую происходит по разным курсам (этого года, прошлого и тп). Как правильнее этот расчёт выполнять, если есть таблица с исходными данными иотдельная с установленными курсами- через доп столбцы на моменте сборки п pq или через меры уже в pbi? Что будет оптимальнее.
Спасибо!
первый вопрос - я бы ответил, что всё есть, практически, кроме тонкостей "а как сделать мою хотелку". Функционал расписан, языки расписаны, осталось прочесть и усвоить :) но да, разбросано по разным веткам (например, администрирование и создание отчетов), где-то будет не очень глубоко прокопано, где-то наоборот, всё разжевано. Но чудес не бывает, все вопросы заранее не закрыть.
второй вопрос:
Встречный: а вам нужны суммы в начальной валюте (валюте учета)? Или только в сводной валюте?
Если нужны только сводные данные, то чем раньше вы их приведете к единой валюте, тем лучше. Если суммы в начальной валюте надо оставить, то немного хужее, но всё терпимо.
Из вашего вопроса я понял так, что курс устанавливается на год, и валют все же ограниченное число. Ну пусть их у вас 5 и глубина анализа - 5 лет. это справочник на 25 строк? :)
Далее нужно плясать от ваших основных данных - насколько их много, и сценарии пересчета
Возьмем простой случай - несколько миллионов строк и режим импорта, пересчет в одну единую валюту.
Первый вариант решения - подтянуть в таблицу фактов столбец курса пересчета (только курс). Cardinality столбца будет очень маленькой, существенного влияния он на модель не окажет. Подтянуть можно джойном в PQ - по синтетическому столбцу год+валюта, который потом можно грохнуть. Далее считаем мерой типа SUMX(Fact, Fact[Amount]*Fact[Rate]). Она будет работать весьма быстро. Это если вам надо оставить данные и в родной валюте, и в пересчете. Если только в пересчете - то можно уже в PQ создать пересчитанный столбец и его просто суммировать. Можно держать и два столбца - с начальной и с пересчитанными суммами, но в этом случае будет гораздо больше cardinality столбца с пересчитанной суммой, больше места займет.
Второй вариант решения - оставить в справочнике и построить связи через бридж-таблицу, например, или еще через синтетический ключ, и тащить из справочника через RELATED. Такой вариант подойдет, если нужно пересчитывать то в одну валюту, то в другую - по выбору пользователя. Лишние столбцы не плодим, и т.п.
Ну и все эти варианты прогоняем через DAX Studio для анализа производительности