Что у меня есть: источник данных со строковым столбцом, назовем его «имя». Есть еще, но они не имеют отношения к вопросу.
Столбец «имя» в контексте конкретного запроса содержит только 2 различных значения:
Но любой из двух разное количество раз. Эти два будут Только.
Теперь мне нужно следующее: в контексте оператора summarize мне нужен столбец, заполненный двумя различными значениями strcat, объединенными вместе, поэтому я получаю просто «SomeName».
То, что у меня есть, не соответствует этому требованию, и я не могу заставить себя найти решение для этого:
datatable(name:string)["","SomeName","SomeName"] // just to give a minimal reproducible example
| summarize Name = strcat_array(make_list(name), "")
что дает мне
| Name > SomeNameSomeName
но мне нужно просто
| Name > SomeName
Я осознаю, что мне нужно как-то и где-то сделать какое-то "отличное" или, может быть, есть совершенно другое решение, чтобы получить тот же результат?
Итак, мой вопрос: что мне нужно изменить в показанном запросе, чтобы выполнить мое требование?





Вау, как только я разместил вопрос, я нашел ответ:
datatable(name:string)["","SomeName","SomeName", ""]
| summarize Name = max(name)
Я понятия не имею, почему это работает для строкового столбца, но я здесь.
Это приводит к моему желаемому результату:
| Name > SomeName
... который, я полагаю, вероятно, менее эффективен, чем ответ Дэвида. Так что я предпочту его.
When the function is provided with a single column reference, it will attempt to return a non-null/non-empty value, if such value is present.
datatable(name:string)["","SomeName","SomeName", ""]
| summarize take_any(name)
| название |
|---|
| SomeName |