DAX Measure IF statement with Variables











up vote
0
down vote

favorite












I have a dax measure that adds a thousands separator to my card totals in Power BI, converting them to a string (I am also including a currency symbol in another measure to the same card which is why it needs to be a string).



I want to add an if statement that will say if the total amount is < 1000, then remove the thousands separator from the total. Currently numbers like £500 appear with the separator before the total e.g.

,£500. Here is the code:



Card Total = 
VAR right =
RIGHT ( [Total Amount], 3 )
VAR left =
SUBSTITUTE ( [Total Amount] , right, "" )
RETURN
COMBINEVALUES ( ",", left, right )









share|improve this question


















  • 1




    Possible duplicate of Power Bi - Add thousands separator to cards
    – Alexis Olson
    Nov 18 at 16:13















up vote
0
down vote

favorite












I have a dax measure that adds a thousands separator to my card totals in Power BI, converting them to a string (I am also including a currency symbol in another measure to the same card which is why it needs to be a string).



I want to add an if statement that will say if the total amount is < 1000, then remove the thousands separator from the total. Currently numbers like £500 appear with the separator before the total e.g.

,£500. Here is the code:



Card Total = 
VAR right =
RIGHT ( [Total Amount], 3 )
VAR left =
SUBSTITUTE ( [Total Amount] , right, "" )
RETURN
COMBINEVALUES ( ",", left, right )









share|improve this question


















  • 1




    Possible duplicate of Power Bi - Add thousands separator to cards
    – Alexis Olson
    Nov 18 at 16:13













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I have a dax measure that adds a thousands separator to my card totals in Power BI, converting them to a string (I am also including a currency symbol in another measure to the same card which is why it needs to be a string).



I want to add an if statement that will say if the total amount is < 1000, then remove the thousands separator from the total. Currently numbers like £500 appear with the separator before the total e.g.

,£500. Here is the code:



Card Total = 
VAR right =
RIGHT ( [Total Amount], 3 )
VAR left =
SUBSTITUTE ( [Total Amount] , right, "" )
RETURN
COMBINEVALUES ( ",", left, right )









share|improve this question













I have a dax measure that adds a thousands separator to my card totals in Power BI, converting them to a string (I am also including a currency symbol in another measure to the same card which is why it needs to be a string).



I want to add an if statement that will say if the total amount is < 1000, then remove the thousands separator from the total. Currently numbers like £500 appear with the separator before the total e.g.

,£500. Here is the code:



Card Total = 
VAR right =
RIGHT ( [Total Amount], 3 )
VAR left =
SUBSTITUTE ( [Total Amount] , right, "" )
RETURN
COMBINEVALUES ( ",", left, right )






if-statement powerbi dax






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 18 at 14:04









Pete

761114




761114








  • 1




    Possible duplicate of Power Bi - Add thousands separator to cards
    – Alexis Olson
    Nov 18 at 16:13














  • 1




    Possible duplicate of Power Bi - Add thousands separator to cards
    – Alexis Olson
    Nov 18 at 16:13








1




1




Possible duplicate of Power Bi - Add thousands separator to cards
– Alexis Olson
Nov 18 at 16:13




Possible duplicate of Power Bi - Add thousands separator to cards
– Alexis Olson
Nov 18 at 16:13












1 Answer
1






active

oldest

votes

















up vote
0
down vote













The following measure will not include a comma when the total is under 1000. I don't know how large the values you're working with are, but if they exceed 6 digits you'll also want to add additional commas where necessary.



Card Total = 
VAR RIGHT =
RIGHT ( [Total Amount], 3 )
VAR LEFT =
SUBSTITUTE ( [Total Amount] , RIGHT, "" )
RETURN
IF (
[Total Amount] < 1000
RIGHT,
COMBINEVALUES ( ",", LEFT, RIGHT )
)





share|improve this answer





















  • The Total Amount measure is a string because I have joined a currency symbol to the total. Is it possible to adapt the above code to work with a string rather than an integer using VALUE or FORMAT functions? I tried adding "" to the 1000 however this just limits the total to three characters.
    – Pete
    Nov 20 at 20:30











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53361753%2fdax-measure-if-statement-with-variables%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
0
down vote













The following measure will not include a comma when the total is under 1000. I don't know how large the values you're working with are, but if they exceed 6 digits you'll also want to add additional commas where necessary.



Card Total = 
VAR RIGHT =
RIGHT ( [Total Amount], 3 )
VAR LEFT =
SUBSTITUTE ( [Total Amount] , RIGHT, "" )
RETURN
IF (
[Total Amount] < 1000
RIGHT,
COMBINEVALUES ( ",", LEFT, RIGHT )
)





share|improve this answer





















  • The Total Amount measure is a string because I have joined a currency symbol to the total. Is it possible to adapt the above code to work with a string rather than an integer using VALUE or FORMAT functions? I tried adding "" to the 1000 however this just limits the total to three characters.
    – Pete
    Nov 20 at 20:30















up vote
0
down vote













The following measure will not include a comma when the total is under 1000. I don't know how large the values you're working with are, but if they exceed 6 digits you'll also want to add additional commas where necessary.



Card Total = 
VAR RIGHT =
RIGHT ( [Total Amount], 3 )
VAR LEFT =
SUBSTITUTE ( [Total Amount] , RIGHT, "" )
RETURN
IF (
[Total Amount] < 1000
RIGHT,
COMBINEVALUES ( ",", LEFT, RIGHT )
)





share|improve this answer





















  • The Total Amount measure is a string because I have joined a currency symbol to the total. Is it possible to adapt the above code to work with a string rather than an integer using VALUE or FORMAT functions? I tried adding "" to the 1000 however this just limits the total to three characters.
    – Pete
    Nov 20 at 20:30













up vote
0
down vote










up vote
0
down vote









The following measure will not include a comma when the total is under 1000. I don't know how large the values you're working with are, but if they exceed 6 digits you'll also want to add additional commas where necessary.



Card Total = 
VAR RIGHT =
RIGHT ( [Total Amount], 3 )
VAR LEFT =
SUBSTITUTE ( [Total Amount] , RIGHT, "" )
RETURN
IF (
[Total Amount] < 1000
RIGHT,
COMBINEVALUES ( ",", LEFT, RIGHT )
)





share|improve this answer












The following measure will not include a comma when the total is under 1000. I don't know how large the values you're working with are, but if they exceed 6 digits you'll also want to add additional commas where necessary.



Card Total = 
VAR RIGHT =
RIGHT ( [Total Amount], 3 )
VAR LEFT =
SUBSTITUTE ( [Total Amount] , RIGHT, "" )
RETURN
IF (
[Total Amount] < 1000
RIGHT,
COMBINEVALUES ( ",", LEFT, RIGHT )
)






share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 20 at 18:24









userfl89

1,01159




1,01159












  • The Total Amount measure is a string because I have joined a currency symbol to the total. Is it possible to adapt the above code to work with a string rather than an integer using VALUE or FORMAT functions? I tried adding "" to the 1000 however this just limits the total to three characters.
    – Pete
    Nov 20 at 20:30


















  • The Total Amount measure is a string because I have joined a currency symbol to the total. Is it possible to adapt the above code to work with a string rather than an integer using VALUE or FORMAT functions? I tried adding "" to the 1000 however this just limits the total to three characters.
    – Pete
    Nov 20 at 20:30
















The Total Amount measure is a string because I have joined a currency symbol to the total. Is it possible to adapt the above code to work with a string rather than an integer using VALUE or FORMAT functions? I tried adding "" to the 1000 however this just limits the total to three characters.
– Pete
Nov 20 at 20:30




The Total Amount measure is a string because I have joined a currency symbol to the total. Is it possible to adapt the above code to work with a string rather than an integer using VALUE or FORMAT functions? I tried adding "" to the 1000 however this just limits the total to three characters.
– Pete
Nov 20 at 20:30


















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53361753%2fdax-measure-if-statement-with-variables%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Create new schema in PostgreSQL using DBeaver

Deepest pit of an array with Javascript: test on Codility

Costa Masnaga