skip to main content
Power BI
    • What is Power BI
    • Why Power BI
    • Customer stories
    • Data visuals
    • Security
    • Power BI Desktop
    • Power BI Pro
    • Power BI Premium
    • Power BI Mobile
    • Power BI Embedded
    • Power BI Report Server
  • Pricing
    • Azure + Power BI
    • Office 365 + Power BI
      • Energy
      • Healthcare
      • Manufacturing
      • Media
      • Retail
    • For analysts
    • For IT
      • Overview
      • Embedded analytics
      • Power BI visuals
      • Automation
      • Documentation
      • Community
    • Overview
    • Find consulting services
    • Partner showcase
    • Find a partner
    • Become a partner
    • Instructor-led training
    • Getting started
      • Overview
      • Online workshops
      • Self-guided learning
      • Webinars
      • Documentation
      • Roadmap
      • Overview
      • Issues
      • Give feedback
    • Blog
    • Business intelligence topics
    • Overview
    • Forums
    • Galleries
    • Submit ideas
    • Events
    • User groups
    • Community blog
    • Register
    • ·
    • Sign in
    • ·
    • Help
    Go To
    • Galleries
    • Community Connections & How-To Videos
    • COVID-19 Data Stories Gallery
    • Themes Gallery
    • Data Stories Gallery
    • R Script Showcase
    • Webinars and Video Gallery
    • Quick Measures Gallery
    • 2021 MSBizAppsSummit Gallery
    • 2020 MSBizAppsSummit Gallery
    • 2019 MSBizAppsSummit Gallery
    cancel
    Turn on suggestions
    Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
    Showing results for 
    Search instead for 
    Did you mean: 
    • Microsoft Power BI Community
    • Galleries
    • Quick Measures Gallery
    • DDB

    DDB

    05-09-2020 22:23 PM - last edited 05-09-2020 22:23 PM

    Super User Greg_Deckler
    Super User
    417 Views
    LinkedIn LinkedIn Facebook Facebook Twitter Twitter
    Greg_Deckler
    Super User Greg_Deckler
    Super User
    • Mark as New
    • Bookmark
    • Subscribe
    • Mute
    • Subscribe to RSS Feed
    • Permalink
    • Print
    • Email to a Friend
    • Report Inappropriate Content

    DDB

    ‎05-09-2020 10:23 PM

    In my recent quest to create or catalog as many DAX equivalents for Excel functions, as with DB, because DDB involves recursion, there is no "clean" DAX solution, it's ugly and you have to use reasonable maximum. 😞

     

    DDB = 
        VAR __Cost = [Cost]
        VAR __Salvage = [Salvage]
        VAR __Life = [Life] * MAX('Table'[Lifetime Multiplier])
        VAR __Period = MAX('Table'[Period])
        VAR __Factor = IF(ISBLANK(MAX('Table'[Factor])),2,MAX('Table'[Factor]))
        VAR __Rate = __Factor / __Life
        VAR __Table1 = { (1, MINX( { (__Cost - 0) * __Rate, __Cost - __Salvage - 0 },[Value]) ) }
        VAR __Table2 = { (2, MINX( { (__Cost - SUMX(__Table1,[Value2])) * __Rate, __Cost - __Salvage - SUMX(__Table1,[Value2]) },[Value])) }
        VAR __Table3 = { (3, MINX( { (__Cost - SUMX(UNION(__Table1,__Table2),[Value2])) * __Rate, __Cost - __Salvage - SUMX(UNION(__Table1,__Table2),[Value2]) },[Value])) }
        VAR __Table4 = { (4,  MINX( { (__Cost - SUMX(UNION(__Table1,__Table2,__Table3),[Value2])) * __Rate, __Cost - __Salvage - SUMX(UNION(__Table1,__Table2,__Table3),[Value2]) },[Value])) }
        VAR __Table5 = { (5, MINX( { (__Cost - SUMX(UNION(__Table1,__Table2,__Table3,__Table4),[Value2])) * __Rate, __Cost - __Salvage - SUMX(UNION(__Table1,__Table2,__Table3,__Table4),[Value2]) },[Value])) }
        VAR __Table6 = { (6, MINX( { (__Cost - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5),[Value2])) * __Rate, __Cost - __Salvage - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5),[Value2]) },[Value])) }
        VAR __Table7 = { (7, MINX( { (__Cost - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6),[Value2])) * __Rate, __Cost - __Salvage - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6),[Value2]) },[Value])) }
        VAR __Table8 = { (8, MINX( { (__Cost - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6,__Table7),[Value2])) * __Rate, __Cost - __Salvage - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6,__Table7),[Value2]) },[Value])) }
        VAR __Table9 = { (9, MINX( { (__Cost - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6,__Table7,__Table8),[Value2])) * __Rate, __Cost - __Salvage - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6,__Table7,__Table8),[Value2]) },[Value])) }
        VAR __Table10 = { (10, MINX( { (__Cost - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6,__Table7,__Table8,__Table9),[Value2])) * __Rate, __Cost - __Salvage - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6,__Table7,__Table8,__Table9),[Value2]) },[Value])) }
       VAR __Table11 = { (11, MINX( { (__Cost - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6,__Table7,__Table8,__Table9,__Table10),[Value2])) * __Rate, __Cost - __Salvage - SUMX(UNION(__Table1,__Table2,__Table3,__Table4,__Table5,__Table6,__Table7,__Table8,__Table9,__Table10),[Value2]) },[Value])) }
        VAR __Table = UNION(__Table11,__Table10, __Table9,__Table8,__Table7,__Table6,__Table5,__Table4,__Table3,__Table2,__Table1)
    RETURN
        MAXX(FILTER(__Table,[Value1] = __Period),[Value2])

     

     

     

    eyJrIjoiODdiOTIyOGItMGIwMC00NDQ4LTkzNmUtMDcyNGM1MTMyZWZkIiwidCI6IjRhMDQyNzQzLTM3M2EtNDNkMi04MjdiLTAwM2Y0YzdiYTFlNSIsImMiOjN9


    @ me in replies or I'll lose your thread!!!
    Become an expert!: Enterprise DNA
    External Tools: MSHGQM
    YouTube Channel!: Microsoft Hates Greg
    Latest book!:
    Learn Power BI 2nd Edition
    Preview file
    1257 KB
    DDB.pbix
    Labels:
    • Labels:
    • Financial
    Message 1 of 1
    417 Views
    0
    Reply
    • All forum topics
    • Previous Topic
    • Next Topic

    Power Platform

    • Overview
    • Power BI
    • Power Apps
    • Power Automate
    • Power Virtual Agents

    • Sign in
    • Sign up

    Browse

    • Solutions
    • Partners
    • Consulting Services

    Downloads

    • Power BI Desktop
    • Power BI Mobile
    • Power BI Report Server
    • See all downloads

    Learn

    • Guided learning
    • Documentation
    • Support
    • Community
    • Give feedback
    • Webinars
    • Developers
    • Blog
    • Newsletter

    © 2022 Microsoft

    Follow Power BI

    • Privacy & cookies
    • Manage cookies
    • Terms of use
    • Trademarks