powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Распределение на DAX или PowerQuery или еще как?
5 сообщений из 5, страница 1 из 1
Распределение на DAX или PowerQuery или еще как?
    #39852008
scandium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, Друзья!
Не проходите мимо - помогите, уже два дня убил на это чудо((

Задача:
необходимо получить матрицу со значениями (оборот) в разрезе статей (строки) и проектов (колонки). Для определенных статей нужно заменить значения из исходных данных на расчетные.

То есть по вложенному скрину видно нам нужно получить колонку со следующими значениями:
НДФЛ 54 618,58
Обяз. страх взносы 92 448,13
ФОТ 1 121 526,41

Статьи НДФЛ и Страх. взносы нужно распределить относительно ФОТ по проектам. Использовались следующие формулы:

мера_НДФЛРаспр = Calculate( [мера_НДФЛВСЕ] * [мера_ДоляПроектаПоФОТ] )
мера_НДФЛВСЕ = Calculate(Sum('ТаблицаОборотов'[Оборот]); 'ТаблицаОборотов'[Статья] = "НДФЛ" ; ALL('ТаблицаОборотов'[Проект]))
мера_ДоляПроектаПоФОТ = DIVIDE( [мера_ФотПроекта]; [мера_ФОТВСЕ]; 0 )
мера_ФотПроекта = Calculate(Sum('ТаблицаОборотов'[Оборот]); 'ТаблицаОборотов'[Статья] = "ФОТ персонала")
мера_ФОТВСЕ = Calculate(Sum('ТаблицаОборотов'[Оборот]); 'ТаблицаОборотов'[Статья] = "ФОТ персонала" ; ALL('ТаблицаОборотов'[Проект]))

аналогично для Обяз. страх взносы.

пытались решить вопрос через вычисляемый столбец
Оборот_БДДС = IF( 'ТаблицаОборотов'[Статья] = "НДФЛ" ; мера_НДФЛРаспр ; IF( 'ТаблицаОборотов'[Статья] = "Страх" ; мера_СтрахВзносыРаспр ; Sum('ТаблицаОборотов'[Оборот]) ))

и через меру пытались построить условие, но не смогли выявить статью из контекста строки и в итоге заполняется значением первого условия.

Есть хорошие решения как это сделать?
...
Рейтинг: 0 / 0
Распределение на DAX или PowerQuery или еще как?
    #39852033
IDVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
= SumX( Addcolumns( Values( 'Dim'[Atr])
                  , "xValue"
                  , if( Values( 'Dim'[Atr]) = "A"
                      , Calculate( 5 
                                   * Sum( 'Dim'[Qtty])
                                  )
                      , if( Values( 'Dim'[Atr]) = "B"
                          , Calculate( 10 
                                       * Sum( 'Dim'[Qtty])
                                      )
                          , Calculate( Sum( 'Dim'[Qtty])
                                      )
			              )
                      )
                  )
      , [xValue]
      )
...
Рейтинг: 0 / 0
Распределение на DAX или PowerQuery или еще как?
    #39852053
scandium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVT,

https://gyazo.com/85981b558d0facea28d76580690a15ca
не получается, видимо потому что таблица изначальная еще по периодам разбита
...
Рейтинг: 0 / 0
Распределение на DAX или PowerQuery или еще как?
    #39852061
IDVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
слукавил.....

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SumX( Addcolumns( Values( 'Dim'[Atr])
                , "xValue"
                , Var xAtr = Min( 'Dim'[Atr])
                  Return if( xAtr = "A"
                           , Calculate( 5 
                                        * Sum( 'Dim'[Qty])
                                      )
                           , if( xAtr = "B"
                               , Calculate( 10 
                                            * Sum( 'Dim'[Qty])
                                          )
                               , Calculate( Sum( 'Dim'[Qty])
                                          )
			                   )
                           )
                )
      , [xValue]
      )


но лучше сразу приводите к нормальной модели, т.е факты и измерения.
...
Рейтинг: 0 / 0
Распределение на DAX или PowerQuery или еще как?
    #39852617
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scandium,

лучше не в кубе, а sql процедурой расчитаете деление расходов заранее
так и удобнее и контрлировать и проверять и отражать в кубе
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Распределение на DAX или PowerQuery или еще как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]