Страницы: 1
RSS
DAX формула аналог vlookup
 
Добрый вечер, уважаемые форумчане!

Недавно начал пробовать работать PowerPivot и что-то очень тяжело даются мне DAX формулы. Помогите, пожалуйста, разобраться.

Имеем 2 таблицы, связанные по полю barcode:
1. Sales Data - продажи детских подгузников
2. SKU - перечень артикулов с характеристиками продукта

Задача: в своднике добавить расчетное поле, рассчитывающее цену за 1 подгузник = расчетное поле в своднике Price per Pack / pieces per pack из таблицы SKU

Во вложении пример. Буду признателен за помощь.  
 
А что именно не получается? Вы же сами разделили в Power Pivote SalesValue/SalesItem(так понимаю это штуки). Вам и вышел результат.
 
Нет, Sales Item - это упаковка. В упаковке может быть различное количество штук(подгузников), которое необходимо подтянуть из таблицы SKU.
 
Доброе время суток
Цитата
DAX формула аналог vlookup
Как бы есть Функция LOOKUPVALUE (DAX). Только в реальности вам она не нужна. А вот что нужно из файла и вашего описания я понять не смог. Не специалист, увы, по продажам.
 
Если я все правильно понял, и в табличку фактов с продажами нужно затащить значения из справочника SKU, то вам нужна функция RELATED Function (DAX)
А функция для расчетного поля будет выглядеть так:
Код
=[Price per pack]/RELATED(SKU[Pieces per pack])
Изменено: PooHkrd - 11.07.2017 13:47:31
Вот горшок пустой, он предмет простой...
 
PooHkrd, спасибо! Так можно сделать, но страдает корректность расчетов цены за подгузник в своднике, т.к. не учитывается проданный объем по той или иной цене.

Я бы хотел добавить расчетное поле в сводную таблицу (Powerpivot => Calculated Fields => New Calculated Field), которое бы считало в своднике цену за подгузник как Sum(SalesValue)/Sum(SalesItem)/Sum(pieces per pack)
 
Тогда наверное так: добавил столбец SALESUNITS для каждой строки, который считает сумму проданных штук подгузников. Потом добавил меру
Код
Средневзвешенная цена за один подгузник:=SUM([SALESVALUE])/SUM([SALESUNITS])
Вот она то и должна посчитать в сводной то что нужно для каждой строки и для итогов.
Думаю, что меру можно было сделать и без добавления столбца SALESUNITS, но т.к. сам только учусь этой кухне, то сделал как есть, просьба сильно не бить.

Это то что вы хотели получить?
Изменено: PooHkrd - 12.07.2017 09:37:11
Вот горшок пустой, он предмет простой...
 
Все гениальное просто )) Думал знаний не хватает, а оказывается глаз замылен. Спасибо!
 
Цитата
PooHkrd написал:
можно было сделать и без добавления столбца SALESUNITS
можно, а в некоторых случаях и нужно
Код
WeightedAvgPrice:=DIVIDE(SUM(SalesData[SALESVALUE]);SUMX(SalesData;SalesData[SALESITEM]*RELATED(SKU[Pieces per pack])))
F1 творит чудеса
 
Максим, а почему вы используете не "/", а именно DIVIDE?
Вот горшок пустой, он предмет простой...
 
PooHkrd, без третьего аргумента - чтобы избежать ошибок деления на 0, вместо них получаем BLANK. Просто good practice
F1 творит чудеса
Страницы: 1
Читают тему
Наверх