Inconsistencies in booleans handling
mlazowik opened this issue · 1 comments
mlazowik commented
Describe the bug
I'm not 100% sure whether this should be here, or in Metabase repo, but my bet is here.
When using the notebook with boolean questions:
- the "original schema" type inferred by Metabase is
type/Boolean
, same as when using Postgres - the semantic type is "Category", same as when using Postgres
- when selecting the column from the list in the notebook it has the
Aa
icon, while in Postgres it hasI/O
![Screenshot 2023-08-31 at 16 26 11](https://private-user-images.githubusercontent.com/1978721/264677410-3135e993-4da6-49cf-a596-327560ed4b44.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkyNzg1MjQsIm5iZiI6MTcwOTI3ODIyNCwicGF0aCI6Ii8xOTc4NzIxLzI2NDY3NzQxMC0zMTM1ZTk5My00ZGE2LTQ5Y2YtYTU5Ni0zMjc1NjBlZDRiNDQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDMwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDAzMDFUMDczMDI0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjRjNzRhYzExYTUxZGJjMjc5MGQzOTIwMmM0NTZhMDI1M2ExMWFmOWVkMTZmNTk1MmMyMmRjMzdmY2I4MTFiNiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.qvMM89Z077NinaNJH_JjvAL3RA4DfyVTp2dDTSQl-60)
![Screenshot 2023-08-31 at 16 26 56](https://private-user-images.githubusercontent.com/1978721/264677622-78d6d207-e069-4841-9064-950d44be0478.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkyNzg1MjQsIm5iZiI6MTcwOTI3ODIyNCwicGF0aCI6Ii8xOTc4NzIxLzI2NDY3NzYyMi03OGQ2ZDIwNy1lMDY5LTQ4NDEtOTA2NC05NTBkNDRiZTA0NzgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDMwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDAzMDFUMDczMDI0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MzU4YzFkNjQxNGFiNGQyYjRlZWZjZGE1MWFjNTI3NGVkNDRjOGYyMDZjYzM1ZTU4ZjNkZDYzOGYzNGEyYTFlZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.4uG-gSE5oiwOjwYFASbcNRt1VpG0YjcORiIDIZEBmJs)
- the filtering interface for ClickHouse seems to be generic category one, in Postgres it's dedicated to booleans
![Screenshot 2023-08-31 at 16 27 39](https://private-user-images.githubusercontent.com/1978721/264677832-fe669b64-ad5b-4e04-95d3-adbb38e0532e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkyNzg1MjQsIm5iZiI6MTcwOTI3ODIyNCwicGF0aCI6Ii8xOTc4NzIxLzI2NDY3NzgzMi1mZTY2OWI2NC1hZDViLTRlMDQtOTVkMy1hZGJiMzhlMDUzMmUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDMwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDAzMDFUMDczMDI0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZDYxMzVkZWY4YzQ2YjEyOTlkY2Y3NTNhMjRhNDkzMzkyNDFlMDQ4ODlmYjRhYTQ1Yjk2YTQ1YmE1M2RkY2JmMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.ivcG--ITKmi-OofH3P6F-REvbi5VFSoQ1Qx2ZNyfOfQ)
![Screenshot 2023-08-31 at 16 27 50](https://private-user-images.githubusercontent.com/1978721/264677874-690416fd-b836-47e3-bd89-afaab93a2282.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkyNzg1MjQsIm5iZiI6MTcwOTI3ODIyNCwicGF0aCI6Ii8xOTc4NzIxLzI2NDY3Nzg3NC02OTA0MTZmZC1iODM2LTQ3ZTMtYmQ4OS1hZmFhYjkzYTIyODIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDMwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDAzMDFUMDczMDI0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZmRjMDAzOGM0YWM1MTkwMGMxMWI4NDBmZDFmNjc1ZDYwYTkxNmM1ZTEyZTdlZjVhYjFhOTkyOTM0NzFiNmM1NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.-qz6_zPklBzOUgdCd_f3RFcqCTja43kEBo4GQy6YEtQ)
- it's possible to select boolean columns in
Sum of …
in ClickHouse, not possible in Postgres - the result of summing over a boolean column in ClickHouse is treated as a textual result by Metabase, there is no option to set separator style etc.
![Screenshot 2023-08-31 at 16 29 33](https://private-user-images.githubusercontent.com/1978721/264678381-ba835658-7f75-4f77-88ba-5e09fd5e5170.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkyNzg1MjQsIm5iZiI6MTcwOTI3ODIyNCwicGF0aCI6Ii8xOTc4NzIxLzI2NDY3ODM4MS1iYTgzNTY1OC03Zjc1LTRmNzctODhiYS01ZTA5ZmQ1ZTUxNzAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDMwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDAzMDFUMDczMDI0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NmM1YzY1YzhjZDJiNTZhYWE0OGQ0ODUwNTUzNTY1NDc1NzM0YmUzMjllMjY2NDJlNTU2ODFiMjYyODMyZjZjZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.FOZZXIx0AlpY-n4MdaQXQ3GYT0D8_r6mtoEwpG5tRNY)
![Screenshot 2023-08-31 at 16 32 53](https://private-user-images.githubusercontent.com/1978721/264679523-45c479d8-1af8-4b20-ac7b-6032d4fe8b5d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkyNzg1MjQsIm5iZiI6MTcwOTI3ODIyNCwicGF0aCI6Ii8xOTc4NzIxLzI2NDY3OTUyMy00NWM0NzlkOC0xYWY4LTRiMjAtYWM3Yi02MDMyZDRmZThiNWQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDMwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDAzMDFUMDczMDI0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzMzN2ZmMTYxYjIxM2ZhMjRmMzJmZTU1MzM0NjU4MTQ1MTI0NWE5NDFjMTRmZjg0OTYzZGJmODc0ZDNmNTI5YSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.bq4LUMBaUHyjKcgqHezgMuUQ23Iy-AnvWv9KxvM7Krc)
- It is possible to select the number styling when either summing booleans in SQL, or using
CountIf()
instead of summing
![Screenshot 2023-08-31 at 16 33 33](https://private-user-images.githubusercontent.com/1978721/264679717-99d4b1ea-bee9-4520-b8a1-bd2cb3db810a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkyNzg1MjQsIm5iZiI6MTcwOTI3ODIyNCwicGF0aCI6Ii8xOTc4NzIxLzI2NDY3OTcxNy05OWQ0YjFlYS1iZWU5LTQ1MjAtYjhhMS1iZDJjYjNkYjgxMGEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDMwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDAzMDFUMDczMDI0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Y2QyMjljOGI1YzNmZDhhNTJlM2JhYTA0ODBjOGIzMzJkZTFmNmUxODY4YzExNzgzN2MzZmEwYmE5MjBkNmIwMiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.Q8t-MU-GxlVEq5RqUOO4bRiywIvWScPNUQdhI74-GPk)
![Screenshot 2023-08-31 at 16 34 08](https://private-user-images.githubusercontent.com/1978721/264679885-8d130419-0c51-43f2-b076-5d8147326d48.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDkyNzg1MjQsIm5iZiI6MTcwOTI3ODIyNCwicGF0aCI6Ii8xOTc4NzIxLzI2NDY3OTg4NS04ZDEzMDQxOS0wYzUxLTQzZjItYjA3Ni01ZDgxNDczMjZkNDgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDMwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDAzMDFUMDczMDI0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NWM3MzQ1ZmU2MDEwNjQ3NWQ4MWQwNzQ3MGM3MmVkNjlkMzZiYWU3YTIwNDI5ZWE4ZDEyNTllZTk5MDg0YzJiZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.xllyxCglvQsKkzrbXumVDKlSvCN_koGW8lrSwmFaBAQ)
- Notably formatting options are missing when using a notebook, but when you convert a question created using notebook to raw sql the options are there. Which seems to show that the problem is with how Metabase treats the results, not with the SQL query
IMO this is a problem, because non-technical users will reach for the Sum of …
by default, and training them that they should avoid it and use CountIf()
to get proper formatting will not be easy.
Expected behaviour
Either summing over booleans is not supported in the graphical interface, or the result is understood by Metabase to be a number.
Configuration
Environment
- metabase-clickhouse-driver version:
1.1.7
- Metabase version:
0.46.7
- OS:
NixOS 23.05
ClickHouse server
- ClickHouse Server version:
23.7.4.5
slvrtrn commented
@mlazowik, I cannot reproduce it with CH 23.8/MB 0.47.2/Driver 1.21. Can you please check it with these versions? It could be due to 1.2.0 database types mapping rework, though I am not sure.
create table test (b Boolean, s String) engine MergeTree order by b;
insert into test values (true, "foo"), (true, "bar"), (false, "qaz");