如何在 Power Apps 中创建图表来显示团队成员在团队频道中完成的帖子数量?

问题描述 投票:0回答:1

我想创建一个图表,显示频道中每个团队成员的帖子数量。我在团队中使用电源应用程序。图表应在 y 轴上显示帖子数量,在 x 轴上显示人员姓名。

powerbi microsoft-graph-api microsoft-teams powerapps microsoft-graph-teams
1个回答
0
投票

使用 Power Apps 中的 MicrosoftTeams 连接器,您可以使用以下代码创建一个具有两列(Value、MessageCount)的表 (DistinctUsers):

// Get Team's groupId
UpdateContext(
    {
        varGroupId: LookUp(
            MicrosoftTeams.GetAllTeams().value,
            displayName = "Your Team's display name"
        ).id
    }
);

// Get Team's channelId
UpdateContext(
    {
        varChannelId: LookUp(
            MicrosoftTeams.GetChannelsForGroup(varGroupId).value,
            displayName = "Your channel's display name"
        ).id
    }
);

// Get all messages from channel
ClearCollect(
    RawChannelMessages,
    MicrosoftTeams.GetMessagesFromChannel(
        varGroupId,
        varChannelId
    ).value
);

// Get all distinct users from channel messages
ClearCollect(
    DistinctUsers,
    AddColumns(
        Distinct(
            RawChannelMessages,
            from.user.displayName
        ),
        MessageCount,
        0
    )
);

// Update distinct user list with message count
ForAll(
    RawChannelMessages,
    With(
        {messageUserDisplayName: ThisRecord.from.user.displayName},
        With(
            {
                existingUser: LookUp(
                    DistinctUsers,
                    Value = messageUserDisplayName
                ),
                existingUserMessageCount: LookUp(
                    DistinctUsers,
                    Value = messageUserDisplayName
                ).MessageCount
            },
            Patch(
                DistinctUsers,
                existingUser,
                {MessageCount: existingUserMessageCount + 1}
            )
        )
    )
);

这是 DistinctUsers 的示例:

MessageCount | Value
1            | Jon, Doe
3            | Al, Dente
2            | First, Last

然后,在图表控件中,将图表的 Items 属性设置为 DistinctUsers

© www.soinside.com 2019 - 2024. All rights reserved.