Forum Discussion

Lexey's avatar
Lexey
Helper I
8 years ago
Solved

error with VALUES

Colleagues, Daxers need help!
there is a table with the works and cost http://prntscr.com/j5mbxu for each building


There is a planned budget, I do the small analysis on distribution of current costs and I try to impose it on the plan BUT if in the filter I choose one object everything is OK if two

 

Error Message:
MdxScript (Model) (13, 50) Calculation error in measure 'Management_Timesheets'[Values of budget]: a table of multiple values was supplied where a single value was expected. the formula which distributes the interest :


Values of budget = VALUES(Management_Timesheets[Contract amount (EUR)])* [Procentage]

Procentage = [ Honorar]/ CALCULATE([ Honorar]; ALLSELECTED(Management_Timesheets))

 

Ask for help!

  • Hi Lexey,

     

    The issue here is your aggregation level, using the all fact table to make your percentage when you add several columns from your table it will give you the total cost divided by all the slice and dices so not 100% per column. Because you are making it at a Jobs level you need to calculated it at that level so you need to change your percentage to:

     

    Procentage = CALCULATE([total cost] / CALCULATE([total cost]; ALL('fact'[jobs])))

    Other issue is Budget value you are making a sumX of the plan and then multiplying that sumx by the porcentage on SUMX the calculations are made line by line and then summed so you need to calculate for each cost line the percentage value and then do the sum you need to change it to:

     

    Values of budget = SUMX(plan;plan[plan] * [Procentage])

    See result am PBIX file below:

     

    Regards,

    MFelix

14 Replies

  • Коллегам, Даксеру нужна помощь!
    есть таблица с работами и стоимость  http://prntscr.com/j5mbxu для каждого здания


    Существует запланированный бюджет, я делаю небольшой анализ распределения текущих расходов, и я пытаюсь навязать его по плану, но если в фильтре я выбираю один объект, все в порядке, если два

    Сообщение об ошибке:
    MdxScript (модель) (13, 50) Ошибка вычисления в измерении 'Management_Timesheets' [Значения бюджета]: была представлена ​​таблица с несколькими значениями, где ожидалось одно значение.

     

    формулу, которая распределяет проценты:
    Значения бюджета = VALUES (Management_Timesheets [Сумма контракта (EUR)]) * [Процент]

     

    Процент = [Honorar] / РАСЧЕТ ([Honorar]; ALLSELECTED (Management_Timesheets))

     

     

    Попросить помощи!

  • Hi Lexey,

     

    Without better information is difficult to get your error, but from the Error message and the measures I'm pointing to Values of Budget you are getting the VALUES and multiplying it by a percentage this will give you error since for a measure you need to a single value based on context like the measure is you are getting all the values and not giving it any context.

     

    If you want to calculate a single value per contract maybe you should try a SUMX for your calculations that will make an interaction per each row of your tables.

     

    However in order to help you better you must provide some sample data and expected result, the screenshot is not elucidative and neither are your measures regarding the model and the setup you have.

     

    Regards,

    MFelix

    • Lexey's avatar
      Lexey
      Helper I

      I prepared the file. https://drive.google.com/open?id=1NfAeo4P2d9axo-0znBtYJ1bU_skKJWP7
      The problem 1-distribute the planning budget in the ratio as it is now distributed running costs, if you choose one building. All expenses of one building is 100%, the distribution between works as a percentage.


      Problem 2-when I select two buildings in the slicer, the total percentage of 100% starts to be distributed between the two buildings 46% and 64% . How to fix 100% of each building. 

      need help

      • MFelix's avatar
        MFelix
        Super User

        Hi Lexey,

         

        The issue here is your aggregation level, using the all fact table to make your percentage when you add several columns from your table it will give you the total cost divided by all the slice and dices so not 100% per column. Because you are making it at a Jobs level you need to calculated it at that level so you need to change your percentage to:

         

        Procentage = CALCULATE([total cost] / CALCULATE([total cost]; ALL('fact'[jobs])))

        Other issue is Budget value you are making a sumX of the plan and then multiplying that sumx by the porcentage on SUMX the calculations are made line by line and then summed so you need to calculate for each cost line the percentage value and then do the sum you need to change it to:

         

        Values of budget = SUMX(plan;plan[plan] * [Procentage])

        See result am PBIX file below:

         

        Regards,

        MFelix