How a system for analyzing the financial and economic activities of Russian enterprises was created using Power BI and why

let
    #"Год" = 2012,
	#"Путь расположения файлов" = #"FilesDirectory",
	#"Наименование файла данных" = Lines.ToText(
					{
						"data-20200331-structure-",
						Number.ToText(#"Год"),
						"1231"
					},
					"") as text,
	#"Наименование файла структуры" = Lines.ToText(
					{
						"structure-",
						Number.ToText(#"Год"),
						"1231"
					},
					"") as text,
	#"Расширение файла" = "csv",
	#"Длина таблица данных" = 124,
	
	#"Импорт_1" = Lines.ToText(
		{
			#"Путь расположения файлов",
			#"Наименование файла данных",
			".",
			#"Расширение файла"			
		},
		"") as text,
	#"Данные_1" = Csv.Document(File.Contents(#"Импорт_1"),
												[Delimiter=";", 
												Columns=#"Длина таблица данных", 
												Encoding=1251, 
												QuoteStyle=QuoteStyle.None]),
	#"Импорт_2" = Lines.ToText(
		{
			#"Путь расположения файлов",
			"Help",
			".",
			#"Расширение файла"			
		},
		"") as text,
	#"Расшифровка_1" = Csv.Document(File.Contents(#"Импорт_2"),
												[Delimiter=";", 
												Columns=3, 
												Encoding=1251, 
												QuoteStyle=QuoteStyle.None]),	
	#"Расшифровка_2" = Table.RenameColumns(#"Расшифровка_1",{{"Column1", "Numer"}, {"Column2", "Name_RUS"}, {"Column3", "Name_ENG"}}),
	
	#"Импорт_3" = Lines.ToText(
		{
			#"Путь расположения файлов",
			#"Наименование файла структуры",
			".",
			#"Расширение файла"			
		},
		"") as text,
	#"Структура_1" = Csv.Document(File.Contents(#"Импорт_3"),
												[Delimiter=",", 
												Columns=4, 
												Encoding=1251, 
												QuoteStyle=QuoteStyle.Csv]),
	#"Структура_2" =  Table.PromoteHeaders (#"Структура_1"),

	#"Список_полей_1" = #"Структура_2"[#"field name"],
	#"Список_полей_2"=List.FirstN(#"Список_полей_1", #"Длина таблица данных"),
	#"Список_полей_3" = Table.ColumnNames(#"Данные_1"),
	#"Список_полей_4" =  List.Zip({#"Список_полей_3",#"Список_полей_2"}),
	
	#"Данные_2" = Table.RenameColumns(#"Данные_1", #"Список_полей_4"),
		
	#"Перечень стобцов" = Table.FromList(Table.ColumnNames(#"Данные_2")),	
	#"Перечень стобцов с фильтром" = Table.SelectRows(#"Перечень стобцов", each 
		(Text.Length([Column1]) =5) and (Text.At([Column1], 4)="4")),
	#"Перечень стобцов с фильтром в виде списка" = #"Перечень стобцов с фильтром"[Column1],

    #"Удаленные столбцы новый" = Table.RemoveColumns(#"Данные_2",#"Перечень стобцов с фильтром в виде списка", MissingField.Ignore),
	
	#"Вид таблицы с добавленным годом" = Table.AddColumn(#"Удаленные столбцы новый" , "Year", each #"Год"), 

	#"Финальный вид таблицы" = Table.TransformColumns(
		#"Вид таблицы с добавленным годом",
		{
			{
			"okved", 
			each 
				Text.Insert(
						(_),0,
						(if #"Год" <= 2016 
						then "ОКВЭД: "
						else "ОКВЭД2: ")
				),
			type text
			}
		}
	),

	//Блок конвертации по кода 383, 384 ...
	lst1 = List.Skip(Table.ColumnNames(#"Финальный вид таблицы" ), 8), 
	lst=List.Range(lst1,0,58),
	f=(x,y)=>List.Accumulate(lst,x,(s,c)=>Record.TransformFields(s,{c,(x)=>Number.From(x)*y})),
	g=(x)=> f(x,Number.Power(10, (Number.FromText(x[#"measure"])-383)*3)),
	
	tbl = Table.ToRecords(#"Финальный вид таблицы"),
	trnsf= List.Transform(tbl,g),
	#"Окончательный вид таблицы перед дополнительными вычислениями" = Table.FromRecords(trnsf),
	//...
	
		

	#"Измененный тип 1" = 
	Table.TransformColumnTypes(#"Окончательный вид таблицы перед дополнительными вычислениями",{
		{"11103", Int64.Type},
		{"11203", Int64.Type},
		{"11303", Int64.Type},
		{"11403", Int64.Type},
		{"11503", Int64.Type},
		{"11603", Int64.Type},
		{"11703", Int64.Type},
		{"11803", Int64.Type},
		{"11903", Int64.Type},
		{"11003", Int64.Type},
		{"12103", Int64.Type},
		{"12203", Int64.Type},
		{"12303", Int64.Type},
		{"12403", Int64.Type},
		{"12503", Int64.Type},
		{"12603", Int64.Type},
		{"12003", Int64.Type},
		{"16003", Int64.Type},
		{"13103", Int64.Type},
		{"13203", Int64.Type},
		{"13403", Int64.Type},
		{"13503", Int64.Type},
		{"13603", Int64.Type},
		{"13703", Int64.Type},
		{"13003", Int64.Type},
		{"14103", Int64.Type},
		{"14203", Int64.Type},
		{"14303", Int64.Type},
		{"14503", Int64.Type},
		{"14003", Int64.Type},
		{"15103", Int64.Type},
		{"15203", Int64.Type},
		{"15303", Int64.Type},
		{"15403", Int64.Type},
		{"15503", Int64.Type},
		{"15003", Int64.Type},
		{"17003", Int64.Type},
		{"21103", Int64.Type},
		{"21203", Int64.Type},
		{"21003", Int64.Type},
		{"22103", Int64.Type},
		{"22203", Int64.Type},
		{"22003", Int64.Type},
		{"23103", Int64.Type},
		{"23203", Int64.Type},
		{"23303", Int64.Type},
		{"23403", Int64.Type},
		{"23503", Int64.Type},
		{"23003", Int64.Type},
		{"24103", Int64.Type},
		{"24213", Int64.Type},
		{"24303", Int64.Type},
		{"24503", Int64.Type},
		{"24603", Int64.Type},
		{"24003", Int64.Type},
		{"25103", Int64.Type},
		{"25203", Int64.Type},
		{"25003", Int64.Type}
	}),


	#"Дополнительные вычисления 1" = #"Измененный тип 1",
	
    #"Переименованные столбцы 1" = Table.RenameColumns(#"Дополнительные вычисления 1",{{"11003", "11003.1"}}),
	#"Переименованные столбцы 2" = Table.RenameColumns(#"Переименованные столбцы 1",{{"12003", "12003.1"}}),
	#"Переименованные столбцы 3" = Table.RenameColumns(#"Переименованные столбцы 2",{{"13003", "13003.1"}}),
	#"Переименованные столбцы 4" = Table.RenameColumns(#"Переименованные столбцы 3",{{"14003", "14003.1"}}),
	#"Переименованные столбцы 5" = Table.RenameColumns(#"Переименованные столбцы 4",{{"15003", "15003.1"}}),
	#"Переименованные столбцы 6" = Table.RenameColumns(#"Переименованные столбцы 5",{{"16003", "16003.1"}}),
	#"Переименованные столбцы 7" = Table.RenameColumns(#"Переименованные столбцы 6",{{"17003", "17003.1"}}),
		
    #"Добавлен пользовательский объект 1" = Table.AddColumn(#"Переименованные столбцы 7", "11003.2", each [11103]+[11203]+[11303]+[11403]+[11503]+[11603]+[11703]+[11803]+[11903], Int64.Type),
	#"Добавлен пользовательский объект 2" = Table.AddColumn(#"Добавлен пользовательский объект 1", "12003.2", each [12103]+[12203]+[12303]+[12403]+[12503]+[12603], Int64.Type),
	#"Добавлен пользовательский объект 3" = Table.AddColumn(#"Добавлен пользовательский объект 2", "13003.2", each [13103]+[13203]+[13403]+[13503]+[13603]+[13703], Int64.Type),
	#"Добавлен пользовательский объект 4" = Table.AddColumn(#"Добавлен пользовательский объект 3", "14003.2", each [14103]+[14203]+[14303]+[14503], Int64.Type),
	#"Добавлен пользовательский объект 5" = Table.AddColumn(#"Добавлен пользовательский объект 4", "15003.2", each [15103]+[15203]+[15303]+[15403]+[15503], Int64.Type),
	#"Добавлен пользовательский объект 6" = Table.AddColumn(#"Добавлен пользовательский объект 5", "16003.2", each [11003.2]+[12003.2], Int64.Type),
	#"Добавлен пользовательский объект 7" = Table.AddColumn(#"Добавлен пользовательский объект 6", "17003.2", each [13003.2]+[14003.2]+[15003.2], Int64.Type),
	
	#"Промежуточная проверка 1" = Table.AddColumn(#"Добавлен пользовательский объект 7", "Проверка 1", each [13003.2]+[14003.2]+[15003.2]-[11003.2]-[12003.2], Int64.Type),

    //#"Удаленные столбцы после преобразования" = Table.RemoveColumns(#"Добавлен пользовательский объект 7",{"11003.1", "12003.1","13003.1","14003.1","15003.1","16003.1","17003.1"}),
	//#"Переупорядоченные столбцы" = Table.ReorderColumns(#"Удаленные столбцы после преобразования",{"name", "okpo", "okopf", "okfs", "okved", "inn", "measure", "type", "11103", "11203", "11303", "11403", "11503", "11603", "11703", "11803", "11903", "11003", "12103", "12203", "12303", "12403", "12503", "12603", "12003", "16003", "13103", "13203", "13403", "13503", "13603", "13703", "13003", "14103", "14203", "14303", "14503", "14003", "15103", "15203", "15303", "15403", "15503", "15003", "17003", "21103", "21203", "21003", "22103", "22203", "22003", "23103", "23203", "23303", "23403", "23503", "23003", "24103", "24213", "24303", "24503", "24603", "24003", "25103", "25203", "25003", "Year"}),
	
	#"Финальные вычисления 1" = Table.AddColumn(
		#"Промежуточная проверка 1",
		"11003",
		each  (
			if ([11003.2]<>0) then  [11003.2] else ([11003.1])
		),
		Int64.Type),

	#"Переименованные столбцы 1.1" = Table.RenameColumns(#"Финальные вычисления 1",{{"11503", "11503.1"}}),

	#"Финальные вычисления 1.1" = Table.AddColumn(
		#"Переименованные столбцы 1.1",
			"11503",
			each  (
				if ([11003.2]=0 and [11003.1]<>0)
				then [11503.1]+([11003.1]-[11003.2])
				else [11503.1]
		),
		Int64.Type),


	#"Финальные вычисления 2" = Table.AddColumn(
		#"Финальные вычисления 1.1",
		"12003",
		each  (
			if ([12003.2]<>0) then  [12003.2] else ([12003.1])
		),
		Int64.Type),

	#"Переименованные столбцы 2.1" = Table.RenameColumns(#"Финальные вычисления 2",{{"12303", "12303.1"}}),

	#"Финальные вычисления 2.1" = Table.AddColumn(
		#"Переименованные столбцы 2.1",
			"12303",
			each  (
				if ([12003.2]=0 and [12003.1]<>0)
				then [12303.1]+([12003.1]-[12003.2])
				else [12303.1]
		),
		Int64.Type),

	#"Финальные вычисления 3" = Table.AddColumn(
		#"Финальные вычисления 2.1",
		"13003",
		each  (
			if ([13003.2]<>0) then  [13003.2] else ([13003.1])
		),
		Int64.Type),

	#"Переименованные столбцы 3.1" = Table.RenameColumns(#"Финальные вычисления 3",{{"13703", "13703.1"}}),

	#"Финальные вычисления 3.1" = Table.AddColumn(
		#"Переименованные столбцы 3.1",
			"13703",
			each  (
				if ([13003.2]=0 and [13003.1]<>0)
				then [13703.1]+([13003.1]-[13003.2])
				else [13703.1]
		),
		Int64.Type),

	#"Финальные вычисления 4" = Table.AddColumn(
		#"Финальные вычисления 3.1",
		"14003",
		each  (
			if ([14003.2]<>0) then  [14003.2] else ([14003.1])
		),
		Int64.Type),

	#"Переименованные столбцы 4.1" = Table.RenameColumns(#"Финальные вычисления 4",{{"14103", "14103.1"}}),

	#"Финальные вычисления 4.1" = Table.AddColumn(
		#"Переименованные столбцы 4.1",
			"14103",
			each  (
				if ([14003.2]=0 and [14003.1]<>0)
				then [14103.1]+([14003.1]-[14003.2])
				else [14103.1]
		),
		Int64.Type),

	#"Финальные вычисления 5" = Table.AddColumn(
		#"Финальные вычисления 4.1",
		"15003",
		each  (
			if ([15003.2]<>0) then  [15003.2] else ([15003.1])
		),
		Int64.Type), 

	#"Переименованные столбцы 5.1" = Table.RenameColumns(#"Финальные вычисления 5",{{"15203", "15203.1"}}),

	#"Финальные вычисления 5.1" = Table.AddColumn(
		#"Переименованные столбцы 5.1",
			"15203",
			each  (
				if ([15003.2]=0 and [15003.1]<>0)
				then [15203.1]+([15003.1]-[15003.2])
				else [15203.1]
		),
		Int64.Type),

	#"Промежуточная проверка 2" = Table.AddColumn(#"Финальные вычисления 5.1" , "Проверка 2", each [13003]+[14003]+[15003]-[11003]-[12003], Int64.Type),


	#"Вторая итерация корректировки 1" = Table.RemoveColumns(#"Промежуточная проверка 2",
		{"13703.1","14103.1","15203.1"}
		),
	#"Вторая итерация корректировки 2" = Table.RenameColumns(#"Вторая итерация корректировки 1" ,
		{
			{"13703", "13703.1"},
			{"14103", "14103.1"},
			{"15203", "15203.1"}
		}),	
		
	#"Вторая итерация корректировки 3" = Table.AddColumn(
		#"Вторая итерация корректировки 2",
			"15203",
			each  (
				if (([11003]+[12003])<>([13003]+[14003]+[15003]))
				then [15203.1]+Number.RoundDown((([11003]+[12003])-([13003]+[14003]+[15003]))/3)
				else [15203.1]
		),
		Int64.Type),

	#"Вторая итерация корректировки 4" = Table.AddColumn(
		#"Вторая итерация корректировки 3",
			"14103",
			each  (
				if (([11003]+[12003])<>([13003]+[14003]+[15003]))
				then [14103.1]+Number.RoundDown((([11003]+[12003])-([13003]+[14003]+[15003]))/3)
				else [14103.1]
		),
		Int64.Type),

	#"Вторая итерация корректировки 5" = Table.RemoveColumns(#"Вторая итерация корректировки 4" ,
		{"13003.1","14003.1","15003.1"}),

	#"Вторая итерация корректировки 6" = Table.RenameColumns(#"Вторая итерация корректировки 5" ,
		{
			{"13003", "13003.1"},
			{"14003", "14003.1"},
			{"15003", "15003.1"}
		}),	
	
	#"Вторая итерация корректировки 7" = Table.AddColumn(#"Вторая итерация корректировки 6",
		"14003", each [14103]+[14203]+[14303]+[14503], Int64.Type),


	#"Вторая итерация корректировки 8"  = Table.AddColumn(#"Вторая итерация корректировки 7" ,
		"15003", each [15103]+[15203]+[15303]+[15403]+[15503], Int64.Type),
	
	#"Вторая итерация корректировки 9" = Table.AddColumn(
		#"Вторая итерация корректировки 8",
			"13703",
			each  (
				if (([11003]+[12003])<>([13003.1]+[14003]+[15003]))
				then [13703.1]+([11003]+[12003])-([13003.1]+[14003]+[15003])
				else [13703.1]
		),
		Int64.Type),

	#"Вторая итерация корректировки 10" = Table.AddColumn(#"Вторая итерация корректировки 9",
		"13003", each [13103]+[13203]+[13403]+[13503]+[13603]+[13703], Int64.Type),	


	#"Финальные вычисления 6.1" = Table.AddColumn(
		#"Вторая итерация корректировки 10",
			"16003",
			each  (
				[11003]+[12003]
		),
		Int64.Type),

	#"Финальные вычисления 7.1" = Table.AddColumn(
		#"Финальные вычисления 6.1" ,
			"17003",
			each  (
				[13003]+[14003]+[15003]
		),
		Int64.Type),


	#"Промежуточная проверка 3" = Table.AddColumn(#"Финальные вычисления 7.1" , "Проверка 3", each [13003]+[14003]+[15003]-[11003]-[12003], Int64.Type),


	#"Финальные вычисления" = Table.RemoveColumns(#"Промежуточная проверка 3",
	{	"11003.1", "11003.2", "11503.1",
		"12003.1", "12003.2", "12303.1",
		"13003.1", "13003.2", "13703.1",
		"14003.1", "14003.2", "14103.1",
		"15003.1", "15003.2", "15203.1",
		"16003.1", "16003.2",
		"17003.1", "17003.2",
		"Проверка 1", "Проверка 2", "Проверка 3" 
	}
	),

	#"Измененный тип 3" = 
	Table.TransformColumnTypes(#"Финальные вычисления",{		
		{"11503", Int64.Type},
		{"12303", Int64.Type},
		{"13703", Int64.Type},
		{"14103", Int64.Type},
		{"15203", Int64.Type},
		
		{"11003", Int64.Type},
		{"12003", Int64.Type},
		{"16003", Int64.Type},
		{"13003", Int64.Type},
		{"14003", Int64.Type},
		{"15003", Int64.Type},
		{"17003", Int64.Type}
	}),

    #"Переупорядоченные столбцы"= Table.ReorderColumns(#"Финальные вычисления",{"name", "okpo", "okopf", "okfs", "okved", "inn", "measure", "type", "11103", "11203", "11303", "11403", "11503", "11603", "11703", "11803", "11903", "11003", "12103", "12203", "12303", "12403", "12503", "12603", "12003", "16003", "13103", "13203", "13403", "13503", "13603", "13703", "13003", "14103", "14203", "14303", "14503", "14003", "15103", "15203", "15303", "15403", "15503", "15003", "17003" , "21103", "21203", "21003", "22103", "22203", "22003", "23103", "23203", "23303", "23403", "23503", "23003", "24103", "24213", "24303", "24503", "24603", "24003", "25103", "25203", "25003", "Year"}),
	

	#"Результат" = #"Переупорядоченные столбцы"
in
    #"Результат"

If the downloaded files have not been renamed by you and are in the same place, and you also specified a folder in FilesDirectory, then by repeating the 2012 request for each of the files, we will integrate them all and pre-process them, which, in fact, was what we wanted.

However, it is not possible to work with such data, therefore it will need to be processed. For these purposes, a Fact request is created:

Fact
let
    #"Исходные данные" = Table.Combine({#"2018", #"2017", #"2016", #"2015", #"2014", #"2013", #"2012", #"2011"}),
    //#"Исходные данные" = Table.Combine({#"2012"}),
    #"Развёрнутая таблица" = Table.UnpivotOtherColumns(#"Исходные данные", 
        List.Combine({List.FirstN(Table.ColumnNames( #"Исходные данные"),8),{"Year"}}), "Attribute", "Value"),
    #"Список колонок на удаление" = List.RemoveItems(Table.ColumnNames(#"Развёрнутая таблица"),{"inn", "Year", "okved", "Attribute", "Value"}),
        
    #"Таблица с удалёнными колонками" = Table.RemoveColumns(#"Развёрнутая таблица",#"Список колонок на удаление" ),
    #"Таблица с корректным типами" = Table.TransformColumnTypes(#"Таблица с удалёнными колонками",{{"inn", Text.Type}, {"okved", Text.Type}, {"Year", Int64.Type}, {"Value", Int64.Type}}),
    #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Таблица с корректным типами",{"inn", "okved", "Year", "Attribute", "Value"}),
    //#"Строки с примененным фильтром" = Table.SelectRows(Результат, each true)
    #"Результат" = #"Переупорядоченные столбцы"
in
    Результат

Actually, this query forms what we need – a table of an acceptable format, according to which it is now possible to “filter”, count the amounts, etc. This table also corresponds to the principles of normality from the DBMS.

If you, by the way, carefully look at all the requests, you will see that in addition to the data files, you will need a number of additional files: structure files for each of the databases, the help file (there are decryptions and names for the columns of tables with data).

A separate request is also generated for the Help file:

Help
let
	#"Путь расположения файлов" = #"FilesDirectory",
	#"Расширение файла" = "csv",
	#"Импорт_2" = Lines.ToText(
		{
			#"Путь расположения файлов",
			"Help",
			".",
			#"Расширение файла"			
		},
		"") as text,
	#"Расшифровка_1" = Csv.Document(File.Contents(#"Импорт_2"),
												[Delimiter=";", 
												Columns=3, 
												Encoding=1251, 
												QuoteStyle=QuoteStyle.None]),	
	#"Расшифровка_2" = Table.RenameColumns(#"Расшифровка_1",{{"Column1", "Numer"}, {"Column2", "Name_RUS"}, {"Column3", "Name_ENG"}}),
    #"Результат"= #"Расшифровка_2",
    #"Измененный тип" = Table.TransformColumnTypes(Результат,{{"Numer", type text}})
in
    #"Измененный тип"

Next, you need to unload the filtering elements, i.e. OKVED, year, Region. It looks like this:

  1. In order to be able to select a separate enterprise and immediately view its analysis, we highlight the entire available list:

    Enterprises
    let
        #"Source" = Table.Combine({#"2018", #"2017", #"2016", #"2015", #"2014", #"2013", #"2012", #"2011"}),
        #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Source",{"name", "okpo", "okopf", "okfs", "okved", "inn", "measure", "type", "11103", "11203", "11303", "11403", "11503", "11603", "11703", "11803", "11903", "11003", "12103", "12203", "12303", "12403", "12503", "12603", "12003", "16003", "13103", "13203", "13403", "13503", "13603", "13703", "13003", "14103", "14203", "14303", "14503", "14003", "15103", "15203", "15303", "15403", "15503", "15003", "17003", "21103", "21203", "21003", "22103", "22203", "22003", "23103", "23203", "23303", "23403", "23503", "23003", "24103", "24213", "24303", "24503", "24603", "24003", "25103", "25203", "25003", "Year"}),
        #"Removed Other Columns" = Table.SelectColumns(Source,List.FirstN(Table.ColumnNames(#"Переупорядоченные столбцы"),8)),
        #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns", "inn")
    in
        #"Removed Duplicates"
  2. Codes of all used financial statements lines may be needed:

    Codes
    let
        Source = Fact,
        #"Removed Other Columns" = Table.SelectColumns(Source,{"Attribute"}),
        #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns")
    in
        #"Removed Duplicates"
  3. Let’s take out the years separately:

    Years
    let
        Source = Fact,
        #"Removed Other Columns" = Table.SelectColumns(Source,{"Year"}),
        #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns")
    in
        #"Removed Duplicates"
  4. Let’s form a list of regions:

    Reg
    let
        Источник = #table(
            type table [ID = text, GegName = text],
            {
                {"01","Адыгея республика"},
                {"02","Башкортостан республика"},
                {"03","Бурятия республика"},
                {"04","Алтай республика"},
                {"05","Дагестан республика"},
                {"06","Ингушетия республика"},
                {"07","Кабардино-Балкарская республика"},
                {"08","Калмыкия республика"},
                {"09","Карачаево-Черкесская республика"},
                {"10","Карелия республика"},
                {"11","Коми республика"},
                {"12","Марий Эл республика"},
                {"13","Мордовия республика"},
                {"14","Саха /Якутия/ республика"},
                {"15","Северная Осетия - Алания республика"},
                {"16","Татарстан республика"},
                {"17","Тыва республика"},
                {"18","Удмуртская республика"},
                {"19","Хакасия республика"},
                {"20","Чеченская республика"},
                {"21","Чувашская Республика - Чувашия"},
                {"22","Алтайский край"},
                {"23","Краснодарский край"},
                {"24","Красноярский край"},
                {"25","Приморский край"},
                {"26","Ставропольский край"},
                {"27","Хабаровский край"},
                {"28","Амурская область"},
                {"29","Архангельская область"},
                {"30","Астраханская область"},
                {"31","Белгородская область"},
                {"32","Брянская область"},
                {"33","Владимирская область"},
                {"34","Волгоградская область"},
                {"35","Вологодская область"},
                {"36","Воронежская область"},
                {"37","Ивановская область"},
                {"38","Иркутская область"},
                {"39","Калининградская область"},
                {"40","Калужская область"},
                {"41","Камчатский край"},
                {"42","Кемеровская область"},
                {"43","Кировская область"},
                {"44","Костромская область"},
                {"45","Курганская область"},
                {"46","Курская область"},
                {"47","Ленинградская область"},
                {"48","Липецкая область"},
                {"49","Магаданская область"},
                {"50","Московская область"},
                {"51","Мурманская область"},
                {"52","Нижегородская область"},
                {"53","Новгородская область"},
                {"54","Новосибирская область"},
                {"55","Омская область"},
                {"56","Оренбургская область"},
                {"57","Орловская область"},
                {"58","Пензенская область"},
                {"59","Пермский край"},
                {"60","Псковская область"},
                {"61","Ростовская область"},
                {"62","Рязанская область"},
                {"63","Самарская область"},
                {"64","Саратовская область"},
                {"65","Сахалинская область"},
                {"66","Свердловская область"},
                {"67","Смоленская область"},
                {"68","Тамбовская область"},
                {"69","Тверская область"},
                {"70","Томская область"},
                {"71","Тульская область"},
                {"72","Тюменская область"},
                {"73","Ульяновская область"},
                {"74","Челябинская область"},
                {"75","Забайкальский край"},
                {"76","Ярославская область"},
                {"77","Москва город"},
                {"78","Санкт-Петербург город"},
                {"79","Еврейская автономная область"},
                {"83","Ненецкий автономный округ"},
                {"86","Ханты-Мансийский Автономный округ - Югра автономный округ"},
                {"87","Чукотский автономный округ"},
                {"89","Ямало-Ненецкий автономный округ"},
                {"91","Крым республика"},
                {"92","Севастополь город"},
                {"99","Байконур город"}
    
            }
    
        ),
        #"Переименованные столбцы" = Table.RenameColumns(Источник,{{"GegName", "Регион"}})
    in
        #"Переименованные столбцы"
  5. Let’s highlight the list of OKVED-s:

    okved
    let
        Source = Fact,
        #"Removed Other Columns" = Table.SelectColumns(Source,{"okved"}),
        #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns")
    in
        #"Removed Duplicates"

Actually, at this point, you can temporarily finish with requests and unload everything by clicking on the “Close and apply” button. The list of requests for this stage of implementation looks like this.

Do not flatter yourself, only part of the work has been done, but it is one of the key ones.

After the start of the download, I have a recalculation and additional loading takes about ~ 24 hours. I can’t say if this is the norm. At the same time, the device on which the work was performed is quite powerful.

“Blurred” tables will appear a little later, but now, according to our plan, you should structure the data and build relationships.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *