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

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

时间:2024-03-12 21:00:53浏览次数:32  
标签:Power Text SharePoint List BI Custom 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

 

标签:Power,Text,SharePoint,List,BI,Custom,Table
From: https://www.cnblogs.com/lulight/p/18069269

相关文章

  • ListModelSerializer模块 LL
    自定义反序列化字段#一些只参与反序列化的字段,但是不是与数据库关联的#在序列化类中规定,并在校验字段时从校验的参数字典中剔除classPublishModelSerializer(serializers.ModelSerializer):#自定义不入库的反序列化字段re_name=serializers.CharField(writ......
  • Binary Heap
    BinaryHeap一个基于concept的二叉堆板子实现。template<typenameTy,typenameCompare,typenameContainer=std::vector<Ty>>requiresrequires(Comparecomp,Tya,Tyb){std::is_same_v<bool,decltype(comp(a,b))>;}&&r......
  • PowerShell 定时备份MySQL数据
    #========================================================#Function:备份MySQL数据库#ReleaseVersion:v0.0.3#ReleaseDate:2020年8月17日#Author:panda666#Website:www.panda666.com#=====================================......
  • Windows环境安装RabbitMQ
    消息队列......
  • 在Debian系统上安装Prometheus
    在Debian系统上安装Prometheus,可以按照以下步骤操作:1.添加官方存储库首先,我们需要添加Prometheus的官方存储库到Debian系统中。以下是从Debian11Bullseye开始的安装步骤,对于Debian12Bookworm也应该适用:#安装所需的包管理工具sudoaptupdate&&sudoaptinstallcurlgnupg......
  • js 获取当前时间后三个月的所有日期list
    //获取三个月后的所有日期functiongetDatesOfLastThreeMonths(){consttoday=newDate();constdates=[];for(leti=0;i<=2;i++){constyear=today.getFullYear();constmonth=today.getMonth()+i;//获取当前月份之前......
  • 今天来聊聊Hybird app技术
    最近听到身边的朋友经常聊到鸿蒙,也聊到开发周期紧、任务重,应对纯血鸿蒙2024年Q4的正式商用,不知道该如何开发更合适。 于是有感而发,在这里说一下个人现在比较看好的混合应用(hybirdapp)开发技术。 什么是混合应用开发?混合应用(通常指的是App开发)是一种结合了Web应用程序......
  • Angular Material 17+ 高级教程 – CDK Accessibility の ListKeyManager
       目录上一篇 AngularMaterial17+高级教程–CDKAccessibilityのFocus下一篇TODO想查看目录,请移步 Angular17+高级教程–目录......
  • Zabbix 7.0编译部署教程
    Zabbix7.0alpha版本、beta版本已经陆续发布,Zabbix7.0LTS版本发布时间也越来越近。据了解,新的版本在性能提升、架构优化等新功能方面有非常亮眼的表现,不少小伙伴对此也已经跃跃欲试。心动不如行动,不妨先体验了一把beta版本。本教程仅适用于编译部署Zabbix7.0beta1版本,部署环境......
  • PowerShell 使用指南
    PowerShell使用指南Started:2024.03.1209:00:00Update:2024-03-1209:36:270.Purpose在Win11中,默认的终端已经是PowerShell,包括VSCode里的默认终端,这一方面改进了cmd.exe表达力不足的问题,另一方面要求程序员们要学习一点PowerShell语法,之前的bat语法虽......