用户权限数据转换为用户组列表(2/3) - Power Query

这篇具有很好参考价值的文章主要介绍了用户权限数据转换为用户组列表(2/3) - Power Query。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实例需求:如下是AD用户的列表,每个用户拥有该应用程序的只读或读写权限,现在需要创建新的AD用户组,并根据用户当前的权限,将这些用户添加到相应的组中。

当前数据集:

Safe UserName Read permissions RW permissions
Safe1 User1 Yes Yes
Safe1 User2 Yes No
Safe1 User3 Yes Yes
Safe1 User4 Yes No
Safe2 User1 Yes Yes
Safe2 User2 Yes No
Safe2 User3 Yes Yes
Safe2 User4 Yes No

整理后输出数据集:

Safe AD Group Userlist
Safe1 Safe1-ReadGroup User1,User2,User3,User4
Safe1 Safe1-RWGroup User1,User3
Safe2 Safe2-ReadGroup User1,User2,User3,User4
Safe2 Safe2-RWGroup User1,User3
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    AddedRG = Table.AddColumn(Source, "ReadGroup", each if [Read permissions] = "Yes" then [UserName] else null),
    AddedRWG = Table.AddColumn(AddedRG, "RWGroup", each if [RW permissions] = "Yes" then [UserName] else null),
    RemovedColumns = Table.RemoveColumns(AddedRWG,{"UserName", "Read permissions", "RW permissions"}),
    GroupedRG = Table.Group(RemovedColumns, {"Safe"}, {{"UserList", each Text.Combine([ReadGroup], ","), type text}}),
    GroupedRGCol =  Table.AddColumn(GroupedRG, "AD Group", each [Safe] & "-ReadGroup"),
    GroupedRWG = Table.Group(RemovedColumns, {"Safe"}, {{"UserList", each Text.Combine([RWGroup], ","), type text}}),
    GroupedRWGCol =  Table.AddColumn(GroupedRWG, "AD Group", each [Safe] & "-RWGroup"),
    AppendedTable = Table.Combine({GroupedRGCol, GroupedRWGCol}),
    Output = Table.ReorderColumns(AppendedTable,{"Safe", "AD Group", "UserList"})
in
    Output

【代码解析】
第2行代码加载Excel表Table1作为源数据。
第3行代码基于读取权限添加新列ReadGroup,用户名赋值,否则为空。
第4行代码基于写权限添加新列RWGroup,用户名赋值,否则为空。
第5行代码删除不需要的原始数据列。
第6行代码基于Safe列分组,生成读取权限用户列表。
第7行代码添加新列作为读取权限用户组名称。
第8行代码基于Safe列分组,生成写权限用户列表。
第9行代码添加新列作为写权限用户组名称。
第10行代码合并读取权限和写权限两个表。
第11行代码重新排列列顺序。
第13行代码输出最后的结果表。


小结:
可以利用Power Query的表处理能力,同样实现按权限分组的转换需求,使用Group和Combine可以方便地进行分组和合并。


相关系列博文链接:

用户权限数据转换为用户组列表(1/3) - VBA
用户权限数据转换为用户组列表(2/3) - Power Query
用户权限数据转换为用户组列表(3/3) - Excel PY公式文章来源地址https://www.toymoban.com/news/detail-703541.html

到了这里,关于用户权限数据转换为用户组列表(2/3) - Power Query的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 用户组的管理-增加一个新的用户组

    在 Linux 系统中,用户组是一种用于管理和分配系统资源权限的方式。本文将介绍如何在 Linux 系统中增加一个新的用户组,包括语法、实操和各种增加新用户组之间的区别。 使用 groupadd 命令可以在 Linux 系统中增加一个新的用户组,其基本语法为: 可以使用的选项有: -g GI

    2024年02月08日
    浏览(36)
  • 用户/用户组管理

    用户管理 * useradd 命令添加用户,会在 /etc/passwd生成 用户信息,信息分为7列,被6个冒号隔开 用户增删改查 rhce 考题:   用户组管理 *  用户组分为 primary group(主要组),private group(私有组),attached group(附加组),由于任何用户都必须依赖于用户组才能存在,所以创建

    2024年02月05日
    浏览(34)
  • 文件、用户、用户组管理

    0.linux的目录结构 1.用户和用户组的信息存储 1.1. 用户的基本信息文件 /etc/passwd 1.1.1. 用户名 1.1.2. 密码 1.1.3. UID 1.1.4. GID 1.1.5. 注释性描述 1.1.6. 宿主目录 1.1.7. 默认shell 1.2. 用户的密码信息文件 /etc/shadow 1.2.1. 用户名 1.2.2. 加密密码 1.2.3. 最后一次修改时间 1.2.4. 最小修改时间间隔

    2023年04月18日
    浏览(32)
  • ubuntu用户与用户组管理

    在Ubuntu中,创建新用户并赋予其类似root的管理权限通常不是直接赋予其root用户身份,而是将其添加到 sudo 组中。这是因为Ubuntu默认禁用root账户直接登录,并鼓励通过sudo来进行管理任务。以下是创建新用户并赋予sudo权限的步骤: 打开终端(快捷键:Ctrl + Alt + T)。 以管理员

    2024年04月26日
    浏览(31)
  • Linux 用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮

    2024年02月13日
    浏览(32)
  • Ubuntu用户与用户组相关操作

    目录 一、root与sudo权限管理 二、root root账户更改密码 三、sudo 设置Sudo权限 四、用户管理操作 创建普通用户 删除用户账户 切换用户 用户组管理 1、root:root是Linux系统中的超级用户或管理员账户。它拥有系统上的最高权限,可以执行任何操作,包括修改系统配置、安装软件等

    2024年02月07日
    浏览(86)
  • Linux中的用户和用户组

    su命令就是用于账户切换的系统命令,其来源英文单词:Switch User 语法: su [-] [用户名] - 符号是可选的,表示是否在切换用户后加载环境变量 (建议带上) 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root 切换用户后,可以通过exit命令退回上一个用户,

    2024年02月09日
    浏览(31)
  • 将用户添加到docker用户组

    普通用户使用docker命令的时候经常会提示权限不足 这个错误一般使用sudo 命令即可解决 但是每次使用docker命令都需要添加一个sudo,还是很麻烦;所以需要一个一劳永逸的方法:将当前用户加入docker用户组 1.添加docker用户组 2.将当前登录用户加入到docker用户组 3.更新用户组以

    2023年04月10日
    浏览(21)
  • Linux之用户和用户组的深入了解

    目录 一、简介 1.1、用户: 1.2、用户组 1.3、UID和GID 1.3、用户账户分类 查看用户类别 超级用户root(0) 程序用户(1~499) 普通用户(500~65535) 二、用户 2.1、添加新的用户账号:useradd 2.2、删除账号:userdel 有-r与没有-r区别 2.3、修改帐号:usermod(mod=modify) 2.4、用户口令的管理:passwd

    2024年02月22日
    浏览(28)
  • 6-Linux操作系统 用户与用户组

    一、介绍说明   Linux系统是一个 多用户 多任务 的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。   用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包