2016-09-23 1 views
0

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

У меня есть Визуализация таблицы, которая обеспечивает стоимость за час с помощью мер.

Category | Total Cost | Hours | Cost per Hour 
A  | 1000  | 10  | 100 
B  | 2000  | 100 | 20 
C  | 100  | 4  | 25 
D  | -500  | 100 | -5 
Total | 2600  | 214 | 12.1495 

Для моих целей, я также хотел бы создать% от общего итога Стоимость за час, чтобы добавить к визуализации treechart. Однако, если я снова добавлю [Стоимость за час] к дереву и воспользуюсь функциональностью «быстрого clac» в поле, она вернет 823,7% для первой записи в приведенной выше таблице как (100/12.1495) = 8.2307. Я хотел бы, чтобы этот% GT стоимости за час использовал общую сумму столбца «Стоимость за час». Желаемый результат:

Category | Total Cost | Hours | Cost per Hour | % of Cost per Hour 
A  | 1000  | 10  | 100   | 71.4% 
B  | 2000  | 100 | 20   | 14.3% 
C  | 100  | 4  | 25   | 17.9% 
D  | -500  | 100 | -5   | -3.8% 
Total | 2600  | 214 | 12.1495  | 100% 

Несколько замечаний, которые делают применение любого DAX сложным. Все приведенные ниже меры отфильтровываются с помощью нескольких отображений фильтров из таблиц 1-5 и фильтров уровня страницы из таблиц 1-5

Визуализация таблицы существует в таблице 1. Затраты существуют в таблицах 2-5 и относятся к Таблице 1, используя соотношение «один-два однонаправленного фильтра».

[Общая стоимость] - это мера, которая объединяет значения из 4 разных таблиц. Например: Total Cost = sum(table2[value])+sum(table3[value])+sum(table4[value])+sum(table5[value])

[Час] - это измерение, которое объединяет столбец из таблицы и делит на определенное количество записей в этой таблице. Например: Hours = sum(table1[hours])/Distinctcount(table1[records])

[Стоимость за час] - это Мера, состоящая из двух других мер. Cost per Hour = [Total Cost]/[Hours]

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

EDIT @alejandrozuleta: Таблица 1 является исходной таблицей, из которой указаны таблицы 2-5, &. Номер индекса был присвоен в таблице 1, а таблицы 2-5 связаны с этим ссылочным номером. Причина, по которой таблицы 2-5 существуют отдельно, состоит в том, что они содержат отдельные «типы» затрат, а соединение, которое происходит в этих таблицах, добавляет дополнительные столбцы, которые применимы только к конкретным типам затрат ... например, Таблица 2 - Расходы на персонал:

index | Category | Cost Type | Value | Age of Personnel 
1  | A  | Personnel | 1  | 33 

и Таблица3 это эксплуатационные расходы:

index | Category | Cost Type | Value | Scheduled or UnScheduled Maint 
2  | A  | Maintenance | 5  | Scheduled 

в случае [Age of Personnel] существовала в Table3 тогда он будет иметь «нулевой» для любой записи на техническое обслуживание [Cost Type] наоборот [Scheduled or UnScheduled Maint] будет иметь «нулевой», если он существовал в Таблице 2. Поскольку я не хочу иметь дело с визуализацией фильтров, требующей выбрать «(пробелы)» для определенных типов затрат, отношение данных между этими таблицами является фильтром с одним направлением «много-к-одному» с использованием [index] в качестве ключа.

EDIT2: Рабочая .pbix файл с условными данными и модель данных я описал связан: StackOverflow_GTofMeasure_Crosfilltered.pbix

+0

Не могли бы вы добавить таблицы 2,3,4,5 выборочных данных и exaplain лучше, как они связаны с таблицей 1. –

+0

@alejandrozuleta добавила информацию по вашему запросу. –

ответ

1

Я думаю, что это решение может работать для вас.В основном я создал два вспомогательных мер (которые вы не должны показывать в таблице):

CostPerHourHelper = SUMX(TableName,[Cost per Hour])

CostPerHourTotal = SUMX(ALL(TableName),[Cost per Hour])

Теперь вы можете создать свой % of Cost per Hour меру, используя это выражение:

% Cost Per Hour = [CostPerHourHelper]/[CostPerHourTotal] 

Он должен производить:

enter image description here

UPDATE:

Использование ALLSELECTED() функции для сохранения явных фильтров, которые были применены.

% Cost Per Hour = SUMX (TableName, [Cost per Hour]) 
    /SUMX (ALLSELECTED (TableName), [Cost per Hour]) 

Дайте мне знать, если это поможет.

+0

Вопрос [Стоимость за час] мера или расчетный столбец в таблице1? –

+0

@MarkDavidGaal, это ваша мера '[Стоимость за час]. –

+0

Хммм, это может сработать ... если вы вспомните в своем первоначальном посте, я упомянул, что я использую несколько визуализаций фильтров как из таблицы 1, так и из таблиц 2-5. Разве я не должен был бы добавлять их в ваш показатель [CostPerHourTotal] вместо простого использования функции ALL()? Если да, то каков наилучший метод получения ALL, за исключением отдельных столбцов фильтрации из нескольких таблиц? –

 Смежные вопросы

  • Нет связанных вопросов^_^