cdiscbuilder 1.1.6__py3-none-any.whl → 1.1.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cdiscbuilder/adam/adam_derivation/derivations/sql_derivation.py +18 -5
- {cdiscbuilder-1.1.6.dist-info → cdiscbuilder-1.1.8.dist-info}/METADATA +1 -1
- {cdiscbuilder-1.1.6.dist-info → cdiscbuilder-1.1.8.dist-info}/RECORD +7 -7
- {cdiscbuilder-1.1.6.dist-info → cdiscbuilder-1.1.8.dist-info}/WHEEL +0 -0
- {cdiscbuilder-1.1.6.dist-info → cdiscbuilder-1.1.8.dist-info}/entry_points.txt +0 -0
- {cdiscbuilder-1.1.6.dist-info → cdiscbuilder-1.1.8.dist-info}/licenses/LICENSE +0 -0
- {cdiscbuilder-1.1.6.dist-info → cdiscbuilder-1.1.8.dist-info}/top_level.txt +0 -0
|
@@ -430,15 +430,28 @@ class SQLDerivation(BaseDerivation):
|
|
|
430
430
|
if target_col in subject_data.columns and date_col in subject_data.columns:
|
|
431
431
|
# Get target date (should be same for all rows of this subject)
|
|
432
432
|
target_date = subject_data[target_col][0]
|
|
433
|
-
|
|
433
|
+
|
|
434
|
+
# Skip if target date is null
|
|
435
|
+
if target_date is None:
|
|
436
|
+
result_list.append(subject_data[source_col][0])
|
|
437
|
+
continue
|
|
438
|
+
|
|
434
439
|
# Calculate date differences and find closest
|
|
435
|
-
# Handle
|
|
440
|
+
# Handle multiple formats: "YYYY-MM-DD HH:MM:SS", "YYYY-MM-DDTHH:MM:SS" (ISO), or "YYYY-MM-DD"
|
|
441
|
+
# We convert everything to Datetime for precision comparison (ms level)
|
|
442
|
+
def parse_to_datetime(expr: pl.Expr) -> pl.Expr:
|
|
443
|
+
return (
|
|
444
|
+
expr.str.strptime(pl.Datetime, "%Y-%m-%d %H:%M:%S", strict=False)
|
|
445
|
+
.fill_null(expr.str.strptime(pl.Datetime, "%Y-%m-%dT%H:%M:%S", strict=False))
|
|
446
|
+
.fill_null(expr.str.strptime(pl.Date, "%Y-%m-%d", strict=False).cast(pl.Datetime))
|
|
447
|
+
)
|
|
448
|
+
|
|
436
449
|
with_diff = subject_data.with_columns(
|
|
437
450
|
(
|
|
438
|
-
pl.col(date_col)
|
|
439
|
-
- pl.lit(target_date)
|
|
451
|
+
parse_to_datetime(pl.col(date_col))
|
|
452
|
+
- parse_to_datetime(pl.lit(target_date))
|
|
440
453
|
)
|
|
441
|
-
.dt.
|
|
454
|
+
.dt.total_milliseconds()
|
|
442
455
|
.abs()
|
|
443
456
|
.alias("date_diff")
|
|
444
457
|
)
|
|
@@ -7,7 +7,7 @@ cdiscbuilder/adam/adam_derivation/engine.py,sha256=5Wk_tc3c6nRKBiiL5gE7YXxvdPgXV
|
|
|
7
7
|
cdiscbuilder/adam/adam_derivation/derivations/__init__.py,sha256=iu7xzlQF_uK_5nwYw5ovEsBDNdaX0S8oVFYYxcxheTc,213
|
|
8
8
|
cdiscbuilder/adam/adam_derivation/derivations/base.py,sha256=thbi0UD17Z8hUA5G6np_wWDcFth-UmoY7moS2KzvIps,1242
|
|
9
9
|
cdiscbuilder/adam/adam_derivation/derivations/function_derivation.py,sha256=mPBet5JR10RS9euaS9ZLE1GCMRS3Grp9Gc3hdiQOVDI,7167
|
|
10
|
-
cdiscbuilder/adam/adam_derivation/derivations/sql_derivation.py,sha256=
|
|
10
|
+
cdiscbuilder/adam/adam_derivation/derivations/sql_derivation.py,sha256=7vdi7qisIN4U3dft9AoPYkpUDlikR9bWu5ziTSdSCx8,23476
|
|
11
11
|
cdiscbuilder/adam/adam_derivation/functions/__init__.py,sha256=Cv4pLpgHTr9i2zf7owbpZwMyxm8JLFmX4J31dvX0jYg,1773
|
|
12
12
|
cdiscbuilder/adam/adam_derivation/functions/get_bmi.py,sha256=RR1lQpRSDO4cEkhxjnPutAy_xfVvfEwmhYR90XK2eMM,229
|
|
13
13
|
cdiscbuilder/adam/adam_derivation/loaders/__init__.py,sha256=eUnUKzyahIaLIqjn39sYzXvzPpfabZoipkPdQ5mA9IE,116
|
|
@@ -49,9 +49,9 @@ cdiscbuilder/sdtm/loader/load.py,sha256=30x9fAEjnuRq313SRq9I7mBwrWl4sEhiKkmrr9x1
|
|
|
49
49
|
cdiscbuilder/sdtm/loader/tests/__init__.py,sha256=ujCd31KMb52gvkWkVBBogLBda3aiRmbqS0nRS-yTnk0,69
|
|
50
50
|
cdiscbuilder/sdtm/loader/tests/test_load.py,sha256=yrXFQlzH_EkN6HxJc7ItFie8xqwrs2XxwNu2wGaxjok,11180
|
|
51
51
|
cdiscbuilder/tlf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
-
cdiscbuilder-1.1.
|
|
53
|
-
cdiscbuilder-1.1.
|
|
54
|
-
cdiscbuilder-1.1.
|
|
55
|
-
cdiscbuilder-1.1.
|
|
56
|
-
cdiscbuilder-1.1.
|
|
57
|
-
cdiscbuilder-1.1.
|
|
52
|
+
cdiscbuilder-1.1.8.dist-info/licenses/LICENSE,sha256=Da4Pm8tEdB1ycKkAkF2EwfHd-8l0wrJ_uwejzfBRHFE,1092
|
|
53
|
+
cdiscbuilder-1.1.8.dist-info/METADATA,sha256=QL7D5R3de5fOEIAAyXSlET9qmuZh4CboDPNr0rDSVzI,356
|
|
54
|
+
cdiscbuilder-1.1.8.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
55
|
+
cdiscbuilder-1.1.8.dist-info/entry_points.txt,sha256=KsuiJD4hsfjRqDkdvWgLFPeQCz7QBl73RA665BmF0Pw,53
|
|
56
|
+
cdiscbuilder-1.1.8.dist-info/top_level.txt,sha256=3x5ENgnXBENgXKp5Zsht_4_OmA5wLVvDuk0UEkYOGNw,13
|
|
57
|
+
cdiscbuilder-1.1.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|