How Can We Help?
Jak użyć tablicy parametrów w PM?
Załóżmy, że w PM zdefiniowaliśmy słownik wielowartościowy z kluczem postaci “RRRR-MM”. Słownik ma cztery wartości, np st1,st2,st3,st4.
Możemy pobrać z niego wartości w taki sposób:
SELECT tab.okres, tab.st1, tab.st2, tab.st3, tab.st4 FROM (SELECT wiersz.ref.value('(Key/text())[1]', 'varchar(50)') AS okres, wart.ref.value('(anyType/text())[1]', 'decimal (18,2)') AS 'st1', wart.ref.value('(anyType/text())[2]', 'decimal (18,2)') AS 'st2', wart.ref.value('(anyType/text())[3]', 'decimal (18,2)') AS 'st3', wart.ref.value('(anyType/text())[4]', 'decimal (18,2)') AS 'st4' FROM PulpitMenedzerski.Dashboard.DictionaryItem i CROSS apply (SELECT cast(value AS xml)) AS X(X) CROSS apply X.X.nodes('MultiValueItem') AS wiersz(ref) CROSS apply wiersz.ref.nodes('Values') AS wart(ref) WHERE i.DictionaryId = 1 ) AS tab
Jeżeli z powyższego zapytania utworzymy widok, odwołanie do stawek będzie bardzo proste:
set @rok = year(cast (@okres+'-01' as date)); set @mies = month(cast (@okres+'-01' as date)); declare @st1 decimal (5,2), @st2 decimal(5,2) ,@st3 decimal (5,2), @st4 decimal (5,2); select @st1 = st1 , @st2 = st2 , @st3 = st3 , @st4 = st4 FROM vStawki where okres = @okres;