60 дней кино и сериалов за 0 ₽
Условия подписки: clck.ru/dnhea. 18+
VC60
Забрать
60 дней подписки Яндекс Плюс бесплатно для новых пользователей, ранее не оформлявших подписку Яндекс Плюс либо подписки, её включающие, при условии привязки банковской карты. Далее — автопродление: 199 ₽/месяц. Действует на территории РФ. Активировать до 01.09.22 г. включительно на сайте https://hd.kinopoisk.ru/gift. Условия: clck.ru/FMQND.

Еще одна тонкость работы в Power BI, которая заставит тебя понервничать и потратить время, если не…

...если не прочитать данную статью. Время чтения — 1 минута.

Привет, дорогие читатели vc.ru! В серии статей хотел бы с вами поделиться пятью вещами, которые с большим трудом и затраченным временем удалось понять, а затем и обойти при работе с Power BI. Эти знания основаны исключительно на моем личном опыте, то есть с этими проблемами я сам непосредственно столкнулся, поэтому и решил поделиться.

Ситуация #1. Импортирую csv файл. В нем есть столбцы, содержащие десятичные числа, разделенные точкой (например, 6.67). Power Query считывает этот столбец как тип данных “Текст”.

При попытке конвертировать его в тип “Десятичное число”, возникает ошибка

Решение.

В шаге Измененный тип добавляем третий параметр, который отвечает за локализацию, в которой мы хотим произвести изменение типов данных. В нашем случае надо поменять следующее

Было:

Table.TransformColumnTypes(#"Измененный тип", {{"BS", type number}})

Стало:

Table.TransformColumnTypes(#"Измененный тип", {{"BS", type number}}, "en-US")

Все работает, вуаля:

Почему так?

Дело в том, что в по умолчаню в русской локализации Windows десятичный разделитель это запятая, а в американской - точка. Узнать это можно попробовав в Excel ввести десятичное число через запятую и через точку.

Спасибо, что дочитали до конца!

Оставляйте комментарии. Следите за обновлениями, в ближайшее время данная серия статей будет дополняться.

0
5 комментариев
Илюза Хасанова

👍👍👍

Ответить
Развернуть ветку
Vyacheslav Teplyakov

По мне так надёжнее в таких столбцах сделать замену точки на запятую. Ну и потом назначить тип данных ручками. Вообще нормальная практика не надеяться на авто определение типа данных. Я его сразу удаляю и все колонки назначаю в ручную.

Ответить
Развернуть ветку
Многомерный Грааль
Автор

Да, Вячеслав, вы правы, если изначально неизвестно, что разделитель запятая или точка. Насчёт автоопределения типа данных тоже согласен с вами. Его всегда надо проверять

Ответить
Развернуть ветку
Михаил Скубченко

"Используя локаль"

Ответить
Развернуть ветку
Многомерный Грааль
Автор

Спасибо, что подметили)

Ответить
Развернуть ветку
Читать все 5 комментариев
null