2016-07-12 1 views
1

Я в настоящее время борется со следующей просьбой в PowerBI:Сверление периодических данных времени (подписки с датой начала и окончания) в месяц?

У меня есть два файла CSV, как запросы PowerBI, один, который определяет фискальные месяцев, и еще один, который содержит список всех подписок, включая дату начала и окончания:

Финансовый месяц CSV:

Month  Fiscal Start Fiscal End 
January 03.01.2016  04.02.2016 
February 05.02.2016  03.03.2016 
March  04.03.2016  06.04.2016 
April  07.04.2016  02.05.2016 
May  03.05.2016  06.06.2016 
June  07.06.2016  03.07.2016 
July  04.07.2016  05.08.2016 
August  06.08.2016  02.09.2016 

подписка CSV:

Account-ID Subscription-Start Subscription-End Item Count 
101   08.01.2016   07.02.2016   5 
102   15.01.2016   14.03.2016   3 
103   05.01.2016   04.06.2016   10 
101   08.02.2016   07.03.2016   3 
104   10.04.2016   09.05.2016   5 
105   16.04.2016   15.07.2016   2 

Моя задача теперь состоит в том, чтобы развернуть все количество элементов подписки за финансовый месяц в качестве таблицы powerBI.

Примечание: счетчик товаров действителен в течение финансового месяца, если его начальный абонемент < фискальный конец и его конец подписки> финансовый конец. (Пример: подписка от 15.01.2016 - 14.02.2016, должен учитываться в январе, а не в феврале)

PowerBI стол (схематичный пример):

Month  Item Count  
January 18  
February 16  
March  10  
April  17 
May  12  
June  2  
July  0  
August  0  

Как я могу это реализовать отчет в PowerBI? THX заранее за вашу помощь и BR bdriven

+0

Как вы хотите обрабатывать сценарии, как ваш Account ID-101 - сроки подписки перекрывают несколько налоговых периодов? –

+0

Идентификатор учетной записи 101 должен считаться 5 наименованиями в январе, идентификатор учетной записи 102 должен состоять из 3 пунктов в январе и 3 пунктов в феврале – bdriven

ответ

2

Я нашел следующее решение для моей проблемы:

Первого я создал новую таблицу и сделал перекрестное соединение двух запросов. Затем я отфильтровал строки, где мой запуск подписки был до окончания финансового месяца и окончания подписки после окончания финансового месяца.

Основываясь на этой новой таблице, я могу создать все соответствующие отчеты.

Пример кода см ниже:

Fiscal Month Report = 
FILTER(
    CROSSJOIN(
     ALL('Fiscal_month'); 
     ALL('Subscription') 
    ); 
    ('Subscription'[Subscription-Start] < 'Fiscal_month'[Fiscal End] && 'Subscription'[Subscription-End] > 'Fiscal_month'[Fiscal End]) 
)