Jak zamienić w Power Query liczbę całkowitą na dziesiętną? Podczas tworzenia aplikacji zauważyłem, że wartości które powinny być zapisywane do bazy danych programu ważenia nie maja miejsc dziesiętnych – choć powinny mieć.
Jakiś czas temu miałem szkolenie z narzędzia zwanego Power Query przez tego jegomościa: Bartosz Czapiewski. Polecam! Obecnie robię aplikację w której łącze kod VBA z Power Query oraz z bezpośrednim połączeniem do bazy SQL. Po co używać Power Query? W założeniu kod powinien być wykonywany szybciej oraz nie powinno być błędów, które przy VBA się zdarzają.
Podczas pobierania danych z bazy danych (bezpośrednie połączenie Excel z bazą danych) wartości które powinny zawierać wartości dziesiętne ich nie mają. Na przykład wynik ważenia to 950,50 kg. Ten wynik ważenia po pobraniu z bazy danych pojawi się w Excelu jako 950500. Całkowite wypaczenie. Jest jeden niuans. Wartości dziesiętne to trzy ostatnie liczby – więc wykorzystałem to.
Można użyć funkcji Excela jak „długość tekstu”, „lewy” i „prawy” oraz „złącz teksty” by wynik funkcji przemnożyć przez 1, aby uzyskać interesujące nas wartości dziesiętne. Te same funkcje wykorzystałem w Power Query.
Źródło: https://www.myexcelonline.com/blog/replicating-excels-left-function-m-in-power-query/
Kolumna niestandardowa z funkcjami w Power Query:
= Text.Start(Text.From([masa]), Text.Length(Text.From([masa]))-3)&”,”& Text.End(Text.From([masa]),3)
Jako, że użyliśmy funkcji tekstowych musimy wynik w kolumnie niestandardowej zamienić na wartości liczbowe oraz ewentualnie zaokrąglić.