2014-06-19 6 views
0

Я не знаю ABCDs MDX. У меня есть этот запрос, который был передан мне моим предшественником и что он нужен только один раз в год! Это время года, случается, сейчас! Запрос запускается и возвращает результаты. Однако я не могу скопировать результат вместе с именами строк и столбцов из окна результатов SSAS.Результаты MDX для Excel в Power Pivot

Googling Я нашел варианты связанных серверов, установив параметры запроса, чтобы сохранить результат как csv и т. Д., Используя пакеты SSIS и PowerPivot.

Первые два из-за ограничений на БД невозможны. Мне нужно пройти кучу корпоративных препятствий, чтобы получить необходимые разрешения.

Пакеты SSIS и Power Pivot - имеют ту же проблему. «BUD» - это именованный набор, на который он ссылается в нижеприведенном фильтре в предложении select. Оба SSIS (при вводе в OLEDB Source) вызывают ошибку - размер [BUD] не найден.

Работая с PowerPivot, я выполнил команду set create отдельно, а затем вставил только код после 'WITH'. Ошибка была: размер [BUD] не найден.

Любая помощь в том, как ссылаться на BUD в инструкции select для Power Pivot или SSIS? Я использую sqlsever2008r2.

Эта процедура -

create set [DB1].BUD AS 
nonemptycrossjoin(

    {[Market].[Markets].&[Europe].children,[Market].[Markets].[Part of World].&[Africa].children}, 
    [Product].[PL].&[CD] : [Product].[PL].&[KZ], 
    [Plant].[Plant].children 
) go 


with 

member measures.callsCY1 as 
/* Lot of measure calutaions here */ 

select 
non empty 
{ 
[Measures].[Qty Sold], 
callsCY1,costCY1,MTRLcostCY1,LabourCostCY1, 
SCR_C,callsRY1,costRY1,MTRLcostRY1,LabourCostRY1, 
callsCY2,costCY2,MTRLcostCY2,LabourCostCY2, 
callsRY2,costRY2,MTRLcostRY2,LabourCostRY2, 
callsCY3,costCY3,MTRLcostCY3,LabourCostCY3, 
callsRY3,costRY3,MTRLcostRY3,LabourCostRY3 
} 
* 
{[Report Period].[Report Periods].[Quarter].&[2013-01-01T00:00:00] : [Report Period].[Report Periods].[Quarter].&[2014-06-01T00:00:00]} 
on 0, 
non empty 
filter(
bud, [Measures].[Qty Sold] <> 0 OR [Measures].[QTY Service Calls] <> 0) 
on 1 
from [db1] 

ответ

1

ли бутон необходимости быть индивидуальными? Разве вы не можете использовать это?

with 
set [BUD] AS 
nonemptycrossjoin(

    {[Market].[Markets].&[Europe].children,[Market].[Markets].[Part of World].&[Africa].children}, 
    [Product].[PL].&[CD] : [Product].[PL].&[KZ], 
    [Plant].[Plant].children 
) 
member measures.callsCY1 as 
/* Lot of measure calutaions here */ 

select 
non empty 
{ 
[Measures].[Qty Sold], 
callsCY1,costCY1,MTRLcostCY1,LabourCostCY1, 
SCR_C,callsRY1,costRY1,MTRLcostRY1,LabourCostRY1, 
callsCY2,costCY2,MTRLcostCY2,LabourCostCY2, 
callsRY2,costRY2,MTRLcostRY2,LabourCostRY2, 
callsCY3,costCY3,MTRLcostCY3,LabourCostCY3, 
callsRY3,costRY3,MTRLcostRY3,LabourCostRY3 
} 
* 
{[Report Period].[Report Periods].[Quarter].&[2013-01-01T00:00:00] : [Report Period].[Report Periods].[Quarter].&[2014-06-01T00:00:00]} 
on 0, 
non empty 
filter(
bud, [Measures].[Qty Sold] <> 0 OR [Measures].[QTY Service Calls] <> 0) 
on 1 
from [db1] 
+0

Спасибо за ответ. Заявление отлично выполняется в SSMS. При запуске запроса в PowerPivot я получаю эту ошибку: Переполнение данных в тип данных для столбца «Query» столбца «MeasuresSCR_CReport PeriodReport PeriodsQuarter2014-04-01T000000». Текущая операция была отменена, потому что другая операция в транзакции завершилась с ошибкой. Что это значит? Должен ли я изменить настройки по умолчанию в Excel? – SKa

+0

@SKa извиняется, но мои знания о PowerPivot в настоящее время не существуют. Этот парень chris Webb является лидером в этой области, и, возможно, в его блоге есть ответ: https://cwebbbi.wordpress.com/category/powerpivot/. Если запрос выполняется в SSMS, но ошибки на стороне PP, я думаю, что ваше предположение о том, что проблема является стороной Excel, вероятно, является правильным. – whytheq

+0

Тем не менее спасибо @whytheq – SKa

Смежные вопросы