#powerbi #ssas #dax #powerbi-desktop #power-bi-report-server
#powerbi #ssas #dax #powerbi-desktop #power-bi-report-server
Вопрос:
Итак, я хочу отобразить платежи от отдельных доноров за период времени между их первым пожертвованием и сегодняшней датой.
Чтобы заполнить пробелы в визуальном представлении пожертвований с течением времени, я использую таблицу календаря и выбираю ‘показывать элементы с отсутствующими данными’.
Моя проблема в том, что если донор впервые пожертвовал в 2005 году, тот факт, что таблица календаря начинается с 1980 года, означает, что график показывает диапазон дат по оси X, начинающийся с этого года. Таким образом, он показывает много времени, о котором мы знаем, что у него нет данных.
Как я могу по умолчанию использовать диапазон дат, начинающийся с даты первого внесения идентификатора пользователя, переданного в отчет?
Таблицы: Календарь, пожертвования
Комментарии:
1. Некоторые примеры данных с ожидаемым результатом помогут.
Ответ №1:
Один из способов добиться этого — создать меру, которая проверяет, есть ли пожертвования в текущем контексте фильтра. Для вашей диаграммы это будет для выбора date
и donor
категорий, хотя это сработало бы в любом другом контексте фильтра, который относится к пожертвованиям.
Это будет выглядеть примерно так:
Has Donations =
if(calculate(isempty(relatedtable(DonationsTable
)
)
)
,0
,1
)
Затем вы можете добавить этот фильтр в Filters on this visual
раздел панели фильтров и проверить, где находится значение 1
, однако убедитесь, что для вашей date
оси установлено значение continuous
. Это вернет все даты между самым старым и самым новым пожертвованием.
Комментарии:
1. Итак, я замечаю, что если я забуду таблицу календаря и перетащу поле даты в таблице «Пожертвования» на ось X и обеспечу непрерывность оси, Power BI заполнит все достаточно хорошо. Таким образом, даже если первое пожертвование было сделано в 2015 году, а последнее в 2018 году, между ними будет пробел, когда они появятся на оси. Но как я могу гарантировать, что шкала соответствует сегодняшней дате, а не только периоду между пожертвованиями?
2. Это значительно сложнее и будет намного больше зависеть от того, как настроена ваша модель.