soda-core icon indicating copy to clipboard operation
soda-core copied to clipboard

Filter that returns 0 rows fails the scan

Open albinkjellin opened this issue 2 years ago • 1 comments

This check:

checks for dim_customer:
  - max(total_children) = 0:
      filter: birth_date > '2010-01-01'

Fails with this exception:

Query workshop.dim_customer.aggregation[0]:
SELECT 
  MAX(CASE WHEN birth_date > '2010-01-01' THEN total_children END) 
FROM dim_customer
Scan summary:
2/2 queries OK
  workshop.for_each_table_R[0] [OK] 0:00:00.060331
  workshop.dim_customer.aggregation[0] [OK] 0:00:00.029554
1/1 check NOT EVALUATED: 
    dim_customer in workshop
      max(total_children) = 0 [NOT EVALUATED]
        check_value: None
1 checks not evaluated.
Apart from the checks that have not been evaluated, no failures, no warnings and no errors.
Sending results to Soda Cloud
Error occurred while executing scan.
  | 'NoneType' object has no attribute 'value'
  | Stacktrace:
  | Traceback (most recent call last):
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/scan.py", line 406, in execute
  |     self._configuration.soda_cloud.send_scan_results(self)
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/soda_cloud/soda_cloud.py", line 22, in send_scan_results
  |     scan_results = self.build_scan_results(scan)
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/soda_cloud/soda_cloud.py", line 37, in build_scan_results
  |     "checks": [check.get_cloud_dict() for check in scan._checks],
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/soda_cloud/soda_cloud.py", line 37, in <listcomp>
  |     "checks": [check.get_cloud_dict() for check in scan._checks],
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/execution/check.py", line 140, in get_cloud_dict
  |     self.outcome.value = None
  | AttributeError: 'NoneType' object has no attribute 'value'

Query workshop.dim_customer.aggregation[0]:
SELECT 
  MAX(CASE WHEN birth_date > '2010-01-01' THEN total_children END) 
FROM dim_customer
Scan summary:
2/2 queries OK
  workshop.for_each_table_R[0] [OK] 0:00:00.060331
  workshop.dim_customer.aggregation[0] [OK] 0:00:00.029554
1/1 check NOT EVALUATED: 
    dim_customer in workshop
      max(total_children) = 0 [NOT EVALUATED]
        check_value: None
1 checks not evaluated.
Apart from the checks that have not been evaluated, no failures, no warnings and no errors.
Sending results to Soda Cloud
Error occurred while executing scan.
  | 'NoneType' object has no attribute 'value'
  | Stacktrace:
  | Traceback (most recent call last):
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/scan.py", line 406, in execute
  |     self._configuration.soda_cloud.send_scan_results(self)
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/soda_cloud/soda_cloud.py", line 22, in send_scan_results
  |     scan_results = self.build_scan_results(scan)
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/soda_cloud/soda_cloud.py", line 37, in build_scan_results
  |     "checks": [check.get_cloud_dict() for check in scan._checks],
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/soda_cloud/soda_cloud.py", line 37, in <listcomp>
  |     "checks": [check.get_cloud_dict() for check in scan._checks],
  |   File "/Users/albin/dev/py/env/soda-cl-workshop/lib/python3.9/site-packages/soda/execution/check.py", line 140, in get_cloud_dict
  |     self.outcome.value = None
  | AttributeError: 'NoneType' object has no attribute 'value'


albinkjellin avatar Apr 29 '22 09:04 albinkjellin

SODA-163

jmarien avatar Apr 29 '22 09:04 jmarien

With 3.0.12

➜ soda scan -c configuration.yml -d aa_vk failed_rows.yml
Soda Core 3.0.12
Scan summary:
1/1 check NOT EVALUATED:
    dim_customer in aa_vk
      max(total_children) = 0 [NOT EVALUATED]
        check_value: None
1 checks not evaluated.
Apart from the checks that have not been evaluated, no failures, no warnings and no errors.

vijaykiran avatar Nov 03 '22 10:11 vijaykiran