<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Optimization of my DAX code in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Optimization-of-my-DAX-code/m-p/3419077#M129410</link>
    <description>&lt;P&gt;hello all,&lt;/P&gt;&lt;P&gt;This query seems a little bit more efficient:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;EVALUATE
    VAR u = UNION (
        SUMMARIZE ( computer , computer[computer.cn]),
        SUMMARIZE ( DevicesWithInventory , DevicesWithInventory[DeviceName2])
    	)
RETURN
    SUMMARIZE (
        u,computer[computer.cn],
        "Device ID",
        	VAR sComputer =LOOKUPVALUE(computer[Device ID],computer[computer.cn],[computer.cn],BLANK())
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[Device ID],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer)					
        	,
        "ClientType",
        	VAR sComputer =LOOKUPVALUE(computer[ClientType],computer[computer.cn],[computer.cn],BLANK())
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[PCStatus],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer),
        "OperatingSystem", 
        	VAR sComputer = LOOKUPVALUE(computer[computer.operatingSystem],computer[computer.cn],[computer.cn],BLANK())
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[OperatingSystem],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer),
        "PCStatus",
        	VAR sComputer =LOOKUPVALUE(computer[PCStatus],computer[computer.cn],[computer.cn],BLANK())
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[Device state],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer),
        "User ID",
        	/*VAR sComputer =LOOKUPVALUE(User[UserID],computer[computer.cn],[computer.cn],BLANK())*/
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[UserID],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	/*SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer)*/
        	sDeviceInventory&lt;/LI-CODE&gt;</description>
    <pubDate>Thu, 07 Sep 2023 06:49:36 GMT</pubDate>
    <dc:creator>DGPBi</dc:creator>
    <dc:date>2023-09-07T06:49:36Z</dc:date>
    <item>
      <title>Optimization of my DAX code</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Optimization-of-my-DAX-code/m-p/3418013#M129355</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm trying to create a new table from 2 other tables without any relationship between them.&lt;/P&gt;&lt;P&gt;The goal is to add all distinct Computer name from the 2 tables and add some selected columns from them too.&lt;/P&gt;&lt;P&gt;After that I need to select some info from 1 column of 1 of the tables. Column names in tables can have the same column name or can be different.&lt;/P&gt;&lt;P&gt;My code works but I have more or less 15 other columns to add and I'm not sure my code is the best one ...&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you help me to optimize it please ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;EVALUATE&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;VAR&lt;/SPAN&gt; u = &lt;SPAN&gt;UNION&lt;/SPAN&gt; &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;SUMMARIZE&lt;/SPAN&gt; &lt;SPAN&gt;(&lt;/SPAN&gt; Computer , &lt;SPAN&gt;computer[computer.cn]&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;SUMMARIZE&lt;/SPAN&gt; &lt;SPAN&gt;(&lt;/SPAN&gt; DevicesWithInventory , &lt;SPAN&gt;DevicesWithInventory[DeviceName2]&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;RETURN&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;SUMMARIZE&lt;/SPAN&gt; &lt;SPAN&gt;(&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;u,&lt;SPAN&gt;computer[computer.cn]&lt;/SPAN&gt;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;"ClientType"&lt;/SPAN&gt;,&lt;SPAN&gt;IF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;LEN&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;LOOKUPVALUE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;computer[ClientType]&lt;/SPAN&gt;,&lt;SPAN&gt;computer[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;BLANK&lt;/SPAN&gt;&lt;SPAN&gt;()))&lt;/SPAN&gt;=&lt;SPAN&gt;0&lt;/SPAN&gt;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;LOOKUPVALUE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;DevicesWithInventory[PCStatus]&lt;/SPAN&gt;,&lt;SPAN&gt;DevicesWithInventory[DeviceName2]&lt;/SPAN&gt;,&lt;SPAN&gt;[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;BLANK&lt;/SPAN&gt;&lt;SPAN&gt;())&lt;/SPAN&gt;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;LOOKUPVALUE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;computer[ClientType]&lt;/SPAN&gt;,&lt;SPAN&gt;computer[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;BLANK&lt;/SPAN&gt;&lt;SPAN&gt;()))&lt;/SPAN&gt;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;"operatingSystem"&lt;/SPAN&gt;,&lt;SPAN&gt;IF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;LEN&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;LOOKUPVALUE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;computer[computer.operatingSystem]&lt;/SPAN&gt;,&lt;SPAN&gt;computer[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;BLANK&lt;/SPAN&gt;&lt;SPAN&gt;()))&lt;/SPAN&gt;=&lt;SPAN&gt;0&lt;/SPAN&gt;,&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;LOOKUPVALUE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;DevicesWithInventory[OperatingSystem]&lt;/SPAN&gt;,&lt;SPAN&gt;DevicesWithInventory[DeviceName2]&lt;/SPAN&gt;,&lt;SPAN&gt;[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;BLANK&lt;/SPAN&gt;&lt;SPAN&gt;())&lt;/SPAN&gt;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;LOOKUPVALUE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;computer[computer.operatingSystem]&lt;/SPAN&gt;,&lt;SPAN&gt;computer[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;[computer.cn]&lt;/SPAN&gt;,&lt;SPAN&gt;BLANK&lt;/SPAN&gt;&lt;SPAN&gt;()))&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Sep 2023 15:06:18 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Optimization-of-my-DAX-code/m-p/3418013#M129355</guid>
      <dc:creator>DGPBi</dc:creator>
      <dc:date>2023-09-06T15:06:18Z</dc:date>
    </item>
    <item>
      <title>Re: Optimization of my DAX code</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Optimization-of-my-DAX-code/m-p/3419077#M129410</link>
      <description>&lt;P&gt;hello all,&lt;/P&gt;&lt;P&gt;This query seems a little bit more efficient:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;EVALUATE
    VAR u = UNION (
        SUMMARIZE ( computer , computer[computer.cn]),
        SUMMARIZE ( DevicesWithInventory , DevicesWithInventory[DeviceName2])
    	)
RETURN
    SUMMARIZE (
        u,computer[computer.cn],
        "Device ID",
        	VAR sComputer =LOOKUPVALUE(computer[Device ID],computer[computer.cn],[computer.cn],BLANK())
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[Device ID],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer)					
        	,
        "ClientType",
        	VAR sComputer =LOOKUPVALUE(computer[ClientType],computer[computer.cn],[computer.cn],BLANK())
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[PCStatus],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer),
        "OperatingSystem", 
        	VAR sComputer = LOOKUPVALUE(computer[computer.operatingSystem],computer[computer.cn],[computer.cn],BLANK())
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[OperatingSystem],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer),
        "PCStatus",
        	VAR sComputer =LOOKUPVALUE(computer[PCStatus],computer[computer.cn],[computer.cn],BLANK())
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[Device state],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer),
        "User ID",
        	/*VAR sComputer =LOOKUPVALUE(User[UserID],computer[computer.cn],[computer.cn],BLANK())*/
        	VAR sDeviceInventory = LOOKUPVALUE(DevicesWithInventory[UserID],DevicesWithInventory[DeviceName2],[computer.cn],BLANK())
        	RETURN
        	/*SWITCH(TRUE,LEN(sComputer)=0,sDeviceInventory,sComputer)*/
        	sDeviceInventory&lt;/LI-CODE&gt;</description>
      <pubDate>Thu, 07 Sep 2023 06:49:36 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Optimization-of-my-DAX-code/m-p/3419077#M129410</guid>
      <dc:creator>DGPBi</dc:creator>
      <dc:date>2023-09-07T06:49:36Z</dc:date>
    </item>
  </channel>
</rss>

