Расчетный столбец, показывающий круговую зависимость, когда ее нет. Как исправить? - PullRequest
0 голосов
/ 05 июня 2019

Таблица 1: «История акций» - у меня есть некоторые исторические дневные данные по фондовому рынку для некоторых компаний / акций, такие как название акции, символ, цена закрытия за день и т. Д. Таблица 2. «Рыночная капитализация». В другой таблице я получил информацию о рыночной капитализации акций по состоянию на 31 января 2019 года.

Теперь я пытаюсь выяснить общее количество акций компании на рынке. Формула проста ... NoOfShares = [Рыночная капитализация] / [Цена акций]

Итак, что я сделал, это: 1. Добавлен расчетный столбец в таблицу «Рыночная капитализация» для получения цены акций компании по состоянию на 31 января 2019 года. Это отлично работает.

SharePriceOnJan31 = 
CALCULATE
(
    SUM('Stocks History'[Close])
    , CROSSFILTER(MarketCap[NSESymbol],'Stocks History'[NSESymbol],Both)
    , 'Stocks History'[Date] = date(2019,01,31)
)
  1. Еще один вычисленный столбец добавлен в таблицу «рыночная капитализация» для получения количества акций
#OfShares = DIVIDE(MarketCap[Market Cap (INR)],MarketCap[SharePriceOnJan31])

Теперь, во второй формуле я получаю ошибку циклической зависимости, и я не могу обернуться вокруг нее, почему ... по крайней мере, я не вижу здесь циклической связи. Ошибка: Обнаружена специфическая зависимость: MarketCap [SharePriceOnJan31], MarketCap [#OfShares], MarketCap [SharePriceOnJan31]

Ниже приведена модель данных, если она помогает.

Снимок экрана с ошибкой

Модель данных

Любая помощь или объяснение приветствуется. Спасибо.

1 Ответ

0 голосов
/ 05 июня 2019

Мне удалось исправить это, удалив условие CROSSFILTER в 1-й формуле.На самом деле двунаправленная связь между двумя таблицами уже была определена в модели данных.Поэтому, когда я попытался установить его снова в Формуле ... он установил Круговую Зависимость.

Новый Код для Формулы 1 (просто удаляет условие CROSSFILTER)

SharePriceOnJan31 = 
CALCULATE
(
    SUM('Stocks History'[Close])
    , 'Stocks History'[Date] = date(2019,01,31)
)
...