Как получить процент от общей суммы на каждом иерархическом уровне в службах аналитики - PullRequest
0 голосов
/ 15 октября 2018

Я унаследовал многомерный куб OLAP (SQL Server 2014), и в настоящее время мне нужно расширить его для получения необходимого результата.

В настоящее время у меня есть книга ссуд к дате отчета, а затем мне нужнополучите пропорцию кредитного портфеля по географии.

Примером иерархии будет: CY2018> CY2018 Q3> Jul CY2018> Австралия> Victoria> 3000, а затем отобразятся поля, Текущий баланс и Пропорция кредитного портфеля.

Или, в качестве альтернативы, я хотел бы видеть пропорцию книги ссуд для Виктории по всей книге ссуд на конкретную дату.

Доля ссудной книги - это расчет баланса на определенном уровне.в иерархии, разделенной на остаток All для книги ссуд на определенную дату.

Например: если вы смотрите на февраль 2017 года и Victoria, то я хотел бы увидеть пропорцию книги ссуд на февраль2017, Виктория по всему балансу за февраль 2017 года.

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

Если вы смотрите на январь 2016 года и Австралию, то вы увидите 100%,общая сумма кредитного портфеля за этот месяц.

Доля кредитного портфеля всегда будет рассчитываться в течение текущего выбранного месяца.Нет смысла рассчитывать долю кредитного портфеля за несколько месяцев или кварталов и т. Д., Но мне было бы все равно, если бы это произошло как побочный эффект от того, чего я пытаюсь достичь.

На данный моментЯ создал вычисляемый элемент, называемый Пропорцией книги займа, следующим образом:

Case  
    When IsEmpty( [Measures].[Current Balance] )   
    Then 0  
    Else ( [Geography].[Geography Key].CurrentMember,  
           [Measures].[Current Balance]) /  
         ( [Geography].[Geography Key].[All],   
           [Measures].[Current Balance] )  
    End

Это приводит к примерно так: Cube image

Проблема в том, чтоон (1) не учитывает текущий месяц, а (2) показывает только пропорциональное значение на самом нижнем уровне почтового индекса.Я подделал цифры здесь.но Виктория, например, должна показать как 36% от суммы кредитного портфеля за июль 2018 года, тогда как в настоящий момент она показывает как 100%.

Как мне этого добиться?

1 Ответ

0 голосов
/ 15 октября 2018

Хорошо, я понял это, я думаю.Вот мой код:

    Case  
    When IsEmpty( [Measures].[Current Balance] )   
    Then 0  
    Else ( [Geography].[Geography Key].CurrentMember,  
           [Measures].[Current Balance]) /  
         ( Root([Geography].[Geography Key].[(ALL)].[ALL]),   
           [Measures].[Current Balance] )
    End

Я не знаю, насколько это правильно;Я спотыкался, пока что-то не сработало!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...