#powerbi #powerquery
Вопрос:
Пример кода 1
Table.AddColumn(
ToList,
"AddInvisibleChars",
each
List.Transform(
[Chars],
each
if
List.Contains(LowerCaseChars, _)
then
_ amp; Character.FromNumber(8023)
else _
)
),
Я использую это, чтобы обмануть Power BI с учетом регистра. Когда я заглядываю под капот, он добавляет эти специальные символы в поле. Я экспортирую таблицу с помощью Dax studio в файл csv, чтобы просмотреть их .
Po Number - Cr​e​d​i​t​ Ca​r​d​
"Zero Width Space in UTF CODES
UTF-8 (hex)
0xE2 0x80 0x8B (e2808b)"
​ - These are the extra hidden characters added in this Power BI field under the covers .
€
20AC
0128
â
00E2
0226
‹
2039
0139"
Что происходит и как это остановить, не отключая исправление чувствительности к регистру для интерфейса Power Bi?
Характер.От номера(8023)
Характер.Функция fromNumber является эквивалентом функции Chr в VBA или ‘String’.charCodeAt() для Javascript. Он возвращает символ Ascii-кода из числа. В примере, показанном выше, будут возвращены не буквенно-цифровые символы. Таким образом, используя это, вы можете заменить все не буквенно-цифровые символы из текстовой строки.
Попытка кодирования UTF 8 в этом поле в конце приводит к тому, что забавные символы меняются на ?.
Table.TransformColumns(
#"Replaced Value1",
{
"number" ,
each if (_ = null or _ = "") then null
else Text.FromBinary(Text.ToBinary(_,1251), TextEncoding.UTF8)
}
)
https://www.fileformat.info/info/unicode/char/200b/index.htm
Комментарии:
1. Вы пытаетесь преобразовать строчные буквы в____?
2. Добавьте пробел с нулевой шириной к каждой строчной букве в соответствии с решением Криса Уэбба по проблеме чувствительности к регистру в Power BI community.powerbi.com/t5/Desktop/…
3. Эти «дополнительные» символы на самом деле являются символом ZWS. Представление ZWS, шестнадцатеричное, закодированное для UTF8, таково
E2 80 8B
. Однако программа, которую вы используете для проверки CSV, по-видимому, возвращает их в виде отдельных символов. Если я открою файл в Notepad , он будет выглядеть нормально. Я полагаю, вы могли бы избавиться от них в файле CSV с помощью соответствующего редактора.4. Интересный. Они нужны интерфейсу Power BI, но затем поле данных переходит в приложение Power и попадает в список SharePoint . Если бы был способ удалить эти символы, которые не видны невооруженным глазом . Это происходит только тогда, когда вы экспортируете в csv, вы видите их или когда вы импортируете их куда-то, где длина символов в поле видна как 3 дополнительных символа. Поэтому , если вы посмотрите на список SharePoint, вы не сможете их увидеть, только когда вы экспортируете его в csv.
5. Если я экспортирую данные из Power BI непосредственно в CSV, а затем открываю CSV в notepad или блокноте, они не отображаются.