UPDATE: разрешение должно было выполнить процесс, полный на уровне базы данных, а не на уровне раздела.Результаты запроса MDX на отсутствующий partion - Tabular 2012
Я пытаюсь понять поведение, которое я наблюдаю, с помощью запроса табличной модели. Я разделяю поквартально, поэтому, когда в начале этого квартала я построил новый раздел «текущий квартал», раздел, который использовался для хранения 2016-Q4, был перезаписан 2017-Q1. Затем, когда я выполнил свой MDX-запрос против фильтрации табличной модели в измерении даты для 2016-Q4, вместо того, чтобы возвращать ничего, как я ожидал, он возвращал данные из самого старого раздела 2014-Q1. Это похоже на то, что вместо того, чтобы возвращать никакие данные, он решает вернуть «первую запись» для этого измерения (в этом случае все даты, где 07/01/2014). Каждое другое измерение, которое я фильтровал, по-прежнему выполнялось так, как ожидалось.
Есть ли у кого-нибудь идеи относительно того, почему он ведет себя таким образом? FYI, я попытался реструктуризации мое MDX заявление несколько различных способов:
SELECT
NON EMPTY { [Measures].[Measure1]} ON COLUMNS,
NON EMPTY { ([Dimension].[Dimension1])} DIMENSION PROPERTIES member_caption, member_unique_name ON ROWS
FROM [Model] WHERE ([Dimension].[Dimension2].&[Value], [DateDimension].[DateDimension].&[Value1] : [DateDimension].[DateDimension].&[Value2])
И
SELECT
NON EMPTY { [Measures].[Measure1]} ON COLUMNS,
NON EMPTY { (except([Dimension].[Dimension1].members,[Dimension].[Dimension1].[all]))} DIMENSION PROPERTIES member_caption, member_unique_name ON ROWS
FROM (SELECT ([Dimension].[Dimension1].&[Value]) ON COLUMNS
FROM (SELECT ([Dimension].[Dimension2].&[Value]) ON COLUMNS
FROM (SELECT ([DateDimension].[DateDimension].&[Value1] : [DateDimension].[DateDimension].&[Value2]) ON COLUMNS
FROM [Model])))
Edit: добавлен пример реального MDX
SELECT
NON EMPTY { [Measures].[ConvertedNetRevenue],
[Measures].[LoadConvertedNetRevenue],
[Measures].[OrderConvertedNetRevenue],
[Measures].[TotalOrderBrokerageCount],
[Measures].[TotalLoadBrokerageCount]
} ON COLUMNS,
NON EMPTY {
(
except([BrokerageQuery].[KeyBranch].members,[BrokerageQuery].[KeyBranch].[all]),
except([BrokerageQuery].[LoadNumber].members,[BrokerageQuery].[LoadNumber].[all]),
except([BrokerageQuery].[CustomerOrderNumber].members,[BrokerageQuery].[CustomerOrderNumber].[all]),
except([BrokerageQuery].[BranchName].members,[BrokerageQuery].[BranchName].[all]),
except([BrokerageQuery].[BranchCode].members,[BrokerageQuery].[BranchCode].[all]),
except([BrokerageQuery].[BranchRoleDescription].members,[BrokerageQuery].[BranchRoleDescription].[all]),
except([BrokerageQuery].[ModeDescription].members,[BrokerageQuery].[ModeDescription].[all]),
except([BrokerageQuery].[ServiceTypeDescription].members,[BrokerageQuery].[ServiceTypeDescription].[all]),
except([BrokerageQuery].[SystemDisplayName].members,[BrokerageQuery].[SystemDisplayName].[all]),
except([BrokerageQuery].[IsPartialFinLock].members,[BrokerageQuery].[IsPartialFinLock].[all]),
except([BrokerageQuery].[KeyDate_Financial].members,[BrokerageQuery].[KeyDate_Financial].[all])
)
} DIMENSION PROPERTIES member_caption, member_unique_name ON ROWS
FROM (SELECT
(
{
[dimCurrency].[CurrencyCode].&[USD]
}
) ON COLUMNS
FROM (SELECT
(
{
{
[BrokerageQuery].[KeyBranch].[10279]
}
}
) ON COLUMNS
FROM (SELECT
(
[BrokerageQuery].[KeyDate_Financial].&[20161106] :
[BrokerageQuery].[KeyDate_Financial].&[20161106]
) ON COLUMNS
FROM [Brokerage])))
Можете ли вы включить свой фактический запрос MDX дословно? Я предполагаю, что у вас нет реального, так как он говорит Value1? – GregGalloway
Уверен, обновлено с помощью фактического MDX. Я подозреваю, что это не обязательно проблема с MDX, а скорее, как Tabular обрабатывает «отсутствующие» данные, имеет ли это смысл? – ECHR
Если вы просто запустили следующую часть запроса, что она возвращает? Я проверяю эту дату. SELECT ([BrokerageQuery]. [KeyDate_Financial]. & [20161106]: [BrokerageQuery]. [KeyDate_Financial]. & [20161106]) В КОЛОНКАХ ИЗ [Брокерский] – GregGalloway