Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Power BI中JSON shape map visual的映射键表_Json_Powerbi_M - Fatal编程技术网

获取Power BI中JSON shape map visual的映射键表

获取Power BI中JSON shape map visual的映射键表,json,powerbi,m,Json,Powerbi,M,是否有任何简单的方法可以获取地图形状的地图键表?我想把地图键作为Power查询表。最好是从导入映射的JSON文件中提取它 下载文件: 在查询编辑器中向下钻取对象和几何图形,转换为表格,然后展开属性列: let Source = Json.Document(File.Contents("C:\Users\aolson\Downloads\NZ.json")), objects = Source[objects], gadm36_NZL_1 = objects[gadm36_

是否有任何简单的方法可以获取地图形状的地图键表?我想把地图键作为Power查询表。最好是从导入映射的JSON文件中提取它

下载文件:


在查询编辑器中向下钻取对象和几何图形,转换为表格,然后展开
属性
列:

let
    Source = Json.Document(File.Contents("C:\Users\aolson\Downloads\NZ.json")),
    objects = Source[objects],
    gadm36_NZL_1 = objects[gadm36_NZL_1],
    geometries = gadm36_NZL_1[geometries],
    ConvertToTable = Table.FromList(geometries, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    ExpandColumn = Table.ExpandRecordColumn(ConvertToTable, "Column1", {"properties"}, {"properties"}),
    ExpandProperties = Table.ExpandRecordColumn(ExpandColumn, "properties", {"GID_0", "NAME_0", "GID_1", "NAME_1", "VARNAME_1", "NL_NAME_1", "TYPE_1", "ENGTYPE_1", "CC_1", "HASC_1"}, {"GID_0", "NAME_0", "GID_1", "NAME_1", "VARNAME_1", "NL_NAME_1", "TYPE_1", "ENGTYPE_1", "CC_1", "HASC_1"})
in
    ExpandProperties

如果您希望它更具动态性,请将单个
ExpandProperties
公式行替换为以下两行:

ColumnNames = Record.FieldNames(ExpandColumn[properties]{0}),
ExpandProperties = Table.ExpandRecordColumn(ExpandColumn, "properties", ColumnNames, ColumnNames)

扩大亚历克西斯被接受的答案,我想去更具活力。文件的路径是唯一的变量

let
    Source = Json.Document(File.Contents("C:\NZ.json")),
    #"Converted to Table" = Record.ToTable(Source),
    Value1 = #"Converted to Table"{3}[Value],
    #"Converted to Table1" = Record.ToTable(Value1),
    Value2 = #"Converted to Table1"{0}[Value],
    geometries = Value2[geometries],
    #"Converted to Table2" = Table.FromList(geometries, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table2", "Column1", {"arcs", "type", "properties"}, {"arcs", "type", "properties"}),
    #"Removed Other Columns" = Table.SelectColumns(#"Expanded Column1",{"properties"}),
    ColumnNames = Record.FieldNames(#"Removed Other Columns"[properties]{0}),
    ExpandProperties = Table.ExpandRecordColumn(#"Removed Other Columns", "properties", ColumnNames, ColumnNames)
in 
    ExpandProperties

我不确定您的工作流是什么,但查询编辑器可以读取JSON文件。嗨,Alexis,我更新了我的问题。我共享json文件。我无法从中提取映射键的值,尽管我发现它们嵌套在对象中的某个位置。做得好:-)我很接近。我缺少步骤
表。FromList
。我想把那些讨厌的记录转换成一张表,但没能点击出来。可以从菜单中用鼠标点击吗?可以<代码>到表格是(列表工具)变换选项卡上的一个按钮。