Data Completeness / Completitud de data

PowerShell Advanced Topic #11
Fill Null or Empty Fields

Replace blank values with controlled defaults such as N/A to prevent reporting errors, Power BI issues, and inconsistent downstream analysis.

Cybersecurity & Production Environment Warning

This exercise is intended for learning and testing purposes only. Do not execute scripts against production environments, business-critical systems, enterprise repositories, payroll files, HR records, student records, patient records, or shared network locations without proper authorization, testing, backups, change-control procedures, and compliance with your organization's cybersecurity policies.

Advertencia de ciberseguridad y ambiente de producción

Este ejercicio es únicamente para aprendizaje y pruebas. No ejecute scripts contra ambientes de producción, sistemas críticos, repositorios empresariales, nóminas, expedientes de empleados, estudiantes, pacientes o carpetas compartidas sin autorización formal, pruebas previas, respaldos, control de cambios y cumplimiento de las políticas de ciberseguridad de su organización.

Objective

Identify null, blank, or whitespace-only values in a CSV file and replace them with a controlled default value such as N/A.

Improve dataset completeness
Avoid blank categories in reports
Prepare files for Power BI and SQL
Reduce downstream processing errors

Objetivo

Identificar valores nulos, vacíos o compuestos solamente por espacios en un archivo CSV y reemplazarlos por un valor controlado como N/A.

Mejorar la completitud del dataset
Evitar categorías en blanco en reportes
Preparar archivos para Power BI y SQL
Reducir errores en procesos posteriores

Synthetic Data

Example input file: C:\Data\Departments.csv

Datos sintéticos

Archivo de entrada de ejemplo: C:\Data\Departments.csv

EmployeeIDNameDepartmentStatus
1001Juan CarballoITActive
1002Maria PerezActive
1003Pedro Gomez Active
1004Ana RuizFinanceActive

Base Example

Check whether the Department field is null, empty, or whitespace and replace it with N/A.

Ejemplo base

Validar si el campo Departamento está nulo, vacío o compuesto por espacios y reemplazarlo por N/A.

if ([string]::IsNullOrWhiteSpace($_.Department)) {
    $_.Department = "N/A"
}

Complete Script

Script completo

# PowerShell Advanced Topic 11
# Fill null or empty fields during CSV processing

$inputPath  = "C:\Data\Departments.csv"
$outputPath = "C:\Data\Departments_Clean.csv"

$records = Import-Csv $inputPath

foreach ($record in $records) {

    if ([string]::IsNullOrWhiteSpace($record.Department)) {
        $record.Department = "N/A"
    }
}

$records | Export-Csv $outputPath -NoTypeInformation

Write-Host "Cleanup completed."
Write-Host "Output file created:" $outputPath

Expected Result

Resultado esperado

EmployeeIDNameDepartmentStatus
1001Juan CarballoITActive
1002Maria PerezN/AActive
1003Pedro GomezN/AActive
1004Ana RuizFinanceActive

Real-World Applications

  • Power BI data preparation
  • SQL imports
  • HR and payroll files
  • Student information systems
  • Customer and vendor master data
  • Operational reporting

Aplicaciones reales

  • Preparación de datos para Power BI
  • Importaciones a SQL
  • Archivos de recursos humanos y nómina
  • Sistemas de información estudiantil
  • Maestros de clientes y proveedores
  • Reportes operacionales

Recommendations

  • Use controlled default values consistently.
  • Do not hide missing data when the blank value has analytical meaning.
  • Document which fields were modified.
  • Keep an original backup before cleaning files.
  • Validate the output file before loading it into reporting tools.

Recomendaciones

  • Use valores predeterminados controlados de forma consistente.
  • No oculte datos faltantes cuando el valor en blanco tenga significado analítico.
  • Documente qué campos fueron modificados.
  • Mantenga una copia original antes de limpiar los archivos.
  • Valide el archivo final antes de cargarlo en herramientas de reporte.