Страницы: 1
RSS
DAX Фильтр по значению каждой строки, DAX Фильтр по значению каждой строки
 
Задача: необходимо для каждой строчки в таблице А возвратить сумму отфильтрованных значений таблицы Б, где фильтром является каждая строчка таблицы А, сцепленная с текстом. Это если кратко описать ситуацию.

Непосредственно в моём файле: таблица А - продажи по номенклатурам помесячно, таблица Б - это расходы по статьям затрат помесячно. Месяц в обеих таблицах связан со справочником дат. Нужно распределить между номенклатурами пропорционально выручке каждую статью. Что я делаю: calculate ( sum (Таблица Б[Расход, руб.]) ; filter (Таблица Б; Таблица Б [Статья затрат] = "Электроэнергия"&&Таблица Б [Месяц] = Таблица А [Месяц])) * удельный вес выручки номенклатуры в этом месяце

*Электроэнергия в качестве примера.
Выделенная часть формулы, разумеется, не работает.
Я решила эту проблему через создание дополнительного столбца в таблице А: = Таблица А[Месяц]&"Электроэнергия". Но, учитывая большой объём данных продаж и большое количество статей затрат, эти дополнительные столбцы существенно утяжеляют файл и делает работу с ним практически невозможной.

Подскажите, пожалуйста, как можно решить эту проблему, не прибегая к созданию дополнительного столбца для каждой статьи затрат в таблице продаж.
 
Доброе время суток.
Вы уверены, что без примера, что есть что надо, можно быстро получить ответ? Попробуйте прочитать правила - это не больно :)
 
Цитата
sasha_777 написал:
Нужно распределить между номенклатурами пропорционально выручке каждую статью. Что я делаю:
разнести не проблема, проблема понять, что на что вы намазываете. Вот три статьи затрат, ABC, и три номенклатуры, XYZ.
Вы хотите выбрать номенклатуру Х и затраты А и увидеть, сколько на X пришлось А? А если вы выберете все три статьи, то сколько их суммарно пришлось на X?
тогда так, и не надо мучиться:
Код
=
VAR dolya =
    DIVIDE (
        SUM ( 'Таблица А'[Сумма] );
        CALCULATE ( SUM ( 'Таблица А'[Сумма] ); ALL ( 'Таблица А'[Номенклатура] ) ) // или ALL('Справочник номенклатуры'[Номенклатура]), если используете справочник
    )
VAR rashod =
    SUM ( 'Таблица Б'[Расход, руб.] )
RETURN
    dolya * rashod
F1 творит чудеса
Страницы: 1
Наверх