问题描述
Power BI获取SharePoint List列表作为数据源。但是在数据源中,有Table属性值,有List属性值。如果直接展开,则会形成“笛卡尔”集的效果,变成N多行数据。
效果图如下:
但是,我们最终所需要的效果是:
保留整体表格的行数不变,把Table中所需要的字段,List中的值使用“逗号”分隔,展示在一行中。
那么,在真实的Sharepoint List + Power BI中,如何来展开List/Table中的字段呢? 如何来使用“, ”拼接呢?
问题解答
解决以上的问题,主要使用的知识点为:
1)在Table属性列,通过“添加新列”,从Table中取出Column2列中的值,形成一个新的List列
#"Added Custom" = Table.AddColumn(#"SharePoint List", "Custom", each [Count][Column2]),
2)在新的List列中,通过 Text.Combine 函数把List中的全部值转换为目标字符串
#"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
详细操作步骤如下:
步骤一:在Table列中,展开查看Table中的数据及列名
点击Add Column –> Custome Column –> 选择正确的列(这里是Text) –> 在第4点中,需要手动输入Text表中的列名。
点击OK后,新的数据结构为List。
第二步:展开List,并且使用Comma分隔
点击列头右边的展开符号,选择“Extract Values…”后,并选择 Comma分隔。
最终效果,达到了把 Table –> List –> String 的目的。
动态效果图
完整的Power BI Query语句为
let Source = Table.FromRows(), #"SharePoint List" = ... ... .... .... , #"Renamed Column服务器托管网s" = Table.RenameColumns(#"SharePoint List",{{"Column1", "ID"}, {"Count", "Text"}}), #"Added Custom" = Table.AddColumn(#"Renamed Columns", "Custom", each [Text][Column2]), #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(_, Text.From), ","), type text}), #"Repl服务器托管网aced Errors" = Table.ReplaceErrorValues(#"Extracted Values", {{"Custom", " "}}), #"Replaced Value" = Table.ReplaceValue(#"Replaced Errors",null,"",Replacer.ReplaceValue,{"Custom"}) in #"Replaced Value"
参考资料
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
数据可视化在企业中扮演着至关重要的角色,为决策者提供了直观、深入的数据解读,帮助他们更好地理解业务状况并作出明智的决策。今天我就以可视化从业者的角度来简谈说说如何让数据可视化为更好地为企业服务。 首先,数据可视化可以让数据更易懂。企业通常面临着海量的数据,如销…