根据另一个 table 的值创建一个新的 table?
Create a new table based on value of another table?
我有与员工姓名、开始和结束日期、每年授予的股份数量以及该计划将持续的年数相关的数据。
例如,员工 A 在 2020 年 4 月 1 日被授予为期 4 年的 5000 股股票,其归属期为 2021 年 4 月 1 日、2022 年 4 月 1 日、2023 年 4 月 1 日和 2024 年 4 月 1 日
客户提供的数据将只有员工姓名、开始和结束日期(2020 年 4 月 1 日)
2024 年 4 月 1 日,每年授予的股份数量(5000 股)和该计划将授予的年数(4 年)。看起来像这样
是否可以根据上述table在power bi中创建一个新的table
我已经能够在power bi中使用这个公式
让
StDt = [#"授权日期#(lf)(dd/mm/yyyy)"],
AllDates = {Number.From([#"授予日期#(lf)(dd/mm/yyyy)"])..Number.From([#"归属结束日期#(lf)(dd/mm/yyyy)"])},
StofMonthDates =
List.Distinct(List.Select(List.InsertRange(List.Transform(所有日期,每个 Date.StartOfYear(Date.From())),0, {[#"授权日期#(lf)(dd/mm/yyyy)"]}),each Number.From () >= Number.From(StDt)))
在
StofMonthDates
但是因为我使用的是年初功能,所以它给了我 1 月 1 日,我希望它给出与每个授予日期相同的日期,只有年份应该改变。
更新:您可以使用以下代码创建一个新的 table:
Year_Table =
GENERATE(
YourTable,
FILTER(
SELECTCOLUMNS(
GENERATESERIES(1, 100),
"ID", [Value],
"End date", DATE(YEAR(YourTable[Grand date]) + [Value], MONTH(YourTable[Grand date]), DAY(YourTable[Grand date]))
),
[ID] <= YourTable[Vesting period]
)
)
输出:
更新,现在每个月:
Month_Table =
GENERATE(
YourTable,
FILTER(
SELECTCOLUMNS(
GENERATESERIES(1, 100),
"ID", [Value] / 12,
"End date", DATE(YEAR(YourTable[Grand date]), MONTH(YourTable[Grand date]) + [Value], DAY(YourTable[Grand date]))
),
[ID] <= YourTable[Vesting period]
)
)
我有与员工姓名、开始和结束日期、每年授予的股份数量以及该计划将持续的年数相关的数据。
例如,员工 A 在 2020 年 4 月 1 日被授予为期 4 年的 5000 股股票,其归属期为 2021 年 4 月 1 日、2022 年 4 月 1 日、2023 年 4 月 1 日和 2024 年 4 月 1 日
客户提供的数据将只有员工姓名、开始和结束日期(2020 年 4 月 1 日) 2024 年 4 月 1 日,每年授予的股份数量(5000 股)和该计划将授予的年数(4 年)。看起来像这样
是否可以根据上述table在power bi中创建一个新的table
我已经能够在power bi中使用这个公式
让 StDt = [#"授权日期#(lf)(dd/mm/yyyy)"], AllDates = {Number.From([#"授予日期#(lf)(dd/mm/yyyy)"])..Number.From([#"归属结束日期#(lf)(dd/mm/yyyy)"])},
StofMonthDates = List.Distinct(List.Select(List.InsertRange(List.Transform(所有日期,每个 Date.StartOfYear(Date.From())),0, {[#"授权日期#(lf)(dd/mm/yyyy)"]}),each Number.From () >= Number.From(StDt))) 在 StofMonthDates
但是因为我使用的是年初功能,所以它给了我 1 月 1 日,我希望它给出与每个授予日期相同的日期,只有年份应该改变。
更新:您可以使用以下代码创建一个新的 table:
Year_Table =
GENERATE(
YourTable,
FILTER(
SELECTCOLUMNS(
GENERATESERIES(1, 100),
"ID", [Value],
"End date", DATE(YEAR(YourTable[Grand date]) + [Value], MONTH(YourTable[Grand date]), DAY(YourTable[Grand date]))
),
[ID] <= YourTable[Vesting period]
)
)
输出:
更新,现在每个月:
Month_Table =
GENERATE(
YourTable,
FILTER(
SELECTCOLUMNS(
GENERATESERIES(1, 100),
"ID", [Value] / 12,
"End date", DATE(YEAR(YourTable[Grand date]), MONTH(YourTable[Grand date]) + [Value], DAY(YourTable[Grand date]))
),
[ID] <= YourTable[Vesting period]
)
)