Как получить подробную информацию об аренде за месяц, используя power bi
Я хочу показать подробности активной аренды за данный месяц в power bi. У меня есть таблица, где у меня есть детали аренды. В этой таблице у меня есть дата начала, дата окончания и сколько месяцев. Поэтому, когда я выбираю месяц в power bi visual, я хочу показать, какие арендные ставки в настоящее время активны, используя power bi
пример
Дом A 1.1.2019 31.12.2019 12 Дом B 1.2.2019 31.05.2019 03 Дом C 1.4.2019 31.12.2019 08
Если я выберу месяц, июньским результатом должны быть Дом A и Дом C, а если я выберу результат марта, то должны быть Все три (A, B, C)
Может ли кто-нибудь помочь мне с властью би?
Пожалуйста, найдите мое решение здесь - ( https://app.powerbi.com/groups/me/reports/b12bf4b6-14f1-41e1-9bf9-832509dce3e9?ctid=8ac0e5ca-0835-4daf-af23-c940683adbef)
Я получаю таблицу, используя вышеуказанное решение. Мне нужно сопоставить subscription_id с другими таблицами и получить данные, но в настоящее время это не позволяет. Любое решение
1 ответ
Предположим, у вас есть данные в одной таблице под названием "Аренда"
Таблица аренды содержит следующую информацию (но не ограничивается):
[Местоположение] | [Rent_Start] | [Rent_End]
Первый шаг:
Создать таблицу календаря:
SELECTCOLUMNS(
GENERATESERIES(
MIN(Rentals[Rent_Start]);
MAX(Rentals[Rent_End])
);
"Date"; [Value]
)
Добавьте два вычисляемых столбца в таблицу календаря [Имя месяца] и [Номер месяца]
Шаг 2: Соедините таблицу проката с календарем в новой таблице, добавьте столбец флага, который указывает, используется ли местоположение или нет. Отфильтруйте строки, когда местоположение не используется, и выберите нужные столбцы:
RunningTime =
SELECTCOLUMNS(
FILTER(
ADDCOLUMNS(
CROSSJOIN(Rentals; Calendar);
"In_Use";
IF([Date] >= [Rent_Start] && [Date] <= [Rent_End]; 1; blank() )
);
[In_Use] = 1
);
"Location"; [Location];
"Start"; [Rent_Start];
"End"; [Rent_End];
"Date"; [Date]
)
Шаг 3: Создайте соотношение 1:* между столбцами Calendar[Date] и RunningTime[Date]. Теперь вы можете создать срез из календаря, используя имя месяца, а в визуальной таблице с помощью RunningTime [Местоположение] вы не сможете увидеть, какие местоположения используются при выборе определенного месяца.
(Номер месяца необходим для сортировки [Название месяца] в "правильном" порядке, а не в алфавитном порядке)
Изменить 1: Давайте посмотрим, я думаю, мой код делает то, что вам нужно, насколько я могу понять вас. Если следующее разъяснение не работает для вас, вернитесь ко мне, загрузив вашу модель (или пример). Кроме того, не уверены, что вы имеете в виду, различая используемые дома и общую вместимость.
Насколько я могу судить по вашему изображению и тексту, мои [Rent_Start] и [Rent_End] соответствуют вашим столбцам [start_date] и [end_date], оба в формате datetime. Так я не понимаю, в чем проблема?
Если вы просто хотите узнать, сколько домов используется, вам нужна эта мера:
Houses in use =
DISTINCTCOUNT('RunningTime'[Location])
Эти три столбца необходимы в моем решении, хотя вы можете иметь больше.
Затем я получаю новую таблицу, похожую на эту:
Эта новая таблица связана с календарем следующим образом:
Затем в визуальной таблице я использую столбцы [Location], [Start] и [End] из таблицы "RunningTime". И я создаю срез на основе Month_Name из моей таблицы Календаря, например так (примечание: на этом рисунке не был выбран месяц):
Если я сейчас выберу январь, я получу следующее:
Если я выберу март, я получу следующее: