#sql #sql-server #dax
#sql #sql-сервер #dax
Вопрос:
Я хочу знать, как я могу добавить один и тот же номер для каждого текстового значения в столбце.
Например:
| Text | Number |
| AAA | 1 |
| AAA | 1 |
| BBB | 2 |
| CCC | 3 |
| AAA | 1 |
| DDD | 4 |
| BBB | 2 |
Независимо от того, если кто-то знает решение в DAX или запрос для заполнения столбца в SQL Server, я буду рад получить решение.
Ответ №1:
Вы можете использовать dense_rank()
:
select col1, dense_rank() over(order by col1) as val
from tablename
Комментарии:
1. Я думаю, вам следует удалить
partition by col1
предложение.
Ответ №2:
Если вы предпочитаете использовать DAX, создайте вычисляемый столбец:
Number = RANKX(TableName,TableName[Text],,ASC,Dense)
Функция RANKX выполняет итерацию по вашей таблице и присваивает ранг на основе сортировки по возрастанию [Текст].