Сначала позвольте мне рассказать вам о данных, с которыми я работаю.Это веб-данные из Google Analytics за последние 6-8 недель, поэтому у меня есть даты, значения и множество измерений.Вот что я пытаюсь сделать с этим в Power Bi.
Я хотел бы сравнить сумму значений для определенного периода с соответствующим периодом.НО!формулы обычного параллельного периода не применимы в моем случае (или, возможно, я ошибаюсь, и я могу как-то их использовать), потому что мне нужна следующая логика в моем сравнении: если в фильтрах выбрано меньше или равно семи дням, чем сравнениес долями семь дней назад (поэтому, если выбраны два дня, сравните с двумя днями недели назад), если выбрано более семи дней, сравните с предыдущим периодом того же размера (поэтому, если выбрано 13 дней, сравните с 13 днями напрямуюдо) Плюс я бы хотел, чтобы эта мера реагировала на фильтрацию на стороне измерения.Мне нужна разница в процентах, но в настоящее время я работаю над мерой, которая может, по крайней мере, вернуть мне значение, основанное на логике выше.
Вот что у меня получилось (ниже).Я искал это решение здесь и, честно говоря, я понимаю только половину его.
Проблема здесь в том, что, когда я пытаюсь добавить все эти измерения (нижняя частьрешения), который следует учитывать в этой мере, вычисления стали очень медленными и не очень пригодными для использования.
Я прошу сообщество помочь мне оптимизировать этот сценарий или, возможно, найти другое решение для моей проблемы.
Большое спасибо заранее!
Sessions Past Period =
CALCULATE(SUM (ci_dashboard_v7[Sessions]), FILTER ( ALL ( ci_dashboard_v7 ),
COUNTROWS (FILTER ( ci_dashboard_v7, EARLIER ( ci_dashboard_v7[Date] ) = DATEADD ( ci_dashboard_v7[Date],IF(DISTINCTCOUNT(ci_dashboard_v7[Date])<7,-7,DISTINCTCOUNT(ci_dashboard_v7[Date])), DAY )
&& ci_dashboard_v7[WMC_partner_lvl1]=EARLIER(ci_dashboard_v7[WMC_partner_lvl1])
&& ci_dashboard_v7[WMC_partner_lvl2]=EARLIER(ci_dashboard_v7[WMC_partner_lvl2])
&& ci_dashboard_v7[Campaign]=EARLIER(ci_dashboard_v7[Campaign])
&& ci_dashboard_v7[cd003]=EARLIER(ci_dashboard_v7[cd003])
&& ci_dashboard_v7[cd135]=EARLIER(ci_dashboard_v7[cd135])
&& ci_dashboard_v7[Channel]=EARLIER(ci_dashboard_v7[Channel])
&& ci_dashboard_v7[Channel_simple]=EARLIER(ci_dashboard_v7[Channel_simple])
&& ci_dashboard_v7[Date]=EARLIER(ci_dashboard_v7[Date])
&& ci_dashboard_v7[Country]=EARLIER(ci_dashboard_v7[Country])
&& ci_dashboard_v7[Domain]=EARLIER(ci_dashboard_v7[Domain])
&& ci_dashboard_v7[Week]=EARLIER(ci_dashboard_v7[Week])
&& ci_dashboard_v7[Week_day]=EARLIER(ci_dashboard_v7[Week_day])
&& ci_dashboard_v7[Year_current]=EARLIER(ci_dashboard_v7[Year_current])
&& ci_dashboard_v7[Week_current]=EARLIER(ci_dashboard_v7[Week_current])
&& ci_dashboard_v7[Week_before_current]=EARLIER(ci_dashboard_v7[Week_before_current])
&& ci_dashboard_v7[is_CRM]=EARLIER(ci_dashboard_v7[is_CRM])
&& ci_dashboard_v7[WMC_tm]=EARLIER(ci_dashboard_v7[WMC_tm])
&& ci_dashboard_v7[Platform]=EARLIER(ci_dashboard_v7[Platform])
&& ci_dashboard_v7[Device]=EARLIER(ci_dashboard_v7[Device])
&& ci_dashboard_v7[OS]=EARLIER(ci_dashboard_v7[OS])
&& ci_dashboard_v7[WMC_type]=EARLIER(ci_dashboard_v7[WMC_type])
&& ci_dashboard_v7[Source_Accengage_Pigeon]=EARLIER(ci_dashboard_v7[Source_Accengage_Pigeon])
&& ci_dashboard_v7[WMC_tool]=EARLIER(ci_dashboard_v7[WMC_tool])
&& ci_dashboard_v7[WMC_full]=EARLIER(ci_dashboard_v7[WMC_full])
&& ci_dashboard_v7[Source]=EARLIER(ci_dashboard_v7[Source])
))))