Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Ошибка Query при синтаксическом анализе строки...в кубе не был найден объект уровня...
 
Всех приветствую. Помогите разобраться почему стала возникать подобная ошибка и где искать косяк?
Помогите разобраться с кодом меры
 
Всех приветствуют. Раньше писал на подобную тему, с таблицами и моделью данных я разобрался, возникла проблема с мерой.
Помогите правильно написать код.
Нужно подчитать суммы у людей с уникальными ID внутри того времени, пока они находились на контракте КД
Я никак не могу побороть условие с соотношением времени((
Очень прошу помощи, Пример с моделью данных и мерой я приложил

Сумма вне контракта = VAR Table2 = ADDCOLUMNS(    SUMMARIZE(
       'Таблица1'
       ,'Таблица1'[ID пациента]
       ,'Таблица1'[ID Договора]
       ,'Таблица1'[Дата начала]
       ,'Таблица1'[Дата окончания]
   )
   ,"Sum",calculate(
       SUM('Таблица1'[Сумма к опл2.]
       )
   )
)
VAR SumofContract = CALCULATE(
   SUM('Table2'[Sum]
    )
   ,DATESBETWEEN(
       'Calendar'[Date]
       ,'Table2'[Дата начала]
       ,'Table2'[Дата окончания]
   )
   ,ALL('Таблица1'[Тип дог.]
   )
)
Return
SumofContract - CALCULATE(
   SUM(
   'Таблица1'[Сумма к опл2.]
   )
)
Изменено: Николай - 13.01.2024 22:48:35
DAX Подсчет данных со сложным фильтром или что-то нужно менять в модели данных ((
 
Разобрался
Изменено: Николай - 13.01.2024 20:00:34
DAX Подсчет данных со сложным фильтром или что-то нужно менять в модели данных ((
 
Спасибо за ответ.
Цитата
написал:
Вам бы вначале немного почитать про модели данных в PP.
Я в Dax не так давно и как все, пытаюсь самостоятельно разобраться, прочитал книгу и чем глубже влезаю, тем непонятнее становится.

Модель сделал. Для себя написал примерный алгоритм действия для меры:
1.Сформировать таблицу1 1\ id пациента \ типы договора \ сумма услуги \ дата услуги \ дата начала договора \ дата окончания договора без учета внешних фильтров (в примере так и сделал, по факту столбцов в ней намного больше)
2. для каждого id договора у каждого id пациента сформировать таблицу дат1 в которые нужно считать услуги
3. отфильтровать таблицу1 по таблице дат1 тем самым для каждого id договора у каждого id пациента получить стоимость услуг
4. для каждого id контракта подсчитать сумму услуг по типу договора КД
5. для каждого id договора вычислить сумму полученную сверх типа договора КД

Очень прошу помощи с мерой
DAX Подсчет данных со сложным фильтром или что-то нужно менять в модели данных ((
 
Я попробовал решить ее через перезалив данных, сделал, одну большую таблицу. Внизу пример.
Помогите пожалуйста с мерами.

=CALCULATE(SUM('Таблица1'[Сумма к опл2.]);DATESBETWEEN('Calendar'[Date];'Таблица1'[Дата начала];'Таблица1'[Дата окончания])) никак не хочет работать. Мне бы получить суммы контрактных пациентов вне контракта с учетом срока контракта.

Внешние фильтры по типу договора КД и строки по названию контракта  
Изменено: Николай - 12.01.2024 00:08:53
DAX Подсчет данных со сложным фильтром или что-то нужно менять в модели данных ((
 
Добрый день.
Ранее обращался за помощью по подсчету сумм сверх контракта  - решение было таким -
=(CALCULATE (
   SUM([Сумма к опл2.]);ALL('Слияние1  2'[Тип дог.]);
   'Слияние1  2'[ID пациента] IN VALUES ( 'Слияние1  2'[ID пациента] ) ))-[Выручка по услугам]
Сейчас ситуация усложнилась и усложнилась сильно. Добавилась еще одна таблица с данными (без уникальных значений) где фигурируют ID договоров и два столбца с периодом начала и окончания контракта.
Таблицы в модели данных между собой не связаны. Из вводных данных: пациенты могут обслуживаться в разных филиалах и проходить по разным типам оплаты (КД или Амб например). Если тип оплаты КД (в 1 таблице), то во второй таблице будет ID договора и сроки начала и окончания и услуга курации по этому договору. Если тип Амб (то данных во второй таблице на них не будет).

Голову я ломаю над 2 задачами:
1. Нужна мера, которая будет считать суммы, которые пациенты находящиеся на контрактах заплатили за оказанные услуги сверх этого контракта (то есть тип оплаты Амб или сертификат или депозит...), с учетом времени действия контракта. То есть если контракт закончился в январе, а пациент получал дополнительные услуги в январе и феврале, то учесть нужно только январь.
2. Вторая мера сложнее - нужно по каждому договору подчитать услуги только по контракту и добавить туда услуги курации с учетом времени действия контракта.

Сейчас я использую две сводных таблицы в экселе, одна имеет фильтр по типу оплаты КД и группируется по филиалам, вторая дает еще детализацию по самим типам контрактов.

Буду очень признателен за любую помощь. Я могу перезагрузить всю модель данных и спаять две этих таблицы в одну, но это займет безумно много времени, потому что там данных за много лет.
DAX Подсчет уникальных значений через подстановку значений
 
Цитата
написал:
ожно так:Кодmeasure :=
COUNTROWS (
   FILTER (
       VALUES ( data[ID] );
       NOT ISEMPTY ( CALCULATETABLE ( data; data[type of contract] = "A" ) )
           && NOT ISEMPTY ( CALCULATETABLE ( data; data[type of contract] <> "A" ) )
   )
)
Так тоже все работает, спасибо огромное!)
DAX Подсчет уникальных значений через подстановку значений
 
Цитата
написал:
жно еще так попробовать. В этой  теме  решал похожую задачуКод=var _kol_dogovor = 2
var _select = CROSSJOIN(VALUES('Таблица1'[id]); {"A";"C"})
var _tab = SUMMARIZE('Таблица1'; 'Таблица1'[id];'Таблица1'[dogovor])
var _intersect= INTERSECT( _tab;_select)
var _addcol = ADDCOLUMNS(VALUES('Таблица1'[id]);
           "Kol";  
               var _tov =  'Таблица1'[id]
               return
               COUNTROWS(FILTER(_intersect;'Таблица1'[id]=_tov)))
return
   COUNTROWS( FILTER(_addcol;[Kol] = _kol_dogovor))
Спасибо большое, все заработало!!!! Для себя много нового почерпнул, спасибо еще раз!)
DAX Подсчет уникальных значений через подстановку значений
 
Цитата
написал:
Можно еще так попробовать. В этой  теме  решал похожую задачу
Ого спасибо большое, мне кажется там задачка должна как-то просто решаться(((
DAX Подсчет уникальных значений через подстановку значений
 
Цитата
написал:
Можно так:Кодmeasure :=
COUNTROWS (
   FILTER (
       VALUES ( data[ID] );
       NOT ISEMPTY ( CALCULATETABLE ( data; data[type of contract] = "A" ) )
           && NOT ISEMPTY ( CALCULATETABLE ( data; data[type of contract] <> "A" ) )
   )
)
ого спасибо, я так не думал, а можно попросить расписать логику, какую Вы сюда закладываете?
DAX Подсчет уникальных значений через подстановку значений
 
Цитата
написал:
значит что-то делаете не так. Или модель данных не правильная, или еще что-то. Без примера гадать бысмысленно.

Спасибо огромное за помощь, я понимаю что где-то в формуле условие или контекст ввожу некорректно. Пример ниже прикрепил.
Изменено: Николай - 22.12.2023 09:04:09
DAX Подсчет уникальных значений через подстановку значений
 
Цитата
написал:
Кодмера =
CALCULATE(
    DISTINCOUNT('Table[ID]');
    FILTER('table';
        'table[dogovor] = "A"
        && 'table[dogovor] = "C"
    )
)
Я пробовал таким образом только прописывал условие  =
CALCULATE(DISTINCOUNT('Table[ID]');ALL('table[dogovor]);FILTER('table';'table[dogovor] = "A"&& 'table[dogovor] <> "А"))

При этом ставил внешний фильтр по А, добавлял ALL по фильтру что бы снять его для создания таблицы в которой нужно искать и ставить условия что все договора А, кто заключал и другие договора. Но она не работает(((( никаких значений не находит. И мне кажется это логично, нету же строк которые одновременно имеет вписанный тип говора А и любой другой.
Изменено: Николай - 22.12.2023 07:24:24
DAX Подсчет уникальных значений через подстановку значений
 
Я пробовал через IN VALUES и через фильтр, но не могу подобрать правильный контекст
Изменено: Николай - 21.12.2023 23:42:37
DAX Подсчет уникальных значений через подстановку значений
 
Доброго времени суток. Прошу помощи.  Допустим есть простая таблица с 2 колонками, ID человека и тип договора допустим А, B, C, D и тд, у каждого ID может быть несколько типов договоров.
Как вычислить уникальное количество ID у которых допустим есть договор А и С?
Немного уточню запрос - Цель вычислить сколько уникальных ID с договором А имеет еще любой другой тип договора.
Изменено: Николай - 22.12.2023 07:19:23
DAX Подсчет данных со сложным фильтром
 
Да это же пример, там много типов оплат, на больших массивах информации dax очень выручает.
Я написал формулу через calculate in values, без детализации договора работает. Но если сделать как в примере, то не могу додумать, как отразить правильные значения.
DAX Подсчет данных со сложным фильтром
 
Добрый день знатоки. Нужна ваша помощь. Есть таблица с разными условиями оплаты по договорам. Как написать меру в DAX что бы внутри каждого выведенного названия договора (типа договора и кфио владельца формировалась сумма услуг по договору сверх того, что вошло в оплату по типу оплаты КД (в приме три договора, на самом деле их много. Внешний фильтр по временной шкале, в самой таблице сводной фильтр по типу договора)
Вопрос по DAX, Помогите с синтаксисом формулы
 
Добрый день знатоки, нужна помощь, как в фильтре указать системе, что ей нужно фильтровать текст только по первому слову - например в таблице есть значения дерево зеленое, дерево желтое, цветок зеленый, нужно найти только деревья. Как в такой ситуации правильно написать синтаксис? "дерево*"?
Вычисление первичности в Power Pivot, Нужна помощь в написании меры
 
Большое спасибо, все работает
Вычисление первичности в Power Pivot, Нужна помощь в написании меры
 
Добрый день, прошу помочь написать меру.
Есть столбцы дата-продукт-покупатель-отдел. Нужна мера которая позволит подсчитать количество покупателей, которые впервые осуществили покупки и раскидать это по месяцам. Отделы и время буду задаваться внешними фильтрами.
Заранее огромное, человеческое спасибо за помощь.
Подсчет возвращаемости в power pivot
 
Господа знатоки, всех снова приветствую. Помогите пожалуйста разобраться со следующей задачкой.

Маленький пример во вложении. Люди обращаются за услугами, отмечается факт первичного обращения, при повторном обращении система помечает первичность как - нет. Нужно подсчитать количество уникальных первичных фио вернувшихся через 2 месяца...

В оригинальном файле пробовал таким образом, но выдает какую-то ерунду(((.

=CALCULATE (DISTINCTCOUNT('Слияние1  2'[Ф.И.О.]);ALL('талоны'[Первичность]);
   'Слияние1  2'[Ф.И.О.] IN VALUES ( 'Слияние1  2'[Ф.И.О.] );DATEADD('Calendar'[Date];-2;MONTH) )
DAX Подсчет данных со сложным фильтром
 
Добрый вечер, я остановился на первом варианте, спасибо большое за помощь
Цитата
написал:
Николай, а какое решение подошло-то?
Совсем разные варианты мы с Михаил Л дали
И если детализация до типа договора не нужна (а именно нужна общая сумма по ФИО, у которых есть выбранный тип договора), то лучше взять решение Михаил Л
DAX Подсчет данных со сложным фильтром
 
Супер!!!! Все работает, спасибо огромное!
DAX Подсчет данных со сложным фильтром
 
CALCULATE(SUM('Слияние1  2'[Сумма к опл2.]);FILTER(ALL('Слияние1  2'[Тип дог.]);FILTER(FILTER(ALL('Слияние1  2'[Тип дог.]);'Слияние1  2'[Тип дог.]="КД");VALUES('Слияние1  2'[Ф.И.О.]))))

Попробовал еще таким образом, тоже не сработало((
Изменено: Николай - 26.01.2023 00:22:34
DAX Подсчет данных со сложным фильтром
 
Как я понимаю, нужно отфильтровать уникальные фио, с учетом внешнего фильтра кд и подать этот столбец с данными как фильтр для подсчета суммы по столбцу с выручкой, но при условии сброшенного фильтра по столбцу с договорами. Я запутался что за чем нужно подставить в формуле(
DAX Подсчет данных со сложным фильтром
 
Цитата
написал:
Николай, а пример-то где?
По Вашему описанию, у Вас
а) лишнее условие фильтра DISTINCT('Слияние1  2'[Ф.И.О.])  (откуда Вы вообще взяли, что это нужно засовывать в изменение контекста фильтра?!);
б) Вы "сбиваете" контекст фильтра по договору третьим аргументом ALL('Слияние1  2'[Тип дог.])

То есть по описанию (без примера):
Код
    [URL=#]?[/URL]       1  2  3  4  5      meas:=    CALCULATE (         SUM (   'Слияние1  2'[Сумма к опл2.] );         ALL (   'Слияние1  2'[Ф.И.О.])    )   
 

Только по Вашему написанию без ":" Вы это в вычисляемом столбце считаете. Там по-другому будет

Без примера я далее не помогаю
Спасибо за ответ, вот пример
DAX Подсчет данных со сложным фильтром
 
Добрый день Проблема такая: есть столбцы с данными ФИО тип договора и сумма к оплате (выручка). Как найти сумму оплаты (выручку) с определенным типом договора (В примере - Амб, но есть и другие - СК, КД и тд)?
У одной уникальной ФИО может быть несколько типов договоров, не могу написать меру которая будет считать выручку по абсолютно всем типам договоров, но только у тех ФИО, которые были с типом договора КД (этот параметр будет задаваться внешним фильтром)  

Пробовал таким образом, но не получилось((
=CALCULATE(SUM('Слияние1  2'[Сумма к опл2.]);DISTINCT('Слияние1  2'[Ф.И.О.]);ALL('Слияние1  2'[Тип дог.]))

Прошу помощи
Страницы: 1
Наверх