Comment convertir une date en utilisant les fonctions DAX?

Je travaille sur un projet PowerPivot, et j'ai besoin de convertir une date en un autre format. My SQL Server Analysis Cube me fournit une dimension de time incluant un atsortingbut de date. Je veux le convertir en format dd / mm / aaaa pour créer une reference à une autre source de données (file Excel).

entrez la description de l'image ici

J'ai essayé de le convertir en utilisant des fonctions de date DAX standard, mais ce n'est pas reconnu comme une date, il semble que cela est dû au nom du jour ajouté en tant que préfixe. Comment puis-je le transformer en format dd / mm / aaaa? Comment extraire la sous-string après la virgule?

Merci !

J'ai utilisé datatables suivantes pour tester ma solution.

entrez la description de l'image ici

Vous pouvez utiliser la fonction SEARCH pour find la première instance d'une string. Je peux donc parsingr uniquement la partie de la date avec la formule suivante:

=right([Datefield],(LEN([Datefield])-SEARCH(",",[Datefield])-1)) 

Il obtient la sous-string commençant par le caractère après la virgule à travers la fin de la string.

La fonction DATEVALUE prend une string qui représente une date et la transforme en date. Je peux combiner cela avec ma fonction précédente:

 =datevalue(right([Datefield],(LEN([Datefield])-SEARCH(",",[Datefield])-1))) 

Dans l'image ci-dessous, la première colonne est la donnée originale. La deuxième colonne est la fonction qui parsing la sous-string pour la date. La troisième colonne prend la date de cette string de date dans la deuxième colonne. La quasortingème colonne est la formule tout en un à la fois la sous-string et la date-valeur.

entrez la description de l'image ici

Si vous chargez régulièrement datatables de la database, je vous suggère d'utiliser Power Query pour charger des données dans PowerPivot Module.

Voici l'exemple de code qui peut vous donner le résultat.

Les données ressemblent à ceci (tableau 2):

 Date Monday, January 12, 2014 Tuesday, January 13, 2014 Wednesday, January 14, 2014 
 let Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content], #"Split Column by Delimiter" = Table.SplitColumn(Source,"Date",Splitter.SplitTextByEachDelimiter({","}, null, false),{"Date.1", "Date.2"}), #"Change to Date Format" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Date.1", type text}, {"Date.2", type date}}), #"Removed Columns" = Table.RemoveColumns(#"Change to Date Format",{"Date.1"}) in #"Removed Columns" 

Comme l'a expliqué @mmarie, la formule suivante fonctionne bien (besoin de quelques modifications):

= datevalue (droite ([Datefield]; (LEN ([Datefield]) – SEARCH (","; [Datefield]) – 1)))