-
-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request]: Change JoinKeys to something simpler #78
[Feature Request]: Change JoinKeys to something simpler #78
Comments
See insightsengineering/teal.slice#71 (comment) - we should make sure join keys object returns what we want it to in edge cases (and to have appropriate validation when using it outside of teal_data...) |
See here insightsengineering/teal#683 (comment)
|
Need to reassess this. Team huddle after filter panel |
Needs a quick implementation, please follow the comment |
!!UPDATE!!
Read this comment for updated instruction on how to move forward with this issue:
insightsengineering/teal.gallery#75 (comment)
Feature description
JoinKeys is a R6 class which is not user friendly. JoinKeys should be a simple list or S4 class acting like a list. Reasons:
join_keys should behave like a list so that teal.slice and teal.transform doesn't need
teal.data as dependency. It might need for examples, but extracting objects by
join_keys[["data1"]][["data2"]]
will work with join_keys and with a simple list
join_keys should be a named list a dataname. Each list item should be a named list of keys between datasets. It could be represented by such yaml:
or when keys names are different
Exported functions
Constructor
Setters
Having setter
jk[["orders"]][["products"]]<-
doesn't seem to be possible, as it will be challenging to check symmetry in the whole list of keys when setting only one item (parent list methods are not invoked). It means that we probably should stay withjk["orders", "products"]
Getters
Changing
JoinKeys
will require change at least in these packages:The text was updated successfully, but these errors were encountered: