Przy zapisie zwrotnym czyli writback z serwera OLAP tworzona jest tabela do przechowywania wpisów. Problem z tą tabela jest taki, że może być usuwana i zakładana wielokrotnie a wtedy zmieniają się nazwy kolumn.
Więc aby połączyć dane pierwotne z wpisami użytkownika trzeba łączyć dwie tabele pobierając właśnie dane z tabeli gdzie mogą się zmienić nazwy kolumn. Dlatego odczyt z tej tabeli mniej więcej wygląda tak:
DECLARE @strFactTableName nvarchar(300)
DECLARE @SQL nvarchar(max)
DECLARE @strColumnName_MPK nvarchar(300)
DECLARE @strColumnName_Ilość nvarchar(300)
SET @strFactTableName = 'KOSZTY'
IF EXISTS (SELECT DISTINCT * FROM dbo.sysobjects where name LIKE @strTableName + '%')
BEGIN
SELECT @strColumnName_MPK = COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '' + @strTableName + '' AND COLUMN_NAME LIKE 'MPK%'
SELECT @strColumnName_Ilość = COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '' + @strTableName + '' AND COLUMN_NAME LIKE 'Ilość%'
END
SET @SQL = 'SELECT SUM('+@strColumnName_Ilość+'), '+@strColumnName_MPK+', FROM '+@strTableName
EXEC (@SQL)
I tu pojawia się problem gdy próbuje na podstawie tego zbudować widok (: