#dax
#dax
Вопрос:
Я новичок в DAX и PowerBI, и у меня проблема с написанием формул DAX для моего случая: у меня есть две таблицы: Активы и заявки. У каждого есть идентификатор, а у активов есть ParentAssetId (может быть 0 или None). В выражении DAX: я хотел бы подсчитать (и перечислить) все билеты, прикрепленные к активу и его дочерним элементам.
Я пробовал этот способ, но безуспешно:
nbChildTickets =
VAR mykey =
SELECTEDVALUE ( Assets[AssetKey] )
VAR mypar =
SELECTEDVALUE ( Assets[ParentId] )
RETURN
CALCULATE(
COUNTX(Tickets, Tickets[TicketKey]),
FILTER(Tickets, RELATED(Assets[ParentId]) = mykey)
)
Это таблица активов, которая содержит как AssetKey, так и столбцы ParentID.
Есть какая-нибудь идея или как это сделать? Спасибо
Ответ №1:
Вопрос, эти таблицы уже связаны? В случае, если это так, кажется, что вам не понадобится подобная мера, чтобы получить количество # билетов по активу и его родительскому элементу. Я бы сделал это следующими двумя способами. Предположим, вам это нужно в таблице:
Вариант 1.
- Создайте простой показатель подсчета, чтобы получить количество билетов в таблице Tickets, это может быть что-то вроде
Number of Tickets = COUNTROWS('Tickets')
- Перетащите таблицу на холст.
- Добавьте в таблицу активы и ее дочерние столбцы, наконец, добавьте свою новую меру в таблицу
Вариант 2. На случай, если у каждого билета есть идентификатор.
- Перетащите таблицу на холст.
- Добавьте в таблицу активы и ее дочерние столбцы. Также добавьте свой идентификатор билетов.
- В поля раздела (где вы перетащите столбцы, щелкните правой кнопкой мыши и выберите считать вариант.
- Выполнено
Помните, важно, чтобы обе ваши таблицы уже были связаны с работой. В противном случае Power BI не будет знать, как вычислять, и отобразит эту комбинацию данных для вас.
Комментарии:
1. Здравствуйте, спасибо за подсказки. Я добавил копию своих таблиц и холста в первом сообщении. Но у моих активов есть только AssetsId и ParentID. Прямых дочерних элементов нет. Мне удалось получить количество заявок для каждого ресурса, но не для Assest и его дочерних активов. Обратите внимание, что дочерние активы находятся в той же таблице, что и родительские: это таблица активов.
2. Поскольку у меня нет прямой информации о дочерних элементах или конкретной таблицы, мне не удалось выполнить шаги «дочернего столбца», на которые вы ссылаетесь. У вас есть еще какие-нибудь подсказки для моего случая?
Ответ №2:
Сначала создайте две связи между активами и таблицей билетов. Одна связь будет активна (один ко многим) в столбце AssetKey столбца.
Вторая связь будет неактивной. Актив [AssetKey] = Билет [ParentID]
Теперь используйте приведенные ниже меры —
Number Of Tickets = COUNT(Tickets[TicketKey])
Number of Child = CALCULATE(COUNT(Tickets[AssetKey]),USERELATIONSHIP(Asset[AssetKey],Tickets[ParentId]))
Схема взаимосвязи приведена на рисунке ниже :
Результат указан ниже:
Пустую строку можно исключить из визуальных фильтров :