{"action":"created","issue":{"url":"https://api.github.com/repos/akvo/akvo-product-design/issues/223","repository_url":"https://api.github.com/repos/akvo/akvo-product-design","labels_url":"https://api.github.com/repos/akvo/akvo-product-design/issues/223/labels{/name}","comments_url":"https://api.github.com/repos/akvo/akvo-product-design/issues/223/comments","events_url":"https://api.github.com/repos/akvo/akvo-product-design/issues/223/events","html_url":"https://github.com/akvo/akvo-product-design/issues/223","id":189085181,"number":223,"title":"Implement unique values and bulk edit transform","user":{"login":"mtwestra","id":478954,"avatar_url":"https://avatars.githubusercontent.com/u/478954?v=3","gravatar_id":"","url":"https://api.github.com/users/mtwestra","html_url":"https://github.com/mtwestra","followers_url":"https://api.github.com/users/mtwestra/followers","following_url":"https://api.github.com/users/mtwestra/following{/other_user}","gists_url":"https://api.github.com/users/mtwestra/gists{/gist_id}","starred_url":"https://api.github.com/users/mtwestra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtwestra/subscriptions","organizations_url":"https://api.github.com/users/mtwestra/orgs","repos_url":"https://api.github.com/users/mtwestra/repos","events_url":"https://api.github.com/users/mtwestra/events{/privacy}","received_events_url":"https://api.github.com/users/mtwestra/received_events","type":"User","site_admin":false},"labels":[{"id":73943495,"url":"https://api.github.com/repos/akvo/akvo-product-design/labels/Lumen","name":"Lumen","color":"77b436","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-11-14T11:06:38Z","updated_at":"2016-11-14T11:28:56Z","closed_at":null,"body":"The unique value and bulk edit transform is one of the main tools for data cleaning. As an example, say we have a dataset in which the question ‘pump type’ was entered as a free text question. This means that there will be a lot of variation for the same word, for example ‘Afridev’, ‘afridev’, ‘avidef’, ‘affridev’, ‘avfridev’, 'a f r i d e v', etc. To deal with this, we display a list of all the unique values in the column, together with how often they occur, and then have the ability to edit all the rows that contain that value at the same time. For example, if there are 25 entries of ‘avidef’, I want to be able to provide the correct value ‘Afridev’, and then have all the affected rows changed at the same time. \r\n\r\nA good implementation of this idea can be found in OpenRefine. Below, we show a number of screenshots.\r\n\r\nWhat the user sees if she selects 'text facet' on the column 'Partner'. On the left all the unique values in the 'partner' column are shown, together with a count of how often they occur.\r\n<img width=\"512\" alt=\"screen shot 2016-11-14 at 12 20 10\" src=\"https://cloud.githubusercontent.com/assets/478954/20262941/ce3086ba-aa64-11e6-85d4-1e1b17317a4d.png\">\r\n\r\nWhen a user hovers over one of the elements, two options are available: 'edit', and 'include'. 'Include' is used to filter all the rows by that value, and we probably don't need that. 'Edit' shows an edit field, see below.\r\n<img width=\"295\" alt=\"screen shot 2016-11-14 at 12 20 28\" src=\"https://cloud.githubusercontent.com/assets/478954/20262955/d6f5a9ec-aa64-11e6-9428-0834d087ad28.png\">\r\n\r\nAfter clicking 'edit', the user can provide a new value. When the user clicks 'apply', this value replaces all the cells in the rows where the old value occurred (bulk edit).\r\n<img width=\"691\" alt=\"screen shot 2016-11-14 at 12 20 40\" src=\"https://cloud.githubusercontent.com/assets/478954/20262957/dbe0d710-aa64-11e6-908a-d195a7837093.png\">\r\n"},"comment":{"url":"https://api.github.com/repos/akvo/akvo-product-design/issues/comments/260312312","html_url":"https://github.com/akvo/akvo-product-design/issues/223#issuecomment-260312312","issue_url":"https://api.github.com/repos/akvo/akvo-product-design/issues/223","id":260312312,"user":{"login":"mtwestra","id":478954,"avatar_url":"https://avatars.githubusercontent.com/u/478954?v=3","gravatar_id":"","url":"https://api.github.com/users/mtwestra","html_url":"https://github.com/mtwestra","followers_url":"https://api.github.com/users/mtwestra/followers","following_url":"https://api.github.com/users/mtwestra/following{/other_user}","gists_url":"https://api.github.com/users/mtwestra/gists{/gist_id}","starred_url":"https://api.github.com/users/mtwestra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtwestra/subscriptions","organizations_url":"https://api.github.com/users/mtwestra/orgs","repos_url":"https://api.github.com/users/mtwestra/repos","events_url":"https://api.github.com/users/mtwestra/events{/privacy}","received_events_url":"https://api.github.com/users/mtwestra/received_events","type":"User","site_admin":false},"created_at":"2016-11-14T11:28:56Z","updated_at":"2016-11-14T11:28:56Z","body":"So, we have the following functionality:\r\n* a way for the user to specify which column to apply the transform to. As this is a single column transform, it makes sense to do this in the column context menu.\r\n* a way to display all the unique values in the column, and their counts.\r\n* a way for the user to bulk edit a specific value."}}
{"actor":{"display_login":"mtwestra"}}