Вы на 100% женаты на идее хранить все в одном столе? Есть несколько преимуществ в подходе к созданию отдельных таблиц для интервьюеров, кандидатов и, возможно, статуса интервью.
Однако давайте предположим, что вы предпочитаете хранить все в одной таблице. На самом деле нет необходимости в разворачивании столбцов для решения того, что вы ищете.
Я рекомендую использовать метод аккуратных данных и создать один столбец для каждой переменной. В этом случае переменными являются кандидат, интервьюер, дата собеседования, какое это интервью и каков статус собеседования. Лично я бы сделал статус интервью вычисляемым столбцом либо непосредственно в запросе, либо после загрузки таблицы с использованием DAX.
Вот как я бы к этому подошел - сначала сделайте дубликат исходного запроса. Удалите столбец статуса интервью на данный момент в обоих запросах.
В исходном запросе также избавьтесь от столбцов для интервьюера и даты интервью для второго интервью. У вас должно быть три столбца в исходном запросе - кандидат, интервьюер 1 и дата интервью 1. Создайте новую колонку для этапа интервью. Заполните его как «1» или «Первый».
В вашем дублирующем запросе сохраните информацию для кандидата, интервьюера 2 и даты интервью 2. Избавьтесь от интервьюера 1 и интервью 1 даты. У вас должно быть три столбца: кандидат, интервьюер 2 и дата интервью 2. Создайте новую колонку для этапа интервью. Заполните его как «2» или «Второй».
В обоих запросах измените имена столбцов, чтобы они были одинаковыми в обоих запросах. Я рекомендую просто убрать 1 или 2. из столбцов интервьюера и даты интервью.
Добавьте два запроса вместе. Теперь у вас должна быть одна таблица с четырьмя столбцами: кандидат, интервьюер, дата собеседования и этап собеседования. Поскольку ваш основной интерес - интервьюер, переместите этот столбец в крайнее левое положение. Сортируйте сначала по интервьюеру (по возрастанию или по убыванию в зависимости от того, что вам больше подходит), затем по возрастанию или убыванию кандидата, а затем по дате в порядке возрастания. Добавьте столбец индекса и либо оставьте его в конце, либо переместите его в крайнее левое положение по вашему выбору. Неважно, начинаете ли вы с 0 или 1 в столбце индекса.
На этом этапе вы можете либо загрузить таблицу, либо попытаться создать столбец состояния, используя те логические значения, которые c определяет ожидающие и очищенные или другие статусы у вас могут быть. Лично я считаю, что проще создавать столбцы для этого типа логики c с помощью DAX, но может быть проще сделать это в запросе, в зависимости от того, насколько сложна логика c.
Как только вы это сделаете В рассчитанном столбце для статуса у вас должно быть все необходимое для генерации визуальных элементов для того, что вы хотите увидеть. Столбец индекса предназначен для того, чтобы дать вам больше возможностей для подхода к столбцу статуса. Это также дает вам возможность поместить таблицу в том порядке, в котором она была в запросе до загрузки. Как я уверен, вы заметили, просматривая таблицы в представлении таблицы после загрузки, строки, вероятно, не в том порядке, в котором они были в запросе. Кроме того, вы не можете сортировать более одного столбца одновременно в представлении таблицы данных. Сортировка по столбцу индекса решает обе эти проблемы.
Если вы используете столбец состояния в DAX, вам, возможно, захочется взглянуть на функцию EARLIER, если вы еще не знакомы с ней.