Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Разбор XBRL в SQL Server  [new]
gnatochka
Member

Откуда: Kazan
Сообщений: 46
Добрый день, необходимо считать данные из формата xbrl
Можно как то через XQuery?

Например
XPATH =
 /xbrli:xbrl/uk-dic:Den_sredstva_dolya_stoim_aktiv[5]/text()

XPATH =
/xbrli:xbrl/uk-dic:Den_sredstva_dolya_stoim_aktiv[5]/@contextRef
15 май 18, 10:56    [21410088]     Ответить | Цитировать Сообщить модератору
 Re: Разбор XBRL в SQL Server  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1346
gnatochka,

можно
15 май 18, 11:05    [21410108]     Ответить | Цитировать Сообщить модератору
 Re: Разбор XBRL в SQL Server  [new]
iiyama
Member

Откуда:
Сообщений: 642
gnatochka,

конкретная задача будет или Вас устроит ответ - можно?
15 май 18, 11:05    [21410109]     Ответить | Цитировать Сообщить модератору
 Re: Разбор XBRL в SQL Server  [new]
gnatochka
Member

Откуда: Kazan
Сообщений: 46
Конечно конкретная :)
Не знаю как фрагмент XBRL для примера написать. Два элемента написала ...

Как например считать из такой строки значения:
...
<uk-dic:NomerLiczenziiUk contextRef="A6">00-000-0-00000</uk-dic:NomerLiczenziiUk>

XPATH =
/xbrli:xbrl/uk-dic:NomerLiczenziiUk/text()
15 май 18, 11:13    [21410128]     Ответить | Цитировать Сообщить модератору
 Re: Разбор XBRL в SQL Server  [new]
gnatochka
Member

Откуда: Kazan
Сообщений: 46
По тегам нашла откуда что считывать, но
Select @xml_in.value('declare namespace xbrli="http://www.йцу.ru/йцу.21"
(/xbrli:xbrl/uk-dic:Den_sredstva_dolya_stoim_aktiv[7]/@contextRef', 'varchar(60)')


не получилось
15 май 18, 11:16    [21410136]     Ответить | Цитировать Сообщить модератору
 Re: Разбор XBRL в SQL Server  [new]
gnatochka
Member

Откуда: Kazan
Сообщений: 46
<xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:ins-dic="http://www.cbr.ru/xbrl/nso/ins/dic/ins-dic" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:mem-int="http://www.cbr.ru/xbrl/udr/dom/mem-int" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dim-int="http://www.cbr.ru/xbrl/udr/dim/dim-int" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cbr-coa-dic="http://www.cbr.ru/xbrl/eps/cbr-coa" xmlns:ifrs-ru="http://www.cbr.ru/xbrl/bfo/dict" xmlns:ifrs-full="http://xbrl.ifrs.org/taxonomy/2015-03-11/ifrs-full" xmlns:uk-dic="http://www.cbr.ru/xbrl/nso/uk/dic" xmlns:uk-dic0="http://www.cbr.ru/xbrl/nso/uk/dic" xmlns:purcb-dic="http://www.cbr.ru/xbrl/nso/purcb/dic/purcb-dic" xmlns:npf-dic="http://www.cbr.ru/xbrl/nso/npf/dic" xmlns:p0="http://www.cbr.ru/Ex1">
    <link:schemaRef xlink:type="simple" xlink:href="http://www.cbr.ru/xbrl/nso/***.xsd"/>

	<xbrli:context id="A6">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.cbr.ru">100000047857</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-01-01</xbrli:instant>
		</xbrli:period>
		<xbrli:scenario>
			<xbrldi:typedMember dimension="dim-int:IdAifPifTaxis">
				<dim-int:IdAifPif_TypedName>TTT-0000-00000000</dim-int:IdAifPif_TypedName>
			</xbrldi:typedMember>
			<xbrldi:typedMember dimension="dim-int:IdUkAifPifTaxis">
				<dim-int:IdUkAifPif_TypedName>УК1</dim-int:IdUkAifPif_TypedName>
			</xbrldi:typedMember>
		</xbrli:scenario>
	</xbrli:context>
	<xbrli:context id="A8">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.cbr.ru">100000047857</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-01-01</xbrli:instant>
		</xbrli:period>
		<xbrli:scenario>
			<xbrldi:explicitMember dimension="dim-int:DenezhnyeSredstvaAxis">mem-int:NaSchetaxPoDepozituVKreditnyxOrganizacziyaxMember</xbrldi:explicitMember>
			<xbrldi:typedMember dimension="dim-int:IdAifPifTaxis">
				<dim-int:IdAifPif_TypedName>TTT-0000-00000000 </dim-int:IdAifPif_TypedName>
			</xbrldi:typedMember>
		</xbrli:scenario>
	</xbrli:context>
	<xbrli:context id="A9">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.cbr.ru">100000047857</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-01-01</xbrli:instant>
		</xbrli:period>
		<xbrli:scenario>
			<xbrldi:explicitMember dimension="dim-int:DenezhnyeSredstvaAxis">mem-int:NaSchetaxPoDepozituVKreditnyxOrganizacziyaxMember</xbrldi:explicitMember>
			<xbrldi:typedMember dimension="dim-int:IdAifPifTaxis">
				<dim-int:IdAifPif_TypedName>TTT-0000-00000000 - Stimul</dim-int:IdAifPif_TypedName>
			</xbrldi:typedMember>
		</xbrli:scenario>
	</xbrli:context>
        <uk-dic:NomerLiczenziiUk contextRef="A6">00-000-0-00000</uk-dic:NomerLiczenziiUk>
	<uk-dic:Den_sredstva contextRef="A8" decimals="2" unitRef="RUB">0.00</uk-dic:Den_sredstva>
	<uk-dic:Den_sredstva contextRef="A9" decimals="2" unitRef="RUB">0</uk-dic:Den_sredstva>
</xbrli:xbrl>

Например так но не уверена что вырвала правильно из контекста.

Нужно считать Номер лицензии "NomerLiczenziiUk" и стоимость денежных средств для A8,A9
15 май 18, 11:36    [21410211]     Ответить | Цитировать Сообщить модератору
 Re: Разбор XBRL в SQL Server  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
gnatochka,

declare @somexml xml = '<xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:ins-dic="http://www.cbr.ru/xbrl/nso/ins/dic/ins-dic" xmlns:link="http://www.xbrl.org/2003/linkbase" 
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:mem-int="http://www.cbr.ru/xbrl/udr/dom/mem-int" 
xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dim-int="http://www.cbr.ru/xbrl/udr/dim/dim-int" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cbr-coa-dic="http://www.cbr.ru/xbrl/eps/cbr-coa" xmlns:ifrs-ru="http://www.cbr.ru/xbrl/bfo/dict" xmlns:ifrs-full="http://xbrl.ifrs.org/taxonomy/2015-03-11/ifrs-full" 
xmlns:uk-dic="http://www.cbr.ru/xbrl/nso/uk/dic" xmlns:uk-dic0="http://www.cbr.ru/xbrl/nso/uk/dic" xmlns:purcb-dic="http://www.cbr.ru/xbrl/nso/purcb/dic/purcb-dic" 
xmlns:npf-dic="http://www.cbr.ru/xbrl/nso/npf/dic" xmlns:p0="http://www.cbr.ru/Ex1">
    <link:schemaRef xlink:type="simple" xlink:href="http://www.cbr.ru/xbrl/nso/***.xsd"/>

	<xbrli:context id="A6">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.cbr.ru">100000047857</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-01-01</xbrli:instant>
		</xbrli:period>
		<xbrli:scenario>
			<xbrldi:typedMember dimension="dim-int:IdAifPifTaxis">
				<dim-int:IdAifPif_TypedName>TTT-0000-00000000</dim-int:IdAifPif_TypedName>
			</xbrldi:typedMember>
			<xbrldi:typedMember dimension="dim-int:IdUkAifPifTaxis">
				<dim-int:IdUkAifPif_TypedName>УК1</dim-int:IdUkAifPif_TypedName>
			</xbrldi:typedMember>
		</xbrli:scenario>
	</xbrli:context>
	<xbrli:context id="A8">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.cbr.ru">100000047857</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-01-01</xbrli:instant>
		</xbrli:period>
		<xbrli:scenario>
			<xbrldi:explicitMember dimension="dim-int:DenezhnyeSredstvaAxis">mem-int:NaSchetaxPoDepozituVKreditnyxOrganizacziyaxMember</xbrldi:explicitMember>
			<xbrldi:typedMember dimension="dim-int:IdAifPifTaxis">
				<dim-int:IdAifPif_TypedName>TTT-0000-00000000 </dim-int:IdAifPif_TypedName>
			</xbrldi:typedMember>
		</xbrli:scenario>
	</xbrli:context>
	<xbrli:context id="A9">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.cbr.ru">100000047857</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-01-01</xbrli:instant>
		</xbrli:period>
		<xbrli:scenario>
			<xbrldi:explicitMember dimension="dim-int:DenezhnyeSredstvaAxis">mem-int:NaSchetaxPoDepozituVKreditnyxOrganizacziyaxMember</xbrldi:explicitMember>
			<xbrldi:typedMember dimension="dim-int:IdAifPifTaxis">
				<dim-int:IdAifPif_TypedName>TTT-0000-00000000 - Stimul</dim-int:IdAifPif_TypedName>
			</xbrldi:typedMember>
		</xbrli:scenario>
	</xbrli:context>
        <uk-dic:NomerLiczenziiUk contextRef="A6">00-000-0-00000</uk-dic:NomerLiczenziiUk>
	<uk-dic:Den_sredstva contextRef="A8" decimals="2" unitRef="RUB">0.00</uk-dic:Den_sredstva>
	<uk-dic:Den_sredstva contextRef="A9" decimals="2" unitRef="RUB">0</uk-dic:Den_sredstva>
</xbrli:xbrl>';

WITH XMLNAMESPACES ('http://www.xbrl.org/2003/instance' as xbrli, 'http://www.cbr.ru/xbrl/nso/uk/dic' as [uk-dic])
select  t.c.value('(uk-dic:NomerLiczenziiUk/text())[1]', 'nvarchar(100)') as NomerLiczenziiUk, 
        t.c.value('(uk-dic:Den_sredstva[@contextRef="A8"]/text())[1]', 'money') as A8,
        t.c.value('(uk-dic:Den_sredstva[@contextRef="A9"]/text())[1]', 'money') as A9
from    @somexml.nodes('/xbrli:xbrl') as t(c)
15 май 18, 12:06    [21410305]     Ответить | Цитировать Сообщить модератору
 Re: Разбор XBRL в SQL Server  [new]
gnatochka
Member

Откуда: Kazan
Сообщений: 46
СПАСИБО!!!!
15 май 18, 12:19    [21410348]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить