Немного поздно отвечать, но неважно. Для начала вы можете взглянуть на VT Fact Viewer. Это может дать вам сетку фактов XBRL в документе, и вы можете экспортировать их в Excel. Оказавшись там, вам нужно будет выполнить некоторую фильтрацию в поисках таких тегов, как «core: IntangibleAssets» или, может быть, «uk-gaap: Intangible ....».
Однако, если вы делаете это с большим количеством документов (например, с дампом данных CH), вам нужно будет начать выполнять некоторую «правильную» обработку xml самостоятельно, используя язык программирования или язык сценариев. Но средство просмотра все равно будет полезно, поскольку покажет вам, какие вещи вы стремитесь извлечь.
В качестве простого примера ниже вы получите некоторые данные о нематериальных активах в формате CSV, которые вы можете открыть в Excel. Написано на C# (с использованием LINQPad), поэтому при необходимости вам придется перевести:
string fname = @"C:\ch_data\Prod223_1770_00101234_20160331.html";
var doc = XDocument.Load(fname);
// The 'ix' namespace may use 2008 or 2013 schema so we'll just use the .LocalName property of the tag
var elements = doc.Root
.Descendants()
.Where(x => x.Name.LocalName == "nonFraction")
.Where(x => x.Attributes().Any(a => a.Value.Contains("Intangible")));
var lines = new List<string>();
foreach (var element in elements)
{
var attribs = element.Attributes();
var ctx = attribs.FirstOrDefault(a => a.Name == "contextRef")?.Value ?? "";
var dec = attribs.FirstOrDefault(a => a.Name == "decimals")?.Value ?? "";
var scale = attribs.FirstOrDefault(a => a.Name == "scale")?.Value ?? "";
var units = attribs.FirstOrDefault(a => a.Name == "unitRef")?.Value ?? "";
var fmt = attribs.FirstOrDefault(a => a.Name == "format")?.Value ?? "";
var name = attribs.FirstOrDefault(a => a.Name == "name")?.Value ?? "";
var value = element.Value;
string line = $"\"{ctx}\",\"{dec}\",\"{scale}\",\"{units}\",\"{name}\",\"{fmt}\",\"{value}\"";
lines.Add(line);
//Console.WriteLine(line);
}
File.WriteAllLines(Path.ChangeExtension(fname, "csv"), lines);
Измените имя входного файла, чтобы прокрутить каталог или список имен файлов в зависимости от ситуации.
person
shunty
schedule
22.12.2016