nushell/docs/commands/empty.md
2020-10-06 05:21:20 -05:00

3.4 KiB

empty?

Check for empty values. Pass the column names to check emptiness. Optionally pass a block as the last parameter if setting contents to empty columns is wanted.

Examples

Check if a value is empty

> echo '' | empty?
true

Given the following meals

> echo [[meal size]; [arepa small] [taco '']]
═══╦═══════╦═══════
 # ║ meal  ║ size
═══╬═══════╬═══════
 0 ║ arepa ║ small
 1 ║ taco  ║
═══╩═══════╩═══════

Show the empty contents

> echo [[meal size]; [arepa small] [taco '']] | empty? meal size
═══╦══════╦══════
 # ║ meal ║ size
═══╬══════╬══════
 0 ║ No   ║ No
 1 ║ No   ║ Yes
═══╩══════╩══════

Let's assume we have a report of totals per day. For simplicity we show just for three days 2020/04/16, 2020/07/10, and 2020/11/16. Like so

> echo [[2020/04/16 2020/07/10 2020/11/16]; ['' 27 37]]
═══╦════════════╦════════════╦════════════
 # ║ 2020/04/16 ║ 2020/07/10 ║ 2020/11/16
═══╬════════════╬════════════╬════════════
 0 ║            ║         2737
═══╩════════════╩════════════╩════════════

In the future, the report now has many totals logged per day. In this example, we have 1 total for the day 2020/07/10 and 2020/11/16 like so

> echo [[2020/04/16 2020/07/10 2020/11/16]; ['' [27] [37]]]
═══╦════════════╦════════════════╦════════════════
 # ║ 2020/04/16 ║ 2020/07/10     ║ 2020/11/16
═══╬════════════╬════════════════╬════════════════
 0 ║            ║ [table 1 rows][table 1 rows]
═══╩════════════╩════════════════╩════════════════

We want to add two totals (numbers 33 and 37) for the day 2020/04/16

Set a table with two numbers for the empty column

> echo [[2020/04/16 2020/07/10 2020/11/16]; ['' [27] [37]]] | empty? 2020/04/16 { = [33 37] }
═══╦════════════════╦════════════════╦════════════════
 # ║ 2020/04/16     ║ 2020/07/10     ║ 2020/11/16
═══╬════════════════╬════════════════╬════════════════
 0[table 2 rows][table 1 rows][table 1 rows]
═══╩════════════════╩════════════════╩════════════════

Checking all the numbers

> echo [[2020/04/16 2020/07/10 2020/11/16]; ['' [27] [37]]] | empty? 2020/04/16 { = [33 37] } | pivot _ totals | get totals
═══╦════
 033
 137
 227
 337
═══╩════