【Azure Power BI】Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以及使用逗号拼接为一个字符串

简介: 【Azure Power BI】Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以及使用逗号拼接为一个字符串

问题描述

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 Columns" = 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}),
    #"Replaced Errors" = Table.ReplaceErrorValues(#"Extracted Values", {{"Custom", " < no value >"}}),
    #"Replaced Value" = Table.ReplaceValue(#"Replaced Errors",null,"<no null>",Replacer.ReplaceValue,{"Custom"})
in
    #"Replaced Value"

 

参考资料

SharePoint list expand table column : https://community.fabric.microsoft.com/t5/Desktop/SharePoint-list-expand-table-column/td-p/2150752

 

相关文章
|
9月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
366 4
|
开发工具 索引
【Azure Blob】操作Blob之分页List Blob一致性、索引时延及Tag支持问题解答
在使用Azure SDK开发时,遇到以下几个问题: 1. 分页list blob是一个一致性事务级的操作吗?在这个过程中,文件的创建、更新、删除会对分页获取的list blob列表产生什么影响? 2. 文档《响应中的标记》中描述索引是最终一致性,这个过程的时延是多久(更新Tag后大概多长时间可以通过FindBlobByTag查询到)? 3. 所有Blob都支持Tag吗?Block Tag使用上有哪些场景限制?
317 14
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
2302 7
|
数据采集 存储 数据可视化
SharePoint List
【6月更文挑战第10天】
420 1
|
存储 语音技术 Python
语音识别,函数综合案例,黑马ATM,/t/t一个对不齐,用两个/t,数据容器入门,数据容器可以分为列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
语音识别,函数综合案例,黑马ATM,/t/t一个对不齐,用两个/t,数据容器入门,数据容器可以分为列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
|
JSON Java 数据格式
将JSON格式的字符串转换成List集合引入gson 的jar包
将JSON格式的字符串转换成List集合引入gson 的jar包
225 0
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
2217 1
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
631 1
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
385 3

热门文章

最新文章