powerbi - Power Query 问题中的 IF 函数
问题描述
我在 Power Query 中有这张表:
我想做一个 if 函数:
= if[quantitée facturée]=1 = [quantité retournée] = 1 then 1 else 0
但我不明白为什么函数的每个结果都是“0”,即使quantité facturée
=/quantité retournée
我也试过:
= if [quantitée facturée]=1 and [quantité retournée]=1 then 1 else 0
= if [quantitée facturée]=1 or [quantité retournée]=1 then 1 else 0
= if [quantitée facturée] = [quantité retournée] then 1 else 0
= if [quantitée facturée] <> [quantité retournée] then 1 else 0
我寻求每次客户退回已交付的订单并将其视为中性交付
这是我使用上述功能得到的结果:
有任何想法吗?
编辑:M代码:
let
Source = Excel.Workbook()
EXPBLLT1_Sheet = Source{[Item="EXPBLLT1",Kind="Sheet"]}[Data],
#"En-têtes promus" = Table.PromoteHeaders(EXPBLLT1_Sheet, [PromoteAllScalars=true]),
#"Type modifié" = Table.TransformColumnTypes(#"En-têtes promus",{{"CODART", type text}, {"LIBELL", type text}, {"QLIVRE", Int64.Type}, {"NUMSER", type text}, {"SORPCE_A", type text}, {"CODCLI", type text}, {"RAISOC", type text}, {"NUMDOC", type text}, {"CODOBJ", type text}, {"CHRONO", Int64.Type}, {"ENTPCE", type text}, {"ENTMVT", type text}, {"SORPCE_B", type text}, {"SORMVT", type text}, {"DATEMV", type date}, {"SORPMR", type text}, {"BL", type text}, {"NUM_CDE", type text}, {"CHIRURGIEN", type text}, {"CODREP", type text}, {"PATIENT", type text}, {"DATE_INTER", type date}, {"ENTDAT", type date}, {"SORDAT", type date}, {"EMPDES", type text}, {"LIBFOU", type text}, {"BL 2", Int64.Type}, {"Compteur BL", Int64.Type}, {"année.mois inter", type date}, {"Mouvement", type text}}),
#"Personnalisée ajoutée" = Table.AddColumn(#"Type modifié", "Quantité facturée", each [SORMVT]="700"),
#"Type modifié1" = Table.TransformColumnTypes(#"Personnalisée ajoutée",{{"Quantité facturée", Int64.Type}}),
#"Personnalisée ajoutée1" = Table.AddColumn(#"Type modifié1", "Quantitée retournée", each [ENTMVT]="610"),
#"Type modifié2" = Table.TransformColumnTypes(#"Personnalisée ajoutée1",{{"Quantitée retournée", Int64.Type}}),
#"Lignes filtrées" = Table.SelectRows(#"Type modifié2", each true),
#"Personnalisée ajoutée2" = Table.AddColumn(#"Lignes filtrées", "Quantité retournée", each [SORMVT]="610"),
#"Type modifié3" = Table.TransformColumnTypes(#"Personnalisée ajoutée2",{{"Quantité retournée", type number}, {"Quantitée retournée", type text}}),
#"Colonnes supprimées" = Table.RemoveColumns(#"Type modifié3",{"Quantité facturée", "Quantitée retournée", "Quantité retournée"}),
#"Personnalisée ajoutée3" = Table.AddColumn(#"Colonnes supprimées", "quantitée facturée", each [SORMVT]="700"),
#"Personnalisée ajoutée4" = Table.AddColumn(#"Personnalisée ajoutée3", "quantitée livrée", each [ENTMVT]="610"),
#"Personnalisée ajoutée5" = Table.AddColumn(#"Personnalisée ajoutée4", "quantité retournée", each [SORMVT]="610"),
#"Personnalisée ajoutée6" = Table.AddColumn(#"Personnalisée ajoutée5", "Livraison blanche", each if [quantitée livrée] = [quantité retournée] then 1 else 0),
#"Type modifié4" = Table.TransformColumnTypes(#"Personnalisée ajoutée6",{{"Livraison blanche", type text}}),
#"Colonnes supprimées1" = Table.RemoveColumns(#"Type modifié4",{"Livraison blanche"}),
#"Personnalisée ajoutée7" = Table.AddColumn(#"Colonnes supprimées1", "Livraison blanche", each if [ENTMVT]="710" = [SORMVT]="700" then 1 else 0),
#"Type modifié5" = Table.TransformColumnTypes(#"Personnalisée ajoutée7",{{"Livraison blanche", Int64.Type}}),
#"Lignes filtrées2" = Table.SelectRows(#"Type modifié5", each true),
#"Colonnes supprimées2" = Table.RemoveColumns(#"Lignes filtrées2",{"Livraison blanche"}),
#"Personnalisée ajoutée8" = Table.AddColumn(#"Colonnes supprimées2", "Livraisons blanches", each if [ENTMVT]="610" = [SORMVT]="700" then 1 else 0),
#"Lignes filtrées1" = Table.SelectRows(#"Personnalisée ajoutée8", each true),
#"Colonnes supprimées3" = Table.RemoveColumns(#"Lignes filtrées1",{"Livraisons blanches"}),
#"Personnalisée ajoutée10" = Table.AddColumn(#"Colonnes supprimées3", "Livraisons blanches", each if [quantitée livrée]="TRUE" = [quantité retournée]="TRUE" then 1 else 0),
#"Type modifié6" = Table.TransformColumnTypes(#"Personnalisée ajoutée10",{{"quantitée facturée", Int64.Type}, {"quantitée livrée", Int64.Type}, {"quantité retournée", Int64.Type}}),
#"Colonnes supprimées4" = Table.RemoveColumns(#"Type modifié6",{"Livraisons blanches"}),
#"Personnalisée ajoutée9" = Table.AddColumn(#"Colonnes supprimées4", "Livraisons blanches", each if [quantitée livrée]=1 = [quantité retournée]=1 then "1" else "0"),
#"Colonnes supprimées5" = Table.RemoveColumns(#"Personnalisée ajoutée9",{"Livraisons blanches"}),
#"Personnalisée ajoutée11" = Table.AddColumn(#"Colonnes supprimées5", "Livraisons blanches", each if[quantitée livrée]=1 =[quantité retournée]=1 then 1 else 5),
#"Colonnes supprimées6" = Table.RemoveColumns(#"Personnalisée ajoutée11",{"Livraisons blanches"}),
#"Personnalisée ajoutée12" = Table.AddColumn(#"Colonnes supprimées6", "Livraisons blanches )", each if[quantitée facturée]=1 = [quantité retournée] = 1 then 1 else 0),
#"Type modifié7" = Table.TransformColumnTypes(#"Personnalisée ajoutée12",{{"Livraisons blanches )", Int64.Type}}),
#"Lignes filtrées3" = Table.SelectRows(#"Type modifié7", each true),
#"Colonnes supprimées7" = Table.RemoveColumns(#"Lignes filtrées3",{"Livraisons blanches )"}),
#"Personnalisée ajoutée13" = Table.AddColumn(#"Colonnes supprimées7", "Livraisons blanches", each if [quantitée facturée]=1 and [quantité retournée]=1 then 1 else 0),
#"Colonnes supprimées8" = Table.RemoveColumns(#"Personnalisée ajoutée13",{"Livraisons blanches"}),
#"Colonne conditionnelle ajoutée" = Table.AddColumn(#"Colonnes supprimées8", "Livraisons blanches", each if [quantitée livrée] = 0 then 0 else if [quantitée livrée] = [quantité retournée] then 1 else 0),
#"Colonne conditionnelle ajoutée1" = Table.AddColumn(#"Colonne conditionnelle ajoutée", "quantité retournée test", each if [SORMVT] = "610" then 1 else 0),
#"Colonne conditionnelle ajoutée2" = Table.AddColumn(#"Colonne conditionnelle ajoutée1", "quantité facturée test", each if [SORMVT] = "700" then 1 else 0),
#"Colonne conditionnelle ajoutée3" = Table.AddColumn(#"Colonne conditionnelle ajoutée2", "quantitée livrée test", each if [ENTMVT] = "610" then 1 else 0),
#"Colonnes supprimées9" = Table.RemoveColumns(#"Colonne conditionnelle ajoutée3",{"quantitée facturée", "quantitée livrée", "quantité retournée"}),
#"Colonnes renommées" = Table.RenameColumns(#"Colonnes supprimées9",{{"quantité retournée test", "quantité retournée"}, {"quantité facturée test", "quantité facturée"}, {"quantitée livrée test", "quantitée livrée"}}),
#"Colonnes permutées" = Table.ReorderColumns(#"Colonnes renommées",{"CODART", "LIBELL", "QLIVRE", "NUMSER", "SORPCE_A", "CODCLI", "RAISOC", "NUMDOC", "CODOBJ", "CHRONO", "ENTPCE", "ENTMVT", "SORPCE_B", "SORMVT", "DATEMV", "SORPMR", "BL", "NUM_CDE", "CHIRURGIEN", "CODREP", "PATIENT", "DATE_INTER", "ENTDAT", "SORDAT", "EMPDES", "LIBFOU", "BL 2", "Compteur BL", "année.mois inter", "Mouvement", "quantitée livrée", "quantité retournée", "quantité facturée", "Livraisons blanches"}),
#"Colonnes supprimées10" = Table.RemoveColumns(#"Colonnes permutées",{"Livraisons blanches"}),
#"Colonne conditionnelle ajoutée4" = Table.AddColumn(#"Colonnes supprimées10", "Livraisons blanches", each if [quantitée livrée] = 0 then 0 else if [quantitée livrée] = [quantité retournée] then 1 else 0),
#"Type modifié9" = Table.TransformColumnTypes(#"Colonne conditionnelle ajoutée4",{{"quantitée livrée", Int64.Type}}),
#"Lignes filtrées5" = Table.SelectRows(#"Type modifié9", each true),
#"Type modifié10" = Table.TransformColumnTypes(#"Lignes filtrées5",{{"quantité facturée", Int64.Type}, {"quantité retournée", Int64.Type}, {"Livraisons blanches", Int64.Type}}),
#"Lignes filtrées4" = Table.SelectRows(#"Type modifié10", each true),
#"Type modifié8" = Table.TransformColumnTypes(#"Lignes filtrées4",{{"Livraisons blanches", Int64.Type}}),
#"Duplication de la colonne" = Table.DuplicateColumn(#"Type modifié8", "DATEMV", "DATEMV - Copier"),
#"Fractionner la colonne par délimiteur" = Table.SplitColumn(Table.TransformColumnTypes(#"Duplication de la colonne", {{"DATEMV - Copier", type text}}, "fr-FR"), "DATEMV - Copier", Splitter.SplitTextByEachDelimiter({"/"}, QuoteStyle.Csv, true), {"DATEMV - Copier.1", "DATEMV - Copier.2"}),
#"Type modifié11" = Table.TransformColumnTypes(#"Fractionner la colonne par délimiteur",{{"DATEMV - Copier.1", type date}, {"DATEMV - Copier.2", Int64.Type}}),
#"Colonnes supprimées11" = Table.RemoveColumns(#"Type modifié11",{"DATEMV - Copier.1"}),
#"Colonnes renommées1" = Table.RenameColumns(#"Colonnes supprimées11",{{"DATEMV - Copier.2", "Année"}}),
#"Type modifié12" = Table.TransformColumnTypes(#"Colonnes renommées1",{{"Année", type text}})
in
#"Type modifié12"
解决方案
很难说出您在寻找什么,但自定义列公式的潜在版本是
= if [quantitée facturée]=1 and [quantité retournée]=1 then 1 else 0
= if [quantitée facturée]=1 或 [quantité retournée]=1 then 1 else 0
= if [quantitée facturée] = [quantité retournée] then 1 else 0
= if [quantitée facturée] <> [quantité retournée] then 1 else 0
推荐阅读
- nimbella-commander - 在 Slack 上使用 nimbella 指挥官时如何处理不同的语言?
- sql - 如果函数的参数与列名相同怎么办
- android - 如何在片段开头显示插页式广告?
- javascript - 地图内的Javascript Fetch
- android - 通过 Flutter 应用程序在移动应用程序中访问指纹扫描仪
- c - cl:编译时间与运行时间:inf 与 -nan(ind)
- ios - 应用程序传输安全详细信息不起作用 ios 14.1
- uwp - 如何使用 ResoureDictionary 设置页面背景颜色?
- mongodb - MONGODB:检索与子文档相同的集合中的父文档
- ruby-on-rails - Rails zip数组按列匹配