创建包含动态值的月度图表

Create a monthly graph containing dynamical values

我几个小时前发现了 PowerBI,我正在尝试根据我的数据呈现一个非常复杂的新图形。

我的主题:

我在名为 Suivis de mission 的 table 中有一份来自我的社会的员工名单,其中包含一些信息(姓名、位置、资历......)。 我专注于资历专栏。我必须每月显示工龄少于 3 年、多于 3 年、多于 5 年和多于 8 年的员工人数。

这个字段是通过下一个公式通过另一个字段(date_de_changement_de_mission)计算的:

(today - date_de_changement_de_mission) / 365

它根据工龄给了我一个数字(上面是法语)

我的实验作品:

我试着做了一些东西,这就是我目前所做的。

我创建了一个新的table,其中包含月份(string column1 和int column2),第三列是根据每个月工龄少于3 年的员工人数计算的。

这是我为获取数字而尝试实施的公式,但我有很多错误:

Nbr_inf_3_ans = SUMX('Suivis de mission';
                    IF(
                        'Suivis de mission'[Activité] = "En poste";1 && 
                        DIVIDE(
                            DATEDIFF(01/01/2019;'Suivis de mission'[Date de changement de mission].[Date];DAY);365)
                            ;"null"))

公式必须包含几个条件:

有点迷茫

假设:

  1. 您想在 Power Query 编辑器中完成
  2. 您已经创建了 "seniority" 和 "month" ("mois*") 列
  3. 你不担心年份(你真的只是按月分组)

那么这些步骤可能会帮助您开始:

  1. 使用以下公式创建自定义列名称 "IsLesserThan3":

    if [Seniority] < 3 and [Activité] = "En poste" than 1 else 0

  2. 更改公式以包含关于 "if the month is not targed" 的要求(抱歉,我不明白它的意思)。
  3. 选择"Transform"(menu),然后选择"Group By",然后选择basic,设置group by = month,给它起个名字("Nbr_inf_3_ans"),设置operation = sum,设置column =小于3

已编辑

新的额外假设:

  1. 第二个 table 带有月份描述和月份编号,您想在那里创建新列 ("Nbr_inf_3_ans") 并填充它,可能是为了授予所有月份(包括那些没有出现的人)。

考虑到这个新假设,方法是加入两个 table 并做同样的事情:

  1. 使用以下公式创建名为 "IsLesserThan3" 的自定义列:

    if [Seniority] < 3 and [Activité] = "En poste" than 1 else 0

  2. 更改公式以包含关于 "if the month is not targed" 的要求(抱歉,我不明白它的意思)。
  3. 将新列的类型更改为整数(单击列名称左侧的图标)。
  4. 使用以下公式创建名为 "Mois_int" 的自定义列:

    Date.Month([date_de_changement_de_mission])

  5. 然后按月加入 table。为此,select 另一个 table 并选择 "Transform"(菜单),然后选择 "Merge",然后让第二个 table selected 和select 第一个 table 作为 "bottom" table,select 列 "Mois_int" 在两个 table 中,设置 "join kind" = "left outer".
  6. PowerBI 将创建一个新列,其名称是第一个 table 的名称。单击该列中的箭头图标 header 并选择 "aggregate" 并仅标记 "sum of LesserThan3".