DAX / Powerpivot: как создать родительский элемент IF для сводной строки ›x

Ищем способ сделать следующее; любая помощь приветствуется!

Настройка: Excel 2013 и Powerpivot;

Разница в значениях

Значение №1 и №2 Сумма числовых значений

Расчетное поле в значении №3 (% от значения №1)

Вычисляемое поле в значении № 4 (Значение № 3 - Значение № 2)

Значение # 5 и # 6 Сумма числовых значений (отличных от # 1 и # 2)

Расчетное поле в значении №7 (% от значения №5)

Вычисляемое поле в значении # 8 (значение # 7 - значение # 6)

Строки в сводной таблице

Ряд № 1 Площадь

Ряд №2 Район

Строка № 3 Идентификатор кластера

Попытка создать новое вычисляемое поле, которое будет делать следующее (показывается с помощью формулы Excel для описания)

If(and(District Value#4)>0,ClusterID Value#8>0),1,2)

Есть идеи, как это можно сделать в DAX / Powerpivot ?????

Я пробовал иерархии, но безуспешно.

Вычисленные формулы позволят мне увидеть имя сводной строки, так что, возможно, фильтр, но, похоже, не может получить правильный синтаксис, если это даже разрешено ...

введите описание изображения здесьЗастрял ..

Мы очень ценим все предложения!


person user3074617    schedule 06.12.2013    source источник
comment
Этот вопрос не не по теме. Он просит формулу DAX. У нас все время возникают вопросы по DAX, отсюда и доступность тега. Это не что иное, как задать вопрос SQL. Power Pivot похож на локальный экземпляр табличного SSAS.   -  person mmarie    schedule 09.12.2013
comment
DAX и PowerPivot актуальны для этого сайта. Один - это язык программирования, а другой - источник данных. То, что это Excel, не означает, что это вопрос типа SuperUser.   -  person billinkc    schedule 09.12.2013


Ответы (1)


PowerPivot имеет несколько довольно мощных функций для адаптации вычислений к контексту (строкам).

Если есть что-то конкретное, что я хочу сделать только с родительскими строками (= итоги), функция HASONEVALUE () - это то, что вам нужно.

IF(HASONEVALUE(Stores[StoreName]), [Units Sold], BLANK())

Эта команда вычислит выражение Продано единиц для всех строк, кроме родительских. Возможно, вам придется переключить его, но обычно это должен быть самый простой и надежный способ определения родительских строк.

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

Также см. Эту блестящую статью Роба Колли.

person Petr Havlik    schedule 06.12.2013
comment
Спасибо за помощь. Я пытаюсь сделать обратное, я пытаюсь выполнить вычисление IF на основе родительского элемента строки. S0 ... Родитель строки в столбце A = 10 строка в столбце B = 5 Посмотрите, чтобы создать вычисление, которое говорит IF (родительский элемент в столбце A + строка в столбце B = 15, истина, ложь) Итак, в этом случае 10 +5 = 15, так что это было бы правдой. Как я могу использовать HASONEVALUE, чтобы получить значение этого родителя в столбце A? Спасибо еще раз за помощь ! Ларри - person user3074617; 07.12.2013
comment
Как насчет создания новой меры, которая выполняет именно это (суммирование столбца A и столбца B), а затем добавления новой меры, например: = IF (значение ›[NewMeasure], true, false)? - person Petr Havlik; 08.12.2013
comment
Я упустил что-то простое? Я пытаюсь выполнить вычисление в IF, которое смотрит исключительно на верхнюю часть родительского элемента, а затем на отдельную строку, чтобы прийти к истинному ложному выводу. Я думаю (опять же, если мне что-то не хватает), если я сделаю столбцы суммы A и B, я все равно буду оценивать только строку, а не родительский плюс строку ?? Мысли. Цените помощь (снова) - person user3074617; 09.12.2013
comment
Я не уверен, что следую. Без исходных данных сложно увидеть и дать совет. Я подумал, что если вы суммируете итоги в отдельном измерении, вы можете сделать IF. Но я не понимал, что вам нужно добавить фактическое значение строки ... - person Petr Havlik; 11.12.2013
comment
да. это немного сложно описать. Снимок экрана выше немного помогает. Но в основном, скажем, у вас есть набор данных из 6 столбцов, столбец A - это площадь, столбец B - район, столбец C - кластер, столбец D - количество виджетов, столбец E - количество сотрудников, работающих полный рабочий день, а столбец F - количество Сотрудники, занятые неполный рабочий день. Затем разверните строки по области, району и кластеру, затем добавьте к значениям столбец D Widgets, E FT Employees и F PT. Я пытаюсь получить сумму виджетов округа, добавить ее к сумме сотрудников округа FT и добавить ее к сумме сотрудников кластера PT. Любой способ сделать это ?? - person user3074617; 11.12.2013
comment
почему у вас есть столбцы, идентичные строкам? :) - person Petr Havlik; 11.12.2013
comment
Что касается столбцов, они не идентичны, строки представляют собой иерархию, столбцы представляют количество сотрудников, поэтому суммы представляют собой количество сотрудников по типу сотрудников на уровне области / района / кластера и магазина. Расчеты относятся к ограничениям на количество сотрудников. Таким образом, если район закончился, кластер или магазин не могут нанимать, если район и кластер находятся в ограниченном количестве, чем если в магазине меньше ограничений, они могут нанимать. Итак, вычисление, с которым я борюсь, хочет сделать, ЕСЛИ округ находится под лимитом, чем оценить, находится ли кластер ниже лимита, если ложь, никто не может нанять. - person user3074617; 12.12.2013
comment
Все, что я пробую, смотрит только на строку по отдельности. Если бы это был статический лист, а не стержень, я бы использовал $ Column $ row для всех дочерних элементов района. Вот где я застрял, оценивая родительский (район) для всех детей округа, чем, если округ равен ›0, оценивая строку, чтобы увидеть, являются ли они› 0, если все верно, магазин может нанять. - person user3074617; 12.12.2013
comment
ох, теперь я думаю, что понял :) экран выглядел немного сбивающим с толку. просто для уточнения - откуда шапка? если иерархия (район / кластер / магазин) исходит из одной и той же таблицы, можно ли сказать, что по определению верхний / нижний предел является наиболее важным для магазинов - это означает, что если ограничение для магазинов превышено, существует ни в коем случае не может быть ниже для кластера / района. Верный? - person Petr Havlik; 13.12.2013
comment
Заглавные буквы - это вычисление из 4 различных сумм столбцов из таблицы PowerPoint. Таким образом, используя стандартный powerpivot, я показываю итоги подсчетов, чем, используя вычисляемое поле, делаю математические вычисления с [Sum of ColumnName], который показывает все итоги по площади / району и т. Д. Теперь самая сложная часть: это новый вычисляемая формула, которая фильтрует, чтобы использовать вычисленное количество пределов, но только в иерархии округов. фактическая математика будет IF (и (District CAP1 ‹0, District CAP2‹ 0, Cluster Cap3) ‹0, Hire, Do Not Hire. Надеюсь, это имеет смысл ... :) - person user3074617; 15.12.2013
comment
Так что на самом деле, даже если ваш кластер (магазин) находится под лимитом, если ваш округ в целом не соответствует требованиям, вы не сможете нанять. - person user3074617; 15.12.2013
comment
Извините за задержку с ответом - не могли бы вы поделиться некоторыми образцами данных (с поддельными числами ...), это может помочь найти ответ, в котором я не уверен прямо сейчас :) - person Petr Havlik; 03.01.2014