如何在ID相同的情况下获取两个日期之间的天数?
How to get the amount of days between two dates when the ID is the same?
我有一个 table,其中包含以下信息(示例)
ID START END
15234 01.05.2019. 13.05.2019
15234 24.05.2019. 28.05.2019
15234 22.06.2019. 26.06.2019
23456 04.04.2019 23.04.2019
23455 07.07.2019. 11.07.2019
23455 02.10.2019. 02.11.2019
现在我想知道
- 如果行中的 ID 相同
- 如果是,如果开始日期之间有 120 天
- 如果开始日期之间有 120 天或更少天数,我想计算 ID 平均有多少天(例如,一个人有 3 个不同的开始和结束日期 - 所以,三个不同的天数总计 - 我想要平均值
您推荐我使用哪些 dax 公式来获取此信息?我是初学者:)
此致玛丽亚
根据我目前的理解,我创建了一些 custom/index 列。在下图中,您会发现其中一个保存着同一 ID 与上一行开始日期的日期差异。请检查并让我知道“date_difference”列中的值是否会帮助您进行进一步计算。如果答案是肯定的,我将分享所有专栏的代码。
Column Index created for sorting the data only.
实现所需输出的步骤:
第 1 步: 在 Power Query 编辑器中,首先创建一个自定义列以从 START 生成实际的日期格式值。脚本如下图-
Step-2:将新建列的数据类型修改为日期时间,输出结果如下-
Step-3:现在将列ID先升序排列,然后新添加的列“converted_start+date”也按升序排列。
Step-4:现在添加一个索引列如下图-
第 5 步: 现在单击“应用并关闭”按钮返回报告。
第 6 步: 现在使用以下代码创建 date_difference 度量 -
date_difference =
VAR current_id = your_table_name[ID]
VAR current_start_date = your_table_name[converted_start_date]
VAR prev_row_start_date =
CALCULATE(
MAX(your_table_name[converted_start_date]),
FILTER(
your_table_name,
your_table_name[ID] = current_id
&& your_table_name[converted_start_date] < current_start_date
)
)
RETURN DATEDIFF(
prev_row_start_date,
your_table_name[converted_start_date],
DAY
)
希望这会有所帮助!
我有一个 table,其中包含以下信息(示例)
ID START END
15234 01.05.2019. 13.05.2019
15234 24.05.2019. 28.05.2019
15234 22.06.2019. 26.06.2019
23456 04.04.2019 23.04.2019
23455 07.07.2019. 11.07.2019
23455 02.10.2019. 02.11.2019
现在我想知道
- 如果行中的 ID 相同
- 如果是,如果开始日期之间有 120 天
- 如果开始日期之间有 120 天或更少天数,我想计算 ID 平均有多少天(例如,一个人有 3 个不同的开始和结束日期 - 所以,三个不同的天数总计 - 我想要平均值
您推荐我使用哪些 dax 公式来获取此信息?我是初学者:)
此致玛丽亚
根据我目前的理解,我创建了一些 custom/index 列。在下图中,您会发现其中一个保存着同一 ID 与上一行开始日期的日期差异。请检查并让我知道“date_difference”列中的值是否会帮助您进行进一步计算。如果答案是肯定的,我将分享所有专栏的代码。
Column Index created for sorting the data only.
实现所需输出的步骤:
第 1 步: 在 Power Query 编辑器中,首先创建一个自定义列以从 START 生成实际的日期格式值。脚本如下图-
Step-2:将新建列的数据类型修改为日期时间,输出结果如下-
Step-3:现在将列ID先升序排列,然后新添加的列“converted_start+date”也按升序排列。
Step-4:现在添加一个索引列如下图-
第 5 步: 现在单击“应用并关闭”按钮返回报告。
第 6 步: 现在使用以下代码创建 date_difference 度量 -
date_difference =
VAR current_id = your_table_name[ID]
VAR current_start_date = your_table_name[converted_start_date]
VAR prev_row_start_date =
CALCULATE(
MAX(your_table_name[converted_start_date]),
FILTER(
your_table_name,
your_table_name[ID] = current_id
&& your_table_name[converted_start_date] < current_start_date
)
)
RETURN DATEDIFF(
prev_row_start_date,
your_table_name[converted_start_date],
DAY
)
希望这会有所帮助!