SSAS 2017 - оператор IF в вычисленной мере с условием из таблицы dim - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь получить сумму столбца таблицы фактов на основе значения столбца таблицы измерений. то есть.

If Dim_Product[Origin]="A" 
THEN SUM(Fact_Connectivity[MONITOR_CNT]) 
ELSE 
SUM(Fact_Connectivity[TLA_MONITOR_CNT]). 

Я использую приведенную ниже формулу:

Adoption %:= IF(Dim_Product[Origin]="A",
SUM(Fact_Connectivity[MONITOR_CNT]),
SUM(Fact_Connectivity[TLA_MONITOR_CNT]))

Но я не смог использовать поля формулы Dim_Product [Origin] в формуле, хотя таблица фактов связана с таблицей Dim.

1 Ответ

0 голосов
/ 08 ноября 2019

Вы не можете напрямую использовать его в мере, в необработанном виде или в связанном виде, вам придется обернуть его чем-то, чтобы определить контекст строки.

Так, например,

Measure = IF(MAX('Dim Origin'[Origin]) = "A"
          , SUM('Table'[Monitor_cnt])
          , SUM('Table'[TLA_Monitior_cnt])
          )

enter image description here

Таким образом, для каждой строки будет приниматься значение MAX для этой строки, затем применяется функция. КАК строка будет иметь только одно значение, с которым работает логика.

Вы также можете переместить это значение в вычисляемый столбец.

Надеюсь, что это поможет

...