Загрузка устаревших файлов в Tableau - PullRequest
0 голосов
/ 12 ноября 2018

Я начал использовать Tableau Desktop в качестве инструмента для визуализации моих данных.Однако мои данные хранятся в файлах CSV с именем формата даты (например, datasample_yyyymmdd.csv).Мне нужно иметь возможность загружать свои файлы, так как дата меняется каждый день.Как мне это сделать в Таблице?

Я искал ответы в Google, но ничего не понял.

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Это можно сделать только с помощью Tableau, если ваши данные не очень большие.

  1. Создайте объединение в соединении CSV, выберите тип в качестве подстановочного знака и введите шаблон. enter image description here

  2. Создайте источник данных / фильтр извлечения, чтобы сохранить только путь Top 1. (Экстракт рекомендуется) enter image description here

  3. Окончательный результат (Здесь 20181111 - последний файл) enter image description here

PS: для некоторых форматов даты TOP 1 of max может не возвращать правильный результат. В этом случае создайте вычисляемое поле даты из имени файла и примените фильтр ТОП1 на его основе.

0 голосов
/ 12 ноября 2018

Это то, что можно сделать за пределами Tableau с помощью пакетной команды или сценария Python.Оба могут быть автоматизированы с помощью планировщика Windows, если на Windows.В конечном счете, вы хотите выбрать самый последний файл и скопировать его в нечто вроде datasample_today.csv, а затем подключить Tableau к этому файлу.Таблицы всегда будут подключены к последнему файлу.Вот как вы могли бы сделать это в Python.

Python:

import glob
import os

list_of_files = glob.glob('/path/to/folder/*.csv') #* is wildcard
latest_file = max(list_of_files, key=os.path.getctime)
print(latest_file)

from shutil import copyfile

copyfile(latest_file, '<your dir>\datasample_today.csv')

Я совсем не разбираюсь в пакетных командах, поэтому вам придется проверитьздесь есть много полезного.

Пакет :

FOR /F %%I IN ('DIR *.* /B /O:-D') DO COPY %%I <<NewDir>> & EXIT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...