Страницы: 1
RSS
Деление величин из связанных таблиц в Power Pivot
 
Здравствуйте.
Прошу помощи.
Как правильно перемножить или поделить две величины из таблиц, которые связаны "один ко многим"?
То есть, в таблице 1 находится делимое значением, а в таблице 2 делитель.
Связь сделана так: таблица 2 связана с табл 1 как "один ко многим".
На всякий случай приложу скрины связи. Хотя, там вроде все просто.

Делаю деление формулой: Табл1[столбец]/Табл2[столбец] и получаются неправильные цифры какие-то. Где искать ошибку? )
Изменено: fuzzlo - 26.11.2022 18:41:39
 
fuzzlo, лучше бы вы файл с моделью приложили, а не скриншот. Да и в тексте у вас Табл1 и Табл2, а на скриншоте "финвыгруз" и "себес", вот и гадай помогающий, что на что вы делите... Естественно я разобрался, но почему сразу нормально не написать как в реальности таблицы названы? Зачем эти шифровки?
И где вы пытаетесь так делить? В вычисляемом столбце или мере? Ни там, ни там как вы написали работать не будет - в мере требуется агрегация, а в столбце RELATED так что опять помогающим надо гадать, что вы там хотите сделать.
 
Цитата
написал:
fuzzlo, лучше бы вы файл с моделью приложили, а не скриншот. Да и в тексте у вас Табл1 и Табл2, а на скриншоте "финвыгруз" и "себес", вот и гадай помогающий, что на что вы делите... Естественно я разобрался, но почему сразу нормально не написать как в реальности таблицы названы? Зачем эти шифровки?
И где вы пытаетесь так делить? В вычисляемом столбце или мере? Ни там, ни там как вы написали работать не будет - в мере требуется агрегация, а в столбце RELATED так что опять помогающим надо гадать, что вы там хотите сделать.
Выкладываю кусок данных в файле https://disk.yandex.ru/i/J8OVymIRQJ9UMA
Поясню еще раз, что хотелось бы:
SUMX('финвыгруз';'финвыгруз'[Прибыль на 1шт]/'Себес'[Сумма по столбцу 11.10.2022])
или тоже самое, только через DIVIDE. Результат тот же.
Как правильно сделать меру?
Изменено: fuzzlo - 28.11.2022 15:07:18
 
fuzzlo,
Вот здесь:
Код
SUMX('финвыгруз','финвыгруз'[Прибыль на 1шт]/'Себес'[Сумма по столбцу 11.10.2022])

'Себес'[Сумма по столбцу 11.10.2022] - это у вас неявная(неименованная) мера, которая создалась, когда вы просто перетащили столбец [11.10.2022] в сводную. Естественно, что она считает сумму по всей таблице Себес, а таблица финвыгруз ее никак не фильтрует, так как направление фильтра по связи от Себес к финвыгруз.
В другой мере вы же правильно сделали:
Код
Себестоимость руб:= SUMX('финвыгруз','финвыгруз'[Заказы минус возвраты]*RELATED('Себес'[11.10.2022]))

С помощью RELATED ссылаетесь на столбец в связанной таблице, а не на меру. Ну так и сделайте по аналогии:
Код
SUMX('финвыгруз','финвыгруз'[Прибыль на 1шт]/RELATED('Себес'[11.10.2022]))

Но только все таки для деления лучше DIVIDE, так как обрабатываются ошибки деления на 0 и пустоту.

ps Но мой вам совет: пересмотрите свою модель - приведите таблицы к нормальному плоскому виду. У вас таблица складов в виде матрице - с этим не возможно работать нормально. Как фильтровать по складам то? Ну и все прочее тоже: много лишних столбцов, измерения в таблице фактов, использование неявных мер и т.д., и т.д.
Изменено: StepanWolkoff - 29.11.2022 11:07:26
 
Так я делал:
Код
SUMX('финвыгруз','финвыгруз'[Прибыль на 1шт]/RELATED('Себес'[11.10.2022]))
В этом случае считает большие цифры. Хотя не такие величины должны получаться.
В колонке Прибыль на 1шт такие величины. Мера 1 это как раз мера высчитанная по формуле выше.
https://skr.sh/sH9zjK7Zuzk

Ну и величины в колонке себестоимость:
https://skr.sh/sH9oJgK6tbv

Откуда такие величины получаются?
Изменено: fuzzlo - 29.11.2022 13:58:49
 
Цитата
написал:
'Себес'[Сумма по столбцу 11.10.2022] - это у вас неявная(неименованная) мера, которая создалась, когда вы просто перетащили столбец [11.10.2022] в сводную. Естественно, что она считает сумму по всей таблице Себес, а таблица финвыгруз ее никак не фильтрует, так как направление фильтра по связи от Себес к финвыгруз.
тут вопрос. Каким образом из столбца 'Себес'[Сумма по столбцу 11.10.2022]  сделать меру?
Таблица финвыгруз это плоский отчет, который в себе содержит повторяющиеся значениям артикула и его нельзя связать связью финвыгруз → Себес. В Power Pivot не дает такой возможности "многие к одному".
 
fuzzlo, читайте внимательно, что вам пишут.
Цитата
fuzzlo написал:
Каким образом из столбца 'Себес'[Сумма по столбцу 11.10.2022] сделать меру?
Это НЕ СТОЛБЕЦ - ЭТО МЕРА. У вас нет такого столбца в таблице, у вас есть столбец [11.10.2022]
Цитата
fuzzlo написал:
В этом случае считает большие цифры. Хотя не такие величины должны получаться.
Чтобы не получать "большие" цифры - в итераторах используйте соответствующую гранулярность.
У вас себестоимость по товарам, а финвыгруз по товарам, датам и складам. Вот и думайте как правильно сделать и что вам нужно.
Страницы: 1
Наверх