Необходимо вычислить количество различных чисел и процент в одной строке, используя power bi dax

У меня есть таблица ниже в Power Bi.

идентификатор имя дата 1 А 30 апреля 2023 г. 2 А 30 апреля 2023 г. 1 А 30 апреля 2023 г. 4 А 30 апреля 2023 г. 3 Б 30 апреля 2023 г. я Б 30 апреля 2023 г.

Мне нужна визуальная сводная таблица, как показано ниже.

. А Б А 3 1/2(50%) Б 1/2(50%) 2

Например, если общее количество уникальных идентификаторов от A до A равно 3, а от A до B — это одна часть, которая распределяется между общими частями b, что составляет 1/2, не что иное, как 50 %.

Раньше это происходило на основе выбора пользователя в срезе, который является датой.

Как это сделать в DAX?

Какова формула/логика A:B? Как вы получили результат 1/2(50%)?

ttruhcheva 05.07.2024 13:44

в основном нам нужно отображать процент, логику, количество отдельных общих IDS/всего различных IDS. В этом случае общее количество отдельных общих IDS равно 1 по сравнению с A (идентификатор 1 присутствует как в A, так и в B) и общего количества различных IDS для B равен 2, следовательно, 1/2, что составляет 50%. Пожалуйста, дайте мне знать, если это кого-то сбивает с толку.

user1702932 05.07.2024 16:56

id 2 также присутствует в A и B. Почему мы это не учитываем?

Ryan 08.07.2024 02:47

Извините, я отредактировал от 2 до 3 рассматриваемых вопросов. Извините за путаницу.

user1702932 08.07.2024 06:14
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

ты можешь попробовать это

  1. создать новую таблицу

    Таблица 2= ВАР _tbla = DISTINCT ('Таблица'[имя])

    ВАР _tblb = SELECTCOLUMNS ( DISTINCT ( 'Таблица'[имя]), "имя1", 'Таблица'[имя])

    ВОЗВРАЩАТЬСЯ ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ ( _tbla, _tblb )

  2. создать столбец

    Столбец= ВАР _list = ОТЧЕТЛИВЫЙ ( ВЫБРАТЬ КОЛОННЫ ( ФИЛЬТР ( 'Таблица', 'Таблица'[имя] = 'Таблица 2'[имя] ), "id", 'Таблица'[id] ) )

    ВАР _list2 = ОТЧЕТЛИВЫЙ ( ВЫБРАТЬ КОЛОННЫ ( ФИЛЬТР ( 'Таблица', 'Таблица'[имя] = 'Таблица 2'[имя1]), "id", 'Таблица'[id] ) )

    ВАР _count = СЧЕТЧИКИ ( ПЕРЕСЕЧЕНИЕ ( _list, _list2 ) )

    ВОЗВРАЩАТЬСЯ ЕСЛИ ( 'Таблица 2'[имя] = 'Таблица 2'[имя1], РАССЧИТАТЬ ( DISTINCTCOUNT ( 'Таблица'[id]), ФИЛЬТР ( 'Таблица', 'Таблица'[имя] = 'Таблица 2'[имя] ) ), _считать / РАССЧИТАТЬ ( DISTINCTCOUNT ( 'Таблица'[id]), ФИЛЬТР ( 'Таблица', 'Таблица'[имя] = 'Таблица 2'[имя] ) ) )

тогда вы можете создать матрицу

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

user1702932 08.07.2024 13:16

мое значение среза — столбец даты

user1702932 08.07.2024 13:27

Я изменил код, как удар: Таблица 2 = VAR _tbla = DISTINCT ('Table'[имя]) VAR _tbld = DISTINCT ('Table'[дата]) VAR _tblb = SELECTCOLUMNS (DISTINCT ('Table'[имя]), "name1", 'Table'[имя] ) RETURN CROSSJOIN ( _tbla, _tblb ,_tbld )

user1702932 08.07.2024 14:15

Column = VAR _list = DISTINCT ( SELECTCOLUMNS ( FILTER ( 'Table', 'Table'[Derivate] = 'Table 2'[Derivate] && 'Table'[date] = 'Table 2'[date]), "id", 'Таблица'[PartNumber] ) ) VAR _list2 = DISTINCT ( SELECTCOLUMNS ( FILTER ( 'Таблица', 'Таблица'[Производный] = 'Таблица 2'[Производный1] && 'Таблица'[дата] = 'Таблица 2'[дата] ), "id", 'Table'[PartNumber] ) ) VAR _count = COUNTROWS ( INTERSECT ( _list, _list2 ))

user1702932 08.07.2024 14:22

продолжение, RETURN IF ( 'Таблица 2'[Производный] = 'Таблица 2'[Производный1], РАСЧЕТ ( DISTINCTCOUNT ( 'Таблица'[Номер детали] ), ФИЛЬТР ( 'Таблица', 'Таблица'[Производный] = 'Таблица 2' [Произвести] && 'Таблица'[дата] = 'Таблица 2'[дата]) ), _count / CALCULATE ( DISTINCTCOUNT ( 'Таблица'[Номер детали] ), ФИЛЬТР ( 'Таблица', 'Таблица'[Произвести] = 'Таблица 2'[Производное] && 'Таблица'[дата] = 'Таблица 2'[дата] ) ) )

user1702932 08.07.2024 14:22

Сейчас работаю! Большое спасибо.

user1702932 08.07.2024 14:22

Другие вопросы по теме