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