Нам нужен код Java, который автоматически преобразует CSV-файлы в pbix-файлы, чтобы их можно было открывать и дальше обрабатывать в PowerBI Desktop.Теперь я знаю, что PowerBI предлагает эту замечательную функцию, которая конвертирует CSV-файлы и многие другие форматы в pbix вручную.Однако нам нужна функция, которая автоматически преобразует наши отчеты непосредственно в pbix, так что нет необходимости создавать и хранить промежуточные файлы.
Мы уже смогли разработать функцию с тремя параметрами: первый соответствует выбранному отчету из нашей базы данных;второй соответствует каталогу, в котором должен быть сгенерирован преобразованный отчет;и, наконец, третий - сам конвертированный выходной файл.Два первых параметра работают хорошо, и код может генерировать копию любого отчета, который мы выбираем, в любой каталог, который мы выбираем.Тем не менее, он может генерировать только CSV-файлы.Любой другой формат будет иметь тот же размер, что и CSV, и не сможет открыться.
Это то, что мы пробовали до сих пор для части преобразования кода:
Util.writeFile("C:\\" + "test.csv", byteString);
Вышеупомянутый фрагмент кода работает просто отлично, однако CSV это не то, что мы хотели,в любом случае исходные отчеты уже имеют формат csv.
Util.writeFile("C:\\" + "test.pbix", byteString);
Util.writeFile("C:\\" + "test.pdf", byteString);
Util.writeFile("C:\\" + "test.xlsx", byteString);
Каждая из трех приведенных выше строк генерирует один файл в указанном формате, однако каждый из сгенерированных файлов имеет такой же размер, что и соответствующий ему csv (но должен бытьгораздо больше) и поэтому не могут открыться.
File file = new File("C:\\" + "test1.csv");
File file2 = new File("C:\\" + "test1.pbix");
file.renameTo(file2);
Приведенный выше фрагмент кода вообще не генерирует никаких файлов, но я подумал, что стоит упомянуть об этом, поскольку он не выдает никаких исключенийна всех тоже.
PS Мы также были бы заинтересованы в java-коде, который конвертирует csv в любое другое программное обеспечение для отчетов BI, кроме PowerBI, например Tableau, BIRT, Knowage и т. Д.
PS2 В первом фрагменте кода используетсяобъекты класса (sailpoint.tools.Util), который, по-видимому, доступен только для тех, кто имеет доступ к Sailpoint.