написать запрос мощности или сценарий DAX для сравнения без учета регистра (2) значения текстовой строки, игнорируя определенные значения в текстовой строке? - PullRequest
0 голосов
/ 05 мая 2020

Итак, у меня есть задача сравнить (2) столбца в Power BI, они оба являются источниками данных текстового типа

One Column            Second Column

ApPle_red 6pk         Apple
apple_green each      Apple
Apple_yellow_organic  Apple

есть ли способ игнорировать «_red», «_ green», «_ yellow "

текущий метод нечувствительности к регистру, который я использую:

IF(One Column = Second Column, "true", "false")

Ответы [ 2 ]

2 голосов
/ 05 мая 2020

В редакторе запросов вы можете проверить, начинается ли первый столбец со строки во втором столбце (после преобразования обоих в один и тот же регистр):

Text.StartsWith(Text.Lower([One Column]), Text.Lower([Second Column]))

Тот же logi c в DAX будет так:

LEFT('Table'[One Column], LEN('Table'[Second Column])) = 'Table'[Second Column]
2 голосов
/ 05 мая 2020

Ниже приводится простое решение с использованием вашего примера.

Column = 
VAR aux = UPPER ( LEFT ( 'Table'[One Column]; 5 ) )
RETURN IF ( aux = UPPER ( 'Table'[Second Column] ), "True", "False" )

Ниже приводится более сложное и универсальное c решение, которое сравнивает текст перед знаком «_» в первом столбце с текстом во втором столбце.

Column = 
VAR position = SEARCH("_",'Table'[One Column], 1, BLANK()) - 1
VAR aux = UPPER(LEFT('Table'[One Column], position))

Return IF( aux = UPPER('Table'[Second Column]), "True", "False" )

Надеюсь, это вам поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...