Как добавить тот же номер для того же элемента?

#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 выполняет итерацию по вашей таблице и присваивает ранг на основе сортировки по возрастанию [Текст].