jueves, 16 de junio de 2016

Listado de Registros Únicos con MsQuery (SQL SELECT DISTINCT).

Utilizaremos hoy un viejo conocido de nuestras versiones de Excel: MSQuery, para emplear una sencilla sentencia SQL que nos permitirá recuperar un listado de nuestros registros únicos, no repetidos.
En concreto la sentencia SQL a emplear es: SELECT DISTINCT


Partiremos de un libro de trabajo llamado 'DISTINCT_MSQuey.xlsx' (es necesario que el fichero exista y esté guardado en alguna ubicación!).
Dentro del fichero tendremos una Tabla llamada 'TblHerramientas' (o cualquier otro nombre).. podríamos trabajar de igual forma sobre un rango de celdas.

Listado de Registros Únicos con MsQuery (SQL SELECT DISTINCT).


Fíjate que deberemos entender como registro repetido cuando simultáneamente se repitan los tres campos de la tabla a la vez!!!

Empezamos entonces el proceso accediendo a la herramienta MSQuery desde la ficha Datos > grupo Obtener Datos Externos > de Otras Fuentes > desde Microsoft Query:

Listado de Registros Únicos con MsQuery (SQL SELECT DISTINCT).


Se abrirá el Asistente de la aplicación y en el primer paso seleccionaremos como Origen de datos la opción: Excel files

Listado de Registros Únicos con MsQuery (SQL SELECT DISTINCT).


En el siguiente paso buscaremos la ubicación de nuestro fichero Excel ('DISTINCT_MSQuey.xlsx')

Listado de Registros Únicos con MsQuery (SQL SELECT DISTINCT).


El siguiente paso, de entre las hojas de nuestro Libro, seleccionaremos aquella donde esté situada nuestra Tabla...

Listado de Registros Únicos con MsQuery (SQL SELECT DISTINCT).


En los dos siguientes pasos aceptaremos sin más, ya que no nos interesa aplicar Filtro ni ordenación alguno...

Y llegamos a este vista del asistente, paso último, donde indicaremos la opción: Ver datos o modificar consulta desde Microsoft Query

Listado de Registros Únicos con MsQuery (SQL SELECT DISTINCT).


Tras Finalizar accedemos a la ventana del Asistente de diseño de consultas MsQuery. Nos interesa en este caso entrar en la vista SQL, para lo cual presionamos el botón SQL y en la ventana de código abierta escribimos:
SELECT DISTINCT `Hoja1$`.Producto, `Hoja1$`.Zona, `Hoja1$`.Unidades
FROM `E:\excelforo\DISTINCT_MSQuery.xlsx`.`Hoja1$` `Hoja1$`

Listado de Registros Únicos con MsQuery (SQL SELECT DISTINCT).


Tras Aceptar y Devolver los datos a Excel tendremos a nuestra disposición una nueva Tabla con aquellos registros únicos, como esperábamos...

Listado de Registros Únicos con MsQuery (SQL SELECT DISTINCT).

2 comentarios:

  1. Hola Ismael gusto en saludarte,
    fijate que estoy practicando esta funcionalidad ( Excel 2013 ) y me indica que el Origen de Datos No tiene tablas visibles ( aun y cuando tengo 2 en hojas distintas ), . . hay algo mas que deba definir?
    Gracias de antemano ( J Canales )

    ResponderEliminar
    Respuestas
    1. Hola J Javier,
      en el asistente de MS Query tendrás que marcar la opción de 'ver tablas del sistema'

      Slds

      Eliminar